diff options
Diffstat (limited to 'vendors/dokuwiki/lib/plugins/s5reloaded/ui')
1060 files changed, 84320 insertions, 0 deletions
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/license.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/license.txt new file mode 100755 index 000000000..1a17182fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/license.txt @@ -0,0 +1,29 @@ +Software License Agreement (BSD License)
+
+Copyright (c) 2007, Scott Schiller (schillmania.com)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice, this
+ list of conditions and the following disclaimer in the documentation and/or
+ other materials provided with the distribution.
+
+* Neither the name of schillmania.com nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission from schillmania.com.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/null.mp3 b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/null.mp3 Binary files differnew file mode 100755 index 000000000..43cc6135d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/null.mp3 diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/soundmanager2.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/soundmanager2.js new file mode 100644 index 000000000..9095b5de3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/soundmanager2.js @@ -0,0 +1,658 @@ +/*
+ SoundManager 2: Javascript Sound for the Web.
+ --------------------------------------------------
+ http://www.schillmania.com/projects/soundmanager2/
+
+ Copyright (c) 2007, Scott Schiller. All rights reserved.
+ Code licensed under the BSD License:
+ http://www.schillmania.com/projects/soundmanager2/license.txt
+
+ Beta V2.0b.20070118
+*/
+
+function SoundManager(smURL,smID) {
+ var self = this;
+ this.enabled = false;
+ this.o = null;
+ this.url = (smURL||s5Path+'ui/audio_support/soundmanager2.swf');
+ this.id = (smID||'sm2movie');
+ this.oMC = null;
+ this.sounds = [];
+ this.soundIDs = [];
+ this.allowPolling = true; // allow flash to poll for status update (required for "while playing", "progress" etc. to work.)
+ this.isIE = (navigator.userAgent.match(/MSIE/));
+ this.isSafari = (navigator.userAgent.match(/safari/i));
+ this._didAppend = false;
+ this._didInit = false;
+ this._disabled = false;
+ this.version = 'V2.0b.20070118';
+
+ this.defaultOptions = {
+ // -----------------
+ 'debugMode': false, // enable debug/status messaging, handy for development/troubleshooting - will be written to a DIV with an ID of "soundmanager-debug", you can use CSS to make it pretty
+ 'autoLoad': false, // enable automatic loading (otherwise .load() will be called on demand with .play(), the latter being nicer on bandwidth - if you want to .load yourself, you also can)
+ 'stream': true, // allows playing before entire file has loaded (recommended)
+ 'autoPlay': false, // enable playing of file as soon as possible (much faster if "stream" is true)
+ 'onid3': null, // callback function for "ID3 data is added/available"
+ 'onload': null, // callback function for "load finished"
+ 'whileloading': null, // callback function for "download progress update" (X of Y bytes received)
+ 'onplay': null, // callback for "play" start
+ 'whileplaying': null, // callback during play (position update)
+ 'onstop': null, // callback for "user stop"
+ 'onfinish': null, // callback function for "sound finished playing"
+ 'onbeforefinish': null, // callback for "before sound finished playing (at [time])"
+ 'onbeforefinishtime': 2000, // offset (milliseconds) before end of sound to trigger beforefinish (eg. 1000 msec = 1 second)
+ 'onbeforefinishcomplete':null, // function to call when said sound finishes playing
+ 'onjustbeforefinish':null, // callback for [n] msec before end of current sound
+ 'onjustbeforefinishtime':200, // [n] - if not using, set to 0 (or null handler) and event will not fire.
+ 'multiShot': true, // let sounds "restart" or layer on top of each other when played multiple times, rather than one-shot/one at a time
+ 'pan': 0, // "pan" settings, left-to-right, -100 to 100
+ 'volume': 100, // self-explanatory. 0-100, the latter being the max.
+ // -----------------
+ 'foo': 'bar' // you don't need to change this one - it's actually an intentional filler.
+ }
+
+ // --- public methods ---
+
+ this.getMovie = function(smID) {
+ // return self.isIE?window[smID]:document[smID];
+ return self.isIE?window[smID]:(self.isSafari?document[smID+'-embed']:document.getElementById(smID+'-embed'));
+ }
+
+ this.loadFromXML = function(sXmlUrl) {
+ try {
+ self.o._loadFromXML(sXmlUrl);
+ } catch(e) {
+ self._failSafely();
+ return true;
+ }
+ }
+
+ this.createSound = function(oOptions) {
+ if (!self._didInit) throw new Error('soundManager.createSound(): Not loaded yet - wait for soundManager.onload() before calling sound-related methods');
+ if (arguments.length==2) {
+ // function overloading in JS! :) ..assume simple createSound(id,url) use case
+ oOptions = {'id':arguments[0],'url':arguments[1]}
+ }
+ var thisOptions = self._mergeObjects(oOptions);
+ self._writeDebug('soundManager.createSound(): "<a href="#" onclick="soundManager.play(\''+thisOptions.id+'\');return false" title="play this sound">'+thisOptions.id+'</a>" ('+thisOptions.url+')');
+ if (self._idCheck(thisOptions.id,true)) {
+ self._writeDebug('sound '+thisOptions.id+' already defined - exiting');
+ return false;
+ }
+ self.sounds[thisOptions.id] = new SMSound(self,thisOptions);
+ self.soundIDs[self.soundIDs.length] = thisOptions.id;
+ try {
+ self.o._createSound(thisOptions.id,thisOptions.onjustbeforefinishtime);
+ } catch(e) {
+ self._failSafely();
+ return true;
+ }
+ if (thisOptions.autoLoad || thisOptions.autoPlay) self.sounds[thisOptions.id].load(thisOptions);
+ if (thisOptions.autoPlay) self.sounds[thisOptions.id].playState = 1; // we can only assume this sound will be playing soon.
+ }
+
+ this.load = function(sID,oOptions) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].load(oOptions);
+ }
+
+ this.unload = function(sID) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].unload();
+ }
+
+ this.play = function(sID,oOptions) {
+ if (!self._idCheck(sID)) {
+ if (typeof oOptions != 'Object') oOptions = {url:oOptions}; // overloading use case: play('mySound','/path/to/some.mp3');
+ if (oOptions && oOptions.url) {
+ // overloading use case, creation + playing of sound: .play('someID',{url:'/path/to.mp3'});
+ self._writeDebug('soundController.play(): attempting to create "'+sID+'"');
+ oOptions.id = sID;
+ self.createSound(oOptions);
+ } else {
+ return false;
+ }
+ }
+ self.sounds[sID].play(oOptions);
+ }
+
+ this.start = this.play; // just for convenience
+
+ this.setPosition = function(sID,nMsecOffset) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].setPosition(nMsecOffset);
+ }
+
+ this.stop = function(sID) {
+ if (!self._idCheck(sID)) return false;
+ self._writeDebug('soundManager.stop('+sID+')');
+ self.sounds[sID].stop();
+ }
+
+ this.stopAll = function() {
+ for (var oSound in self.sounds) {
+ if (oSound instanceof SMSound) oSound.stop(); // apply only to sound objects
+ }
+ }
+
+ this.pause = function(sID) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].pause();
+ }
+
+ this.resume = function(sID) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].resume();
+ }
+
+ this.togglePause = function(sID) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].togglePause();
+ }
+
+ this.setPan = function(sID,nPan) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].setPan(nPan);
+ }
+
+ this.setVolume = function(sID,nVol) {
+ if (!self._idCheck(sID)) return false;
+ self.sounds[sID].setVolume(nVol);
+ }
+
+ this.setPolling = function(bPolling) {
+ if (!self.o || !self.allowPolling) return false;
+ self._writeDebug('soundManager.setPolling('+bPolling+')');
+ self.o._setPolling(bPolling);
+ }
+
+ this.disable = function() {
+ // destroy all functions
+ if (self._disabled) return false;
+ self._disabled = true;
+ self._writeDebug('soundManager.disable(): Disabling all functions - future calls will return false.');
+ for (var i=self.soundIDs.length; i--;) {
+ self._disableObject(self.sounds[self.soundIDs[i]]);
+ }
+ self.initComplete(); // fire "complete", despite fail
+ self._disableObject(self);
+ }
+
+ this.getSoundById = function(sID,suppressDebug) {
+ if (!sID) throw new Error('SoundManager.getSoundById(): sID is null/undefined');
+ var result = self.sounds[sID];
+ if (!result && !suppressDebug) {
+ self._writeDebug('"'+sID+'" is an invalid sound ID.');
+ // soundManager._writeDebug('trace: '+arguments.callee.caller);
+ }
+ return result;
+ }
+
+ this.onload = function() {
+ onloadSM2();
+ // window.onload() equivalent for SM2, ready to create sounds etc.
+ // this is a stub - you can override this in your own external script, eg. soundManager.onload = function() {}
+ // soundManager._writeDebug('<em>Warning</em>: soundManager.onload() is undefined.');
+ }
+
+ this.onerror = function() {
+ onerrorSM2();
+ // stub for user handler, called when SM2 fails to load/init
+ }
+
+ // --- "private" methods ---
+
+ this._idCheck = this.getSoundById;
+
+ this._disableObject = function(o) {
+ for (var oProp in o) {
+ if (typeof o[oProp] == 'function') o[oProp] = function(){return false;}
+ }
+ oProp = null;
+ }
+
+ this._failSafely = function() {
+ // exception handler for "object doesn't support this property or method"
+ var flashCPLink = 'http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html';
+ var fpgssTitle = 'You may need to whitelist this location/domain eg. file://C:/ or C:/ or mysite.com, or set ALWAYS ALLOW under the Flash Player Global Security Settings page. Note that this seems to apply only to file system viewing.';
+ var flashCPL = '<a href="'+flashCPLink+'" title="'+fpgssTitle+'">view/edit</a>';
+ var FPGSS = '<a href="'+flashCPLink+'" title="Flash Player Global Security Settings">FPGSS</a>';
+ if (!self._disabled) {
+ self._writeDebug('soundManager: JS->Flash communication failed. Possible causes: flash/browser security restrictions ('+flashCPL+'), insufficient browser/plugin support, or .swf not found');
+ self._writeDebug('Verify that the movie path of <em>'+self.url+'</em> is correct (<a href="'+self.url+'" title="If you get a 404/not found, fix it!">test link</a>)');
+ if (self._didAppend) {
+ if (!document.domain) {
+ self._writeDebug('Loading from local file system? (document.domain appears to be null, this location may need whitelisting by '+FPGSS+')');
+ self._writeDebug('Possible security/domain restrictions ('+flashCPL+'), should work when served by http on same domain');
+ }
+ // self._writeDebug('Note: Movie added via JS method, static object/embed in-page markup method may work instead.');
+ }
+ self.disable();
+ }
+ }
+
+ this._createMovie = function(smID,smURL) {
+ var useDOM = !self.isIE; // IE needs document.write() to work, long story short - lame
+ if (window.location.href.indexOf('debug=1')+1) self.defaultOptions.debugMode = true; // allow force of debug mode via URL
+ var html = ['<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="16" height="16" id="'+smID+'"><param name="movie" value="'+smURL+'"><param name="quality" value="high"><param name="allowScriptAccess" value="always" /></object>','<embed name="'+smID+'-embed" id="'+smID+'-embed" src="'+smURL+'" width="1" height="1" quality="high" allowScriptAccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed>'];
+ var debugID = 'soundmanager-debug';
+ var debugHTML = '<div id="'+debugID+'" style="display:'+(self.defaultOptions.debugMode?'block':'none')+'"></div>';
+ if (useDOM) {
+ self.oMC = document.createElement('div');
+ self.oMC.className = 'movieContainer';
+ // "hide" flash movie
+ self.oMC.style.position = 'absolute';
+ self.oMC.style.left = '-256px';
+ self.oMC.style.width = '1px';
+ self.oMC.style.height = '1px';
+ self.oMC.innerHTML = html[self.isIE?0:1];
+ var oTarget = (!self.isIE && document.body?document.body:document.getElementsByTagName('div')[0]);
+ oTarget.appendChild(self.oMC); // append to body here can throw "operation aborted" under IE
+ if (!document.getElementById(debugID)) {
+ var oDebug = document.createElement('div');
+ oDebug.id = debugID;
+ oDebug.style.display = (self.defaultOptions.debugMode?'block':'none');
+ oTarget.appendChild(oDebug);
+ }
+ oTarget = null;
+ } else {
+ // IE method - local file system, may cause strange JS error at line 53?
+ // I hate this method, but it appears to be the only one that will work (createElement works, but JS->Flash communication oddly fails when viewing locally.)
+ // Finally, IE doesn't do application/xhtml+xml yet (thus document.write() is still minimally acceptable here.)
+ if (document.getElementById(debugID)) debugHTML = ''; // avoid overwriting
+ document.write('<div style="position:absolute;left:-256px;top:-256px;width:1px;height:1px" class="movieContainer">'+html[self.isIE?0:1]+'</div>'+debugHTML);
+ }
+ self._didAppend = true;
+ self._writeDebug('-- SoundManager 2 Version '+self.version.substr(1)+' --');
+ self._writeDebug('soundManager._createMovie(): trying to load <a href="'+smURL+'" title="Test this link (404=bad)">'+smURL+'</a>');
+ }
+
+ this._writeDebug = function(sText) {
+ if (!self.defaultOptions.debugMode) return false;
+ var sDID = 'soundmanager-debug';
+ try {
+ var o = document.getElementById(sDID);
+ if (!o) {
+ // attempt to create soundManager debug element
+ var oNew = document.createElement('div');
+ oNew.id = sDID;
+ // o = document.body.appendChild(oNew);
+ o = null;
+ if (!o) return false;
+ }
+ var p = document.createElement('div');
+ p.innerHTML = sText;
+ // o.appendChild(p); // top-to-bottom
+ o.insertBefore(p,o.firstChild); // bottom-to-top
+ } catch(e) {
+ // oh well
+ }
+ o = null;
+ }
+
+ this._debug = function() {
+ self._writeDebug('soundManager._debug(): sounds by id/url:');
+ for (var i=0,j=self.soundIDs.length; i<j; i++) {
+ self._writeDebug(self.sounds[self.soundIDs[i]].sID+' | '+self.sounds[self.soundIDs[i]].url);
+ }
+ }
+
+ this._mergeObjects = function(oMain,oAdd) {
+ // non-destructive merge
+ var o1 = oMain;
+ var o2 = (typeof oAdd == 'undefined'?self.defaultOptions:oAdd);
+ for (var o in o2) {
+ if (typeof o1[o] == 'undefined') o1[o] = o2[o];
+ }
+ return o1;
+ }
+
+ this.createMovie = function(sURL) {
+ self._writeDebug('soundManager.createMovie('+(sURL||'')+')');
+ if (sURL) self.url = sURL;
+ self._initMovie();
+ }
+
+ this._initMovie = function() {
+ // attempt to get, or create, movie
+ if (self.o) return false; // pre-init may have fired this function before window.onload(), may already exist
+ self.o = self.getMovie(self.id); // try to get flash movie (inline markup)
+ if (!self.o) {
+ // try to create
+ self._createMovie(self.id,self.url);
+ self.o = self.getMovie(self.id);
+ }
+ if (!self.o) {
+ self._writeDebug('SoundManager(): Could not find object/embed element. Sound will be disabled.');
+ self.disable();
+ } else {
+ self._writeDebug('SoundManager(): Got '+self.o.nodeName+' element ('+(self._didAppend?'created via JS':'static HTML')+')');
+ }
+ }
+
+ this.initComplete = function() {
+ if (self._didInit) return false;
+ self._didInit = true;
+ self._writeDebug('-- SoundManager 2 '+(self._disabled?'failed to load':'loaded')+' ('+(self._disabled?'security/load error':'OK')+') --');
+ if (self._disabled) {
+ self._writeDebug('soundManager.initComplete(): calling soundManager.onerror()');
+ self.onerror.apply(window);
+ return false;
+ }
+ self._writeDebug('soundManager.initComplete(): calling soundManager.onload()');
+ try {
+ // call user-defined "onload", scoped to window
+ self.onload.apply(window);
+ } catch(e) {
+ // something broke (likely JS error in user function)
+ self._writeDebug('soundManager.onload() threw an exception: '+e.message);
+ throw e; // (so browser/console gets message)
+ }
+ self._writeDebug('soundManager.onload() complete');
+ }
+
+ this.init = function() {
+ // called after onload()
+ self._initMovie();
+ // event cleanup
+ if (window.removeEventListener) {
+ window.removeEventListener('load',self.beginInit,false);
+ } else if (window.detachEvent) {
+ window.detachEvent('onload',self.beginInit);
+ }
+ try {
+ self.o._externalInterfaceTest(); // attempt to talk to Flash
+ self._writeDebug('Flash ExternalInterface call (JS -> Flash) succeeded.');
+ if (!self.allowPolling) self._writeDebug('Polling (whileloading/whileplaying support) is disabled.');
+ self.setPolling(true);
+ self.enabled = true;
+ } catch(e) {
+ self._failSafely();
+ self.initComplete();
+ return false;
+ }
+ self.initComplete();
+ }
+
+ this.beginInit = function() {
+ self._initMovie();
+ setTimeout(self.init,1000); // some delay required, otherwise JS<->Flash/ExternalInterface communication fails under non-IE (?!)
+ }
+
+ this.destruct = function() {
+ if (self.isSafari) {
+ /* --
+ Safari 1.3.2 (v312.6)/OSX 10.3.9 and perhaps newer will crash if a sound is actively loading when user exits/refreshes/leaves page
+ (Apparently related to ExternalInterface making calls to an unloading/unloaded page?)
+ Unloading sounds (detaching handlers and so on) may help to prevent this
+ -- */
+ for (var i=self.soundIDs.length; i--;) {
+ if (self.sounds[self.soundIDs[i]].readyState == 1) self.sounds[self.soundIDs[i]].unload();
+ }
+ }
+ self.disable();
+ // self.o = null;
+ // self.oMC = null;
+ }
+
+}
+
+function SMSound(oSM,oOptions) {
+ var self = this;
+ var sm = oSM;
+ this.sID = oOptions.id;
+ this.url = oOptions.url;
+ this.options = sm._mergeObjects(oOptions);
+ this.id3 = {
+ /*
+ Name/value pairs set via Flash when available - see reference for names:
+ http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001567.html
+ (eg., this.id3.songname or this.id3['songname'])
+ */
+ }
+
+ self.resetProperties = function(bLoaded) {
+ self.bytesLoaded = null;
+ self.bytesTotal = null;
+ self.position = null;
+ self.duration = null;
+ self.durationEstimate = null;
+ self.loaded = false;
+ self.loadSuccess = null;
+ self.playState = 0;
+ self.paused = false;
+ self.readyState = 0; // 0 = uninitialised, 1 = loading, 2 = failed/error, 3 = loaded/success
+ self.didBeforeFinish = false;
+ self.didJustBeforeFinish = false;
+ }
+
+ self.resetProperties();
+
+ // --- public methods ---
+
+ this.load = function(oOptions) {
+ self.loaded = false;
+ self.loadSuccess = null;
+ self.readyState = 1;
+ self.playState = (oOptions.autoPlay||false); // if autoPlay, assume "playing" is true (no way to detect when it actually starts in Flash unless onPlay is watched?)
+ var thisOptions = sm._mergeObjects(oOptions);
+ if (typeof thisOptions.url == 'undefined') thisOptions.url = self.url;
+ try {
+ sm._writeDebug('loading '+thisOptions.url);
+ sm.o._load(self.sID,thisOptions.url,thisOptions.stream,thisOptions.autoPlay,thisOptions.whileloading?1:0);
+ } catch(e) {
+ sm._writeDebug('SMSound().load(): JS->Flash communication failed.');
+ }
+ }
+
+ this.unload = function() {
+ // Flash 8/AS2 can't "close" a stream - fake it by loading an empty MP3
+ sm._writeDebug('SMSound().unload()');
+ self.setPosition(0); // reset current sound positioning
+ sm.o._unload(self.sID,s5Path+'ui/audio_support/null.mp3');
+ // reset load/status flags
+ self.resetProperties();
+ }
+
+ this.play = function(oOptions) {
+ if (!oOptions) oOptions = {};
+
+ // --- TODO: make event handlers specified via oOptions only apply to this instance of play() (eg. onfinish applies but will reset to default on finish)
+ if (oOptions.onfinish) self.options.onfinish = oOptions.onfinish;
+ if (oOptions.onbeforefinish) self.options.onbeforefinish = oOptions.onbeforefinish;
+ if (oOptions.onjustbeforefinish) self.options.onjustbeforefinish = oOptions.onjustbeforefinish;
+ // ---
+
+ var thisOptions = sm._mergeObjects(oOptions);
+ if (self.playState == 1) {
+ // var allowMulti = typeof oOptions.multiShot!='undefined'?oOptions.multiShot:sm.defaultOptions.multiShot;
+ var allowMulti = thisOptions.multiShot;
+ if (!allowMulti) {
+ sm._writeDebug('SMSound.play(): "'+self.sID+'" already playing? (one-shot)');
+ return false;
+ } else {
+ sm._writeDebug('SMSound.play(): "'+self.sID+'" already playing (multi-shot)');
+ }
+ }
+ if (!self.loaded) {
+ if (self.readyState == 0) {
+ sm._writeDebug('SMSound.play(): .play() before load request. Attempting to load "'+self.sID+'"');
+ // try to get this sound playing ASAP
+ thisOptions.stream = true;
+ thisOptions.autoPlay = true;
+ // TODO: need to investigate when false, double-playing
+ // if (typeof oOptions.autoPlay=='undefined') thisOptions.autoPlay = true; // only set autoPlay if unspecified here
+ self.load(thisOptions); // try to get this sound playing ASAP
+ } else if (self.readyState == 2) {
+ sm._writeDebug('SMSound.play(): Could not load "'+self.sID+'" - exiting');
+ return false;
+ } else {
+ sm._writeDebug('SMSound.play(): "'+self.sID+'" is loading - attempting to play..');
+ }
+ } else {
+ sm._writeDebug('SMSound.play(): "'+self.sID+'"');
+ }
+ if (self.paused) {
+ self.resume();
+ } else {
+ self.playState = 1;
+ self.position = (thisOptions.offset||0);
+ if (thisOptions.onplay) thisOptions.onplay.apply(self);
+ self.setVolume(thisOptions.volume);
+ self.setPan(thisOptions.pan);
+ if (!thisOptions.autoPlay) {
+ sm._writeDebug('starting sound '+self.sID);
+ sm.o._start(self.sID,thisOptions.loop||1,self.position); // TODO: verify !autoPlay doesn't cause issue
+ }
+ }
+ }
+
+ this.start = this.play; // just for convenience
+
+ this.stop = function(bAll) {
+ if (self.playState == 1) {
+ self.playState = 0;
+ self.paused = false;
+ if (sm.defaultOptions.onstop) sm.defaultOptions.onstop.apply(self);
+ sm.o._stop(self.sID);
+ }
+ }
+
+ this.setPosition = function(nMsecOffset) {
+ // sm._writeDebug('setPosition('+nMsecOffset+')');
+ sm.o._setPosition(self.sID,nMsecOffset/1000,self.paused||!self.playState); // if paused or not playing, will not resume (by playing)
+ }
+
+ this.pause = function() {
+ if (self.paused) return false;
+ sm._writeDebug('SMSound.pause()');
+ self.paused = true;
+ sm.o._pause(self.sID);
+ }
+
+ this.resume = function() {
+ if (!self.paused) return false;
+ sm._writeDebug('SMSound.resume()');
+ self.paused = false;
+ sm.o._pause(self.sID); // flash method is toggle-based (pause/resume)
+ }
+
+ this.togglePause = function() {
+ // if playing, pauses - if paused, resumes playing.
+ sm._writeDebug('SMSound.togglePause()');
+ if (!self.playState) {
+ // self.setPosition();
+ self.play({offset:self.position/1000});
+ return false;
+ }
+ if (self.paused) {
+ sm._writeDebug('SMSound.togglePause(): resuming..');
+ self.resume();
+ } else {
+ sm._writeDebug('SMSound.togglePause(): pausing..');
+ self.pause();
+ }
+ }
+
+ this.setPan = function(nPan) {
+ if (typeof nPan == 'undefined') nPan = 0;
+ sm.o._setPan(self.sID,nPan);
+ self.options.pan = nPan;
+ }
+
+ this.setVolume = function(nVol) {
+ if (typeof nVol == 'undefined') nVol = 100;
+ sm.o._setVolume(self.sID,nVol);
+ self.options.volume = nVol;
+ }
+
+ // --- "private" methods called by Flash ---
+
+ this._whileloading = function(nBytesLoaded,nBytesTotal,nDuration) {
+ self.bytesLoaded = nBytesLoaded;
+ self.bytesTotal = nBytesTotal;
+ self.duration = nDuration;
+ self.durationEstimate = parseInt((self.bytesTotal/self.bytesLoaded)*self.duration); // estimate total time (will only be accurate with CBR MP3s.)
+ if (self.readyState != 3 && self.options.whileloading) self.options.whileloading.apply(self);
+ // soundManager._writeDebug('duration/durationEst: '+self.duration+' / '+self.durationEstimate);
+ }
+
+ this._onid3 = function(oID3PropNames,oID3Data) {
+ // oID3PropNames: string array (names)
+ // ID3Data: string array (data)
+ sm._writeDebug('SMSound()._onid3(): "'+this.sID+'" ID3 data received.');
+ var oData = [];
+ for (var i=0,j=oID3PropNames.length; i<j; i++) {
+ oData[oID3PropNames[i]] = oID3Data[i];
+ // sm._writeDebug(oID3PropNames[i]+': '+oID3Data[i]);
+ }
+ self.id3 = sm._mergeObjects(self.id3,oData);
+ if (self.options.onid3) self.options.onid3.apply(self);
+ }
+
+ this._whileplaying = function(nPosition) {
+ if (isNaN(nPosition) || nPosition == null) return false; // Flash may return NaN at times
+ self.position = nPosition;
+ if (self.playState == 1) {
+ if (self.options.whileplaying) self.options.whileplaying.apply(self); // flash may call after actual finish
+ if (self.loaded && self.options.onbeforefinish && self.options.onbeforefinishtime && !self.didBeforeFinish && self.duration-self.position <= self.options.onbeforefinishtime) {
+ sm._writeDebug('duration-position <= onbeforefinishtime: '+self.duration+' - '+self.position+' <= '+self.options.onbeforefinishtime+' ('+(self.duration-self.position)+')');
+ self._onbeforefinish();
+ }
+ }
+ }
+
+ this._onload = function(bSuccess) {
+ bSuccess = (bSuccess==1?true:false);
+ sm._writeDebug('SMSound._onload(): "'+self.sID+'"'+(bSuccess?' loaded.':' failed to load (or loaded from cache - weird bug) - [<a href="'+self.url+'">test URL</a>]'));
+ self.loaded = bSuccess;
+ self.loadSuccess = bSuccess;
+ self.readyState = bSuccess?3:2;
+ if (self.options.onload) self.options.onload.apply(self);
+ }
+
+ this._onbeforefinish = function() {
+ if (!self.didBeforeFinish) {
+ self.didBeforeFinish = true;
+ if (self.options.onbeforefinish) self.options.onbeforefinish.apply(self);
+ }
+ }
+
+ this._onjustbeforefinish = function(msOffset) {
+ // msOffset: "end of sound" delay actual value (eg. 200 msec, value at event fire time was 187)
+ if (!self.didJustBeforeFinish) {
+ self.didJustBeforeFinish = true;
+ soundManager._writeDebug('SMSound._onjustbeforefinish()');
+ if (self.options.onjustbeforefinish) self.options.onjustbeforefinish.apply(self);;
+ }
+ }
+
+ this._onfinish = function() {
+ // sound has finished playing
+ sm._writeDebug('SMSound._onfinish(): "'+self.sID+'" finished playing');
+ self.playState = 0;
+ self.paused = false;
+ if (self.options.onfinish) self.options.onfinish.apply(self);
+ if (self.options.onbeforefinishcomplete) self.options.onbeforefinishcomplete.apply(self);
+ // reset some state items
+ self.setPosition(0);
+ self.didBeforeFinish = false;
+ self.didJustBeforeFinish = false;
+ }
+
+}
+
+var soundManager = new SoundManager();
+
+// attach onload handler
+if (window.addEventListener) {
+ window.addEventListener('load',soundManager.beginInit,false);
+ window.addEventListener('beforeunload',soundManager.destruct,false);
+} else if (window.attachEvent) {
+ window.attachEvent('onload',soundManager.beginInit);
+ window.attachEvent('beforeunload',soundManager.destruct);
+} else {
+ // no add/attachevent support - safe to assume no JS->Flash either.
+ soundManager.disable();
+}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/soundmanager2.swf b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/soundmanager2.swf Binary files differnew file mode 100755 index 000000000..234a83343 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/audio_support/soundmanager2.swf diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluebg.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluebg.gif Binary files differnew file mode 100644 index 000000000..909490511 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluebg.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluebottom.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluebottom.gif Binary files differnew file mode 100644 index 000000000..938a0795c --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluebottom.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluefooter.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluefooter.gif Binary files differnew file mode 100644 index 000000000..6fe83f2c7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/bluefooter.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pretty.css new file mode 100644 index 000000000..48b1657fd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/pretty.css @@ -0,0 +1,173 @@ +/* Blue Theme 2004 by Martin Hense ::: www.lounge7.de */ + +/* Following are the presentation styles -- edit away! + Note that the 'body' font size may have to be changed if the resolution is + different than expected. */ + +body {background: #000294 url(bluebottom.gif) right bottom no-repeat; color: #fff; font-size: 1.8em;} +:link, :visited {text-decoration: none; color: #F8B73E;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +code {padding: 2px 0.25em; font-weight: bold; color: #AAABF8;} +code.bad, code del {color: red;} +code.old {color: silver;} +pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +pre code {display: block;} +ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +li {margin-top: 0.75em; margin-right: 0;} +ul ul {line-height: 1;} +ul ul li {margin: .2em; font-size: 85%; list-style: square;} +img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: #005; color: #9183BF; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat; + line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0; height: 36px; border-top: 1px solid #08093F; background: #000136 url(bluefooter.gif) top right no-repeat; } +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide { + font-family: georgia, Times, 'Times New Roman', serif; + background: transparent url(bluebg.gif) repeat-x; +} +.slide h1 {position: absolute; left: 87px; z-index: 1; + white-space: nowrap; + text-transform: capitalize; + top: 1em; width: 80%; + margin: 0 auto; text-align: center; padding: 0; + font: 150%/1em georgia, Times, 'Times New Roman', serif; + color: #fff; background: transparent; + } +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +#currentSlide {text-align: center; font-size: 0.5em; color: #9183BF; font-family: Verdana, Helvetica, sans-serif;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 1.33em; padding: 0; + white-space: normal; + background: transparent; +margin: 0 auto; width: 75%; text-align: center; + font: 2.5em Georgia, Times, 'Times New Roman', serif; height: 281px; + color: #fff;} +#slide0 h3 {font-size: 1.5em;} +#slide0 h4 {font-size: 1em;} +#slide0 h3, #slide0 h4, #slide0 p {margin: 0; text-align: center; color: #fff;} +#slide0 p {margin-top: 0.7em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.notes {display: none;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/blue/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/blank.gif Binary files differnew file mode 100644 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/bodybg.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/bodybg.gif Binary files differnew file mode 100644 index 000000000..5f448a16f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/bodybg.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/framing.css new file mode 100644 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/iepngfix.htc new file mode 100644 index 000000000..4d90c87a9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'v11rc1/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/opera.css new file mode 100644 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/outline.css new file mode 100644 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pretty.css new file mode 100644 index 000000000..f5c2666b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/pretty.css @@ -0,0 +1,156 @@ +/* Following are the presentation styles -- edit away! */ + +body {background: #FFF url(bodybg.gif) -16px 0 no-repeat; color: #000; font-size: 2em;} +:link, :visited {text-decoration: none; color: #00C;} +#controls :active {color: #88A !important;} +#controls :focus {outline: 1px dotted #227;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;} +.slide code.bad, code del {color: red;} +.slide code.old {color: silver;} +.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +.slide pre code {display: block;} +.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +.slide li {margin-top: 0.75em; margin-right: 0;} +.slide ul ul {line-height: 1;} +.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;} +.slide img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: #005; color: #AAB; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat; + line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.7em; left: 87px; z-index: 1; + margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap; + font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize; + color: #DDE; background: #005;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #77B;} + +.incremental, .incremental *, .incremental *:after {color: #DDE; visibility: visible;} +img.incremental {visibility: hidden;} +.slide .current {color: #B02;} + + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/print.css new file mode 100644 index 000000000..e7a71d145 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;}
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/s5-core.css new file mode 100644 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/slides.css new file mode 100644 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/default/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/blank.gif Binary files differnew file mode 100644 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/framing.css new file mode 100644 index 000000000..74f0fdfba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 2em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/iepngfix.htc new file mode 100644 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/logo.png Binary files differnew file mode 100644 index 000000000..653814eef --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/opera.css new file mode 100644 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/outline.css new file mode 100644 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pretty.css new file mode 100644 index 000000000..c004defcd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/pretty.css @@ -0,0 +1,163 @@ +/** + * Theme: dokuwiki + * @author Eric A. Meyer (http://meyerweb.com/) [default theme] + * @author Anika Henke <a.c.henke@arcor.de> + * @author Andreas Gohr <andi@splitbrain.org> + */ + +body {background: #fff url(logo.png) top right no-repeat; color: #000; font-size: 1.9em;} +:link, :visited {text-decoration: none; color: #436976;font-style:italic;} +#controls :active {color: #436976 !important;} +#controls :focus {outline: 1px dotted #436976;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0; font-family: Verdana, Helvetica, sans-serif;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote em {font-style: normal;} +blockquote strong {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote strong em {font-style: italic;} + +.slide code {padding: 2px 0.25em; font-weight: bold; color: #000;} +.slide pre {padding: 0.5em; margin: 0.25em 0 0.5em 0.5em; color: #000; font-size: 80%;background:#dee7ec;border:1px dashed #8cacbb;} +.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +.slide li {margin-top: 0.75em; margin-right: 0;} +.slide ul ul {line-height: 1;} +.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;} + +div#header, div#footer {background: #dee7ec; color: #000; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: #dee7ec url(logo.png) top right no-repeat; + line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;border-top:1px solid #8cacbb;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.1em; left: 1.5%; z-index: 1; + margin: 0; padding: 0.3em 0 0 25px; white-space: nowrap; + font: bold 150%/1em Verdana, Helvetica, sans-serif; + color: #436976; background: inherit;} +.slide h2 {font-size: 140%;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +#currentSlide {text-align: center; font-size: 0.5em; color: #436976;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; + font: bold 2em Verdana, Helvetica, sans-serif; white-space: normal; + color: #436976; background: transparent; + /*letter-spacing:0.25em; border-bottom:2px dashed #f90;border-right:2px dashed #f90;*/} +#slide0 h2 {font: bold 1.5em Verdana, Helvetica, sans-serif; margin: 0.25em; + color: #638c9c; background: transparent;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +img{border: none;} + +ul li {list-style-type: square} +li {color: #436976; font-weight: bold; } +li div.li {color: #000; font-weight:normal; } + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.notes {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/print.css new file mode 100644 index 000000000..e7a71d145 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;}
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/s5-core.css new file mode 100644 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/slides.css new file mode 100644 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/dokuwiki/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/MIT-LICENSE b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/MIT-LICENSE new file mode 100644 index 000000000..6d1340dbc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/builder.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/builder.js new file mode 100644 index 000000000..53ea36f64 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/builder.js @@ -0,0 +1,136 @@ +// script.aculo.us builder.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +var Builder = { + NODEMAP: { + AREA: 'map', + CAPTION: 'table', + COL: 'table', + COLGROUP: 'table', + LEGEND: 'fieldset', + OPTGROUP: 'select', + OPTION: 'select', + PARAM: 'object', + TBODY: 'table', + TD: 'table', + TFOOT: 'table', + TH: 'table', + THEAD: 'table', + TR: 'table' + }, + // note: For Firefox < 1.5, OPTION and OPTGROUP tags are currently broken, + // due to a Firefox bug + node: function(elementName) { + elementName = elementName.toUpperCase(); + + // try innerHTML approach + var parentTag = this.NODEMAP[elementName] || 'div'; + var parentElement = document.createElement(parentTag); + try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707 + parentElement.innerHTML = "<" + elementName + "></" + elementName + ">"; + } catch(e) {} + var element = parentElement.firstChild || null; + + // see if browser added wrapping tags + if(element && (element.tagName.toUpperCase() != elementName)) + element = element.getElementsByTagName(elementName)[0]; + + // fallback to createElement approach + if(!element) element = document.createElement(elementName); + + // abort if nothing could be created + if(!element) return; + + // attributes (or text) + if(arguments[1]) + if(this._isStringOrNumber(arguments[1]) || + (arguments[1] instanceof Array) || + arguments[1].tagName) { + this._children(element, arguments[1]); + } else { + var attrs = this._attributes(arguments[1]); + if(attrs.length) { + try { // prevent IE "feature": http://dev.rubyonrails.org/ticket/2707 + parentElement.innerHTML = "<" +elementName + " " + + attrs + "></" + elementName + ">"; + } catch(e) {} + element = parentElement.firstChild || null; + // workaround firefox 1.0.X bug + if(!element) { + element = document.createElement(elementName); + for(attr in arguments[1]) + element[attr == 'class' ? 'className' : attr] = arguments[1][attr]; + } + if(element.tagName.toUpperCase() != elementName) + element = parentElement.getElementsByTagName(elementName)[0]; + } + } + + // text, or array of children + if(arguments[2]) + this._children(element, arguments[2]); + + return DOKUid(element); + }, + _text: function(text) { + return document.createTextNode(text); + }, + + ATTR_MAP: { + 'className': 'class', + 'htmlFor': 'for' + }, + + _attributes: function(attributes) { + var attrs = []; + for(attribute in attributes) + attrs.push((attribute in this.ATTR_MAP ? this.ATTR_MAP[attribute] : attribute) + + '="' + attributes[attribute].toString().escapeHTML().gsub(/"/,'"') + '"'); + return attrs.join(" "); + }, + _children: function(element, children) { + if(children.tagName) { + element.appendChild(children); + return; + } + if(typeof children=='object') { // array can hold nodes and text + children.flatten().each( function(e) { + if(typeof e=='object') + element.appendChild(e); + else + if(Builder._isStringOrNumber(e)) + element.appendChild(Builder._text(e)); + }); + } else + if(Builder._isStringOrNumber(children)) + element.appendChild(Builder._text(children)); + }, + _isStringOrNumber: function(param) { + return(typeof param=='string' || typeof param=='number'); + }, + build: function(html) { + var element = this.node('div'); + DOKUid(element).update(html.strip()); + return element.down(); + }, + dump: function(scope) { + if(typeof scope != 'object' && typeof scope != 'function') scope = window; //global scope + + var tags = ("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY " + + "BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET " + + "FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+ + "KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+ + "PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+ + "TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/); + + tags.each( function(tag){ + scope[tag] = function() { + return Builder.node.apply(Builder, [tag].concat($A(arguments))); + }; + }); + } +};
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/controls.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/controls.js new file mode 100644 index 000000000..eb9c4c08a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/controls.js @@ -0,0 +1,965 @@ +// script.aculo.us controls.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// (c) 2005-2009 Ivan Krstic (http://blogs.law.harvard.edu/ivan) +// (c) 2005-2009 Jon Tirsen (http://www.tirsen.com) +// Contributors: +// Richard Livsey +// Rahul Bhargava +// Rob Wills +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +// Autocompleter.Base handles all the autocompletion functionality +// that's independent of the data source for autocompletion. This +// includes drawing the autocompletion menu, observing keyboard +// and mouse events, and similar. +// +// Specific autocompleters need to provide, at the very least, +// a getUpdatedChoices function that will be invoked every time +// the text inside the monitored textbox changes. This method +// should get the text for which to provide autocompletion by +// invoking this.getToken(), NOT by directly accessing +// this.element.value. This is to allow incremental tokenized +// autocompletion. Specific auto-completion logic (AJAX, etc) +// belongs in getUpdatedChoices. +// +// Tokenized incremental autocompletion is enabled automatically +// when an autocompleter is instantiated with the 'tokens' option +// in the options parameter, e.g.: +// new Ajax.Autocompleter('id','upd', '/url/', { tokens: ',' }); +// will incrementally autocomplete with a comma as the token. +// Additionally, ',' in the above example can be replaced with +// a token array, e.g. { tokens: [',', '\n'] } which +// enables autocompletion on multiple tokens. This is most +// useful when one of the tokens is \n (a newline), as it +// allows smart autocompletion after linebreaks. + +if(typeof Effect == 'undefined') + throw("controls.js requires including script.aculo.us' effects.js library"); + +var Autocompleter = { }; +Autocompleter.Base = Class.create({ + baseInitialize: function(element, update, options) { + element = DOKUid(element); + this.element = element; + this.update = DOKUid(update); + this.hasFocus = false; + this.changed = false; + this.active = false; + this.index = 0; + this.entryCount = 0; + this.oldElementValue = this.element.value; + + if(this.setOptions) + this.setOptions(options); + else + this.options = options || { }; + + this.options.paramName = this.options.paramName || this.element.name; + this.options.tokens = this.options.tokens || []; + this.options.frequency = this.options.frequency || 0.4; + this.options.minChars = this.options.minChars || 1; + this.options.onShow = this.options.onShow || + function(element, update){ + if(!update.style.position || update.style.position=='absolute') { + update.style.position = 'absolute'; + Position.clone(element, update, { + setHeight: false, + offsetTop: element.offsetHeight + }); + } + Effect.Appear(update,{duration:0.15}); + }; + this.options.onHide = this.options.onHide || + function(element, update){ new Effect.Fade(update,{duration:0.15}) }; + + if(typeof(this.options.tokens) == 'string') + this.options.tokens = new Array(this.options.tokens); + // Force carriage returns as token delimiters anyway + if (!this.options.tokens.include('\n')) + this.options.tokens.push('\n'); + + this.observer = null; + + this.element.setAttribute('autocomplete','off'); + + Element.hide(this.update); + + Event.observe(this.element, 'blur', this.onBlur.bindAsEventListener(this)); + Event.observe(this.element, 'keydown', this.onKeyPress.bindAsEventListener(this)); + }, + + show: function() { + if(Element.getStyle(this.update, 'display')=='none') this.options.onShow(this.element, this.update); + if(!this.iefix && + (Prototype.Browser.IE) && + (Element.getStyle(this.update, 'position')=='absolute')) { + new Insertion.After(this.update, + '<iframe id="' + this.update.id + '_iefix" '+ + 'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ' + + 'src="javascript:false;" frameborder="0" scrolling="no"></iframe>'); + this.iefix = DOKUid(this.update.id+'_iefix'); + } + if(this.iefix) setTimeout(this.fixIEOverlapping.bind(this), 50); + }, + + fixIEOverlapping: function() { + Position.clone(this.update, this.iefix, {setTop:(!this.update.style.height)}); + this.iefix.style.zIndex = 1; + this.update.style.zIndex = 2; + Element.show(this.iefix); + }, + + hide: function() { + this.stopIndicator(); + if(Element.getStyle(this.update, 'display')!='none') this.options.onHide(this.element, this.update); + if(this.iefix) Element.hide(this.iefix); + }, + + startIndicator: function() { + if(this.options.indicator) Element.show(this.options.indicator); + }, + + stopIndicator: function() { + if(this.options.indicator) Element.hide(this.options.indicator); + }, + + onKeyPress: function(event) { + if(this.active) + switch(event.keyCode) { + case Event.KEY_TAB: + case Event.KEY_RETURN: + this.selectEntry(); + Event.stop(event); + case Event.KEY_ESC: + this.hide(); + this.active = false; + Event.stop(event); + return; + case Event.KEY_LEFT: + case Event.KEY_RIGHT: + return; + case Event.KEY_UP: + this.markPrevious(); + this.render(); + Event.stop(event); + return; + case Event.KEY_DOWN: + this.markNext(); + this.render(); + Event.stop(event); + return; + } + else + if(event.keyCode==Event.KEY_TAB || event.keyCode==Event.KEY_RETURN || + (Prototype.Browser.WebKit > 0 && event.keyCode == 0)) return; + + this.changed = true; + this.hasFocus = true; + + if(this.observer) clearTimeout(this.observer); + this.observer = + setTimeout(this.onObserverEvent.bind(this), this.options.frequency*1000); + }, + + activate: function() { + this.changed = false; + this.hasFocus = true; + this.getUpdatedChoices(); + }, + + onHover: function(event) { + var element = Event.findElement(event, 'LI'); + if(this.index != element.autocompleteIndex) + { + this.index = element.autocompleteIndex; + this.render(); + } + Event.stop(event); + }, + + onClick: function(event) { + var element = Event.findElement(event, 'LI'); + this.index = element.autocompleteIndex; + this.selectEntry(); + this.hide(); + }, + + onBlur: function(event) { + // needed to make click events working + setTimeout(this.hide.bind(this), 250); + this.hasFocus = false; + this.active = false; + }, + + render: function() { + if(this.entryCount > 0) { + for (var i = 0; i < this.entryCount; i++) + this.index==i ? + Element.addClassName(this.getEntry(i),"selected") : + Element.removeClassName(this.getEntry(i),"selected"); + if(this.hasFocus) { + this.show(); + this.active = true; + } + } else { + this.active = false; + this.hide(); + } + }, + + markPrevious: function() { + if(this.index > 0) this.index--; + else this.index = this.entryCount-1; + this.getEntry(this.index).scrollIntoView(true); + }, + + markNext: function() { + if(this.index < this.entryCount-1) this.index++; + else this.index = 0; + this.getEntry(this.index).scrollIntoView(false); + }, + + getEntry: function(index) { + return this.update.firstChild.childNodes[index]; + }, + + getCurrentEntry: function() { + return this.getEntry(this.index); + }, + + selectEntry: function() { + this.active = false; + this.updateElement(this.getCurrentEntry()); + }, + + updateElement: function(selectedElement) { + if (this.options.updateElement) { + this.options.updateElement(selectedElement); + return; + } + var value = ''; + if (this.options.select) { + var nodes = DOKUid(selectedElement).select('.' + this.options.select) || []; + if(nodes.length>0) value = Element.collectTextNodes(nodes[0], this.options.select); + } else + value = Element.collectTextNodesIgnoreClass(selectedElement, 'informal'); + + var bounds = this.getTokenBounds(); + if (bounds[0] != -1) { + var newValue = this.element.value.substr(0, bounds[0]); + var whitespace = this.element.value.substr(bounds[0]).match(/^\s+/); + if (whitespace) + newValue += whitespace[0]; + this.element.value = newValue + value + this.element.value.substr(bounds[1]); + } else { + this.element.value = value; + } + this.oldElementValue = this.element.value; + this.element.focus(); + + if (this.options.afterUpdateElement) + this.options.afterUpdateElement(this.element, selectedElement); + }, + + updateChoices: function(choices) { + if(!this.changed && this.hasFocus) { + this.update.innerHTML = choices; + Element.cleanWhitespace(this.update); + Element.cleanWhitespace(this.update.down()); + + if(this.update.firstChild && this.update.down().childNodes) { + this.entryCount = + this.update.down().childNodes.length; + for (var i = 0; i < this.entryCount; i++) { + var entry = this.getEntry(i); + entry.autocompleteIndex = i; + this.addObservers(entry); + } + } else { + this.entryCount = 0; + } + + this.stopIndicator(); + this.index = 0; + + if(this.entryCount==1 && this.options.autoSelect) { + this.selectEntry(); + this.hide(); + } else { + this.render(); + } + } + }, + + addObservers: function(element) { + Event.observe(element, "mouseover", this.onHover.bindAsEventListener(this)); + Event.observe(element, "click", this.onClick.bindAsEventListener(this)); + }, + + onObserverEvent: function() { + this.changed = false; + this.tokenBounds = null; + if(this.getToken().length>=this.options.minChars) { + this.getUpdatedChoices(); + } else { + this.active = false; + this.hide(); + } + this.oldElementValue = this.element.value; + }, + + getToken: function() { + var bounds = this.getTokenBounds(); + return this.element.value.substring(bounds[0], bounds[1]).strip(); + }, + + getTokenBounds: function() { + if (null != this.tokenBounds) return this.tokenBounds; + var value = this.element.value; + if (value.strip().empty()) return [-1, 0]; + var diff = arguments.callee.getFirstDifferencePos(value, this.oldElementValue); + var offset = (diff == this.oldElementValue.length ? 1 : 0); + var prevTokenPos = -1, nextTokenPos = value.length; + var tp; + for (var index = 0, l = this.options.tokens.length; index < l; ++index) { + tp = value.lastIndexOf(this.options.tokens[index], diff + offset - 1); + if (tp > prevTokenPos) prevTokenPos = tp; + tp = value.indexOf(this.options.tokens[index], diff + offset); + if (-1 != tp && tp < nextTokenPos) nextTokenPos = tp; + } + return (this.tokenBounds = [prevTokenPos + 1, nextTokenPos]); + } +}); + +Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos = function(newS, oldS) { + var boundary = Math.min(newS.length, oldS.length); + for (var index = 0; index < boundary; ++index) + if (newS[index] != oldS[index]) + return index; + return boundary; +}; + +Ajax.Autocompleter = Class.create(Autocompleter.Base, { + initialize: function(element, update, url, options) { + this.baseInitialize(element, update, options); + this.options.asynchronous = true; + this.options.onComplete = this.onComplete.bind(this); + this.options.defaultParams = this.options.parameters || null; + this.url = url; + }, + + getUpdatedChoices: function() { + this.startIndicator(); + + var entry = encodeURIComponent(this.options.paramName) + '=' + + encodeURIComponent(this.getToken()); + + this.options.parameters = this.options.callback ? + this.options.callback(this.element, entry) : entry; + + if(this.options.defaultParams) + this.options.parameters += '&' + this.options.defaultParams; + + new Ajax.Request(this.url, this.options); + }, + + onComplete: function(request) { + this.updateChoices(request.responseText); + } +}); + +// The local array autocompleter. Used when you'd prefer to +// inject an array of autocompletion options into the page, rather +// than sending out Ajax queries, which can be quite slow sometimes. +// +// The constructor takes four parameters. The first two are, as usual, +// the id of the monitored textbox, and id of the autocompletion menu. +// The third is the array you want to autocomplete from, and the fourth +// is the options block. +// +// Extra local autocompletion options: +// - choices - How many autocompletion choices to offer +// +// - partialSearch - If false, the autocompleter will match entered +// text only at the beginning of strings in the +// autocomplete array. Defaults to true, which will +// match text at the beginning of any *word* in the +// strings in the autocomplete array. If you want to +// search anywhere in the string, additionally set +// the option fullSearch to true (default: off). +// +// - fullSsearch - Search anywhere in autocomplete array strings. +// +// - partialChars - How many characters to enter before triggering +// a partial match (unlike minChars, which defines +// how many characters are required to do any match +// at all). Defaults to 2. +// +// - ignoreCase - Whether to ignore case when autocompleting. +// Defaults to true. +// +// It's possible to pass in a custom function as the 'selector' +// option, if you prefer to write your own autocompletion logic. +// In that case, the other options above will not apply unless +// you support them. + +Autocompleter.Local = Class.create(Autocompleter.Base, { + initialize: function(element, update, array, options) { + this.baseInitialize(element, update, options); + this.options.array = array; + }, + + getUpdatedChoices: function() { + this.updateChoices(this.options.selector(this)); + }, + + setOptions: function(options) { + this.options = Object.extend({ + choices: 10, + partialSearch: true, + partialChars: 2, + ignoreCase: true, + fullSearch: false, + selector: function(instance) { + var ret = []; // Beginning matches + var partial = []; // Inside matches + var entry = instance.getToken(); + var count = 0; + + for (var i = 0; i < instance.options.array.length && + ret.length < instance.options.choices ; i++) { + + var elem = instance.options.array[i]; + var foundPos = instance.options.ignoreCase ? + elem.toLowerCase().indexOf(entry.toLowerCase()) : + elem.indexOf(entry); + + while (foundPos != -1) { + if (foundPos == 0 && elem.length != entry.length) { + ret.push("<li><strong>" + elem.substr(0, entry.length) + "</strong>" + + elem.substr(entry.length) + "</li>"); + break; + } else if (entry.length >= instance.options.partialChars && + instance.options.partialSearch && foundPos != -1) { + if (instance.options.fullSearch || /\s/.test(elem.substr(foundPos-1,1))) { + partial.push("<li>" + elem.substr(0, foundPos) + "<strong>" + + elem.substr(foundPos, entry.length) + "</strong>" + elem.substr( + foundPos + entry.length) + "</li>"); + break; + } + } + + foundPos = instance.options.ignoreCase ? + elem.toLowerCase().indexOf(entry.toLowerCase(), foundPos + 1) : + elem.indexOf(entry, foundPos + 1); + + } + } + if (partial.length) + ret = ret.concat(partial.slice(0, instance.options.choices - ret.length)); + return "<ul>" + ret.join('') + "</ul>"; + } + }, options || { }); + } +}); + +// AJAX in-place editor and collection editor +// Full rewrite by Christophe Porteneuve <tdd@tddsworld.com> (April 2007). + +// Use this if you notice weird scrolling problems on some browsers, +// the DOM might be a bit confused when this gets called so do this +// waits 1 ms (with setTimeout) until it does the activation +Field.scrollFreeActivate = function(field) { + setTimeout(function() { + Field.activate(field); + }, 1); +}; + +Ajax.InPlaceEditor = Class.create({ + initialize: function(element, url, options) { + this.url = url; + this.element = element = DOKUid(element); + this.prepareOptions(); + this._controls = { }; + arguments.callee.dealWithDeprecatedOptions(options); // DEPRECATION LAYER!!! + Object.extend(this.options, options || { }); + if (!this.options.formId && this.element.id) { + this.options.formId = this.element.id + '-inplaceeditor'; + if (DOKUid(this.options.formId)) + this.options.formId = ''; + } + if (this.options.externalControl) + this.options.externalControl = DOKUid(this.options.externalControl); + if (!this.options.externalControl) + this.options.externalControlOnly = false; + this._originalBackground = this.element.getStyle('background-color') || 'transparent'; + this.element.title = this.options.clickToEditText; + this._boundCancelHandler = this.handleFormCancellation.bind(this); + this._boundComplete = (this.options.onComplete || Prototype.emptyFunction).bind(this); + this._boundFailureHandler = this.handleAJAXFailure.bind(this); + this._boundSubmitHandler = this.handleFormSubmission.bind(this); + this._boundWrapperHandler = this.wrapUp.bind(this); + this.registerListeners(); + }, + checkForEscapeOrReturn: function(e) { + if (!this._editing || e.ctrlKey || e.altKey || e.shiftKey) return; + if (Event.KEY_ESC == e.keyCode) + this.handleFormCancellation(e); + else if (Event.KEY_RETURN == e.keyCode) + this.handleFormSubmission(e); + }, + createControl: function(mode, handler, extraClasses) { + var control = this.options[mode + 'Control']; + var text = this.options[mode + 'Text']; + if ('button' == control) { + var btn = document.createElement('input'); + btn.type = 'submit'; + btn.value = text; + btn.className = 'editor_' + mode + '_button'; + if ('cancel' == mode) + btn.onclick = this._boundCancelHandler; + this._form.appendChild(btn); + this._controls[mode] = btn; + } else if ('link' == control) { + var link = document.createElement('a'); + link.href = '#'; + link.appendChild(document.createTextNode(text)); + link.onclick = 'cancel' == mode ? this._boundCancelHandler : this._boundSubmitHandler; + link.className = 'editor_' + mode + '_link'; + if (extraClasses) + link.className += ' ' + extraClasses; + this._form.appendChild(link); + this._controls[mode] = link; + } + }, + createEditField: function() { + var text = (this.options.loadTextURL ? this.options.loadingText : this.getText()); + var fld; + if (1 >= this.options.rows && !/\r|\n/.test(this.getText())) { + fld = document.createElement('input'); + fld.type = 'text'; + var size = this.options.size || this.options.cols || 0; + if (0 < size) fld.size = size; + } else { + fld = document.createElement('textarea'); + fld.rows = (1 >= this.options.rows ? this.options.autoRows : this.options.rows); + fld.cols = this.options.cols || 40; + } + fld.name = this.options.paramName; + fld.value = text; // No HTML breaks conversion anymore + fld.className = 'editor_field'; + if (this.options.submitOnBlur) + fld.onblur = this._boundSubmitHandler; + this._controls.editor = fld; + if (this.options.loadTextURL) + this.loadExternalText(); + this._form.appendChild(this._controls.editor); + }, + createForm: function() { + var ipe = this; + function addText(mode, condition) { + var text = ipe.options['text' + mode + 'Controls']; + if (!text || condition === false) return; + ipe._form.appendChild(document.createTextNode(text)); + }; + this._form = DOKUid(document.createElement('form')); + this._form.id = this.options.formId; + this._form.addClassName(this.options.formClassName); + this._form.onsubmit = this._boundSubmitHandler; + this.createEditField(); + if ('textarea' == this._controls.editor.tagName.toLowerCase()) + this._form.appendChild(document.createElement('br')); + if (this.options.onFormCustomization) + this.options.onFormCustomization(this, this._form); + addText('Before', this.options.okControl || this.options.cancelControl); + this.createControl('ok', this._boundSubmitHandler); + addText('Between', this.options.okControl && this.options.cancelControl); + this.createControl('cancel', this._boundCancelHandler, 'editor_cancel'); + addText('After', this.options.okControl || this.options.cancelControl); + }, + destroy: function() { + if (this._oldInnerHTML) + this.element.innerHTML = this._oldInnerHTML; + this.leaveEditMode(); + this.unregisterListeners(); + }, + enterEditMode: function(e) { + if (this._saving || this._editing) return; + this._editing = true; + this.triggerCallback('onEnterEditMode'); + if (this.options.externalControl) + this.options.externalControl.hide(); + this.element.hide(); + this.createForm(); + this.element.parentNode.insertBefore(this._form, this.element); + if (!this.options.loadTextURL) + this.postProcessEditField(); + if (e) Event.stop(e); + }, + enterHover: function(e) { + if (this.options.hoverClassName) + this.element.addClassName(this.options.hoverClassName); + if (this._saving) return; + this.triggerCallback('onEnterHover'); + }, + getText: function() { + return this.element.innerHTML.unescapeHTML(); + }, + handleAJAXFailure: function(transport) { + this.triggerCallback('onFailure', transport); + if (this._oldInnerHTML) { + this.element.innerHTML = this._oldInnerHTML; + this._oldInnerHTML = null; + } + }, + handleFormCancellation: function(e) { + this.wrapUp(); + if (e) Event.stop(e); + }, + handleFormSubmission: function(e) { + var form = this._form; + var value = $F(this._controls.editor); + this.prepareSubmission(); + var params = this.options.callback(form, value) || ''; + if (Object.isString(params)) + params = params.toQueryParams(); + params.editorId = this.element.id; + if (this.options.htmlResponse) { + var options = Object.extend({ evalScripts: true }, this.options.ajaxOptions); + Object.extend(options, { + parameters: params, + onComplete: this._boundWrapperHandler, + onFailure: this._boundFailureHandler + }); + new Ajax.Updater({ success: this.element }, this.url, options); + } else { + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: params, + onComplete: this._boundWrapperHandler, + onFailure: this._boundFailureHandler + }); + new Ajax.Request(this.url, options); + } + if (e) Event.stop(e); + }, + leaveEditMode: function() { + this.element.removeClassName(this.options.savingClassName); + this.removeForm(); + this.leaveHover(); + this.element.style.backgroundColor = this._originalBackground; + this.element.show(); + if (this.options.externalControl) + this.options.externalControl.show(); + this._saving = false; + this._editing = false; + this._oldInnerHTML = null; + this.triggerCallback('onLeaveEditMode'); + }, + leaveHover: function(e) { + if (this.options.hoverClassName) + this.element.removeClassName(this.options.hoverClassName); + if (this._saving) return; + this.triggerCallback('onLeaveHover'); + }, + loadExternalText: function() { + this._form.addClassName(this.options.loadingClassName); + this._controls.editor.disabled = true; + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: 'editorId=' + encodeURIComponent(this.element.id), + onComplete: Prototype.emptyFunction, + onSuccess: function(transport) { + this._form.removeClassName(this.options.loadingClassName); + var text = transport.responseText; + if (this.options.stripLoadedTextTags) + text = text.stripTags(); + this._controls.editor.value = text; + this._controls.editor.disabled = false; + this.postProcessEditField(); + }.bind(this), + onFailure: this._boundFailureHandler + }); + new Ajax.Request(this.options.loadTextURL, options); + }, + postProcessEditField: function() { + var fpc = this.options.fieldPostCreation; + if (fpc) + DOKUid(this._controls.editor)['focus' == fpc ? 'focus' : 'activate'](); + }, + prepareOptions: function() { + this.options = Object.clone(Ajax.InPlaceEditor.DefaultOptions); + Object.extend(this.options, Ajax.InPlaceEditor.DefaultCallbacks); + [this._extraDefaultOptions].flatten().compact().each(function(defs) { + Object.extend(this.options, defs); + }.bind(this)); + }, + prepareSubmission: function() { + this._saving = true; + this.removeForm(); + this.leaveHover(); + this.showSaving(); + }, + registerListeners: function() { + this._listeners = { }; + var listener; + $H(Ajax.InPlaceEditor.Listeners).each(function(pair) { + listener = this[pair.value].bind(this); + this._listeners[pair.key] = listener; + if (!this.options.externalControlOnly) + this.element.observe(pair.key, listener); + if (this.options.externalControl) + this.options.externalControl.observe(pair.key, listener); + }.bind(this)); + }, + removeForm: function() { + if (!this._form) return; + this._form.remove(); + this._form = null; + this._controls = { }; + }, + showSaving: function() { + this._oldInnerHTML = this.element.innerHTML; + this.element.innerHTML = this.options.savingText; + this.element.addClassName(this.options.savingClassName); + this.element.style.backgroundColor = this._originalBackground; + this.element.show(); + }, + triggerCallback: function(cbName, arg) { + if ('function' == typeof this.options[cbName]) { + this.options[cbName](this, arg); + } + }, + unregisterListeners: function() { + $H(this._listeners).each(function(pair) { + if (!this.options.externalControlOnly) + this.element.stopObserving(pair.key, pair.value); + if (this.options.externalControl) + this.options.externalControl.stopObserving(pair.key, pair.value); + }.bind(this)); + }, + wrapUp: function(transport) { + this.leaveEditMode(); + // Can't use triggerCallback due to backward compatibility: requires + // binding + direct element + this._boundComplete(transport, this.element); + } +}); + +Object.extend(Ajax.InPlaceEditor.prototype, { + dispose: Ajax.InPlaceEditor.prototype.destroy +}); + +Ajax.InPlaceCollectionEditor = Class.create(Ajax.InPlaceEditor, { + initialize: function($super, element, url, options) { + this._extraDefaultOptions = Ajax.InPlaceCollectionEditor.DefaultOptions; + $super(element, url, options); + }, + + createEditField: function() { + var list = document.createElement('select'); + list.name = this.options.paramName; + list.size = 1; + this._controls.editor = list; + this._collection = this.options.collection || []; + if (this.options.loadCollectionURL) + this.loadCollection(); + else + this.checkForExternalText(); + this._form.appendChild(this._controls.editor); + }, + + loadCollection: function() { + this._form.addClassName(this.options.loadingClassName); + this.showLoadingText(this.options.loadingCollectionText); + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: 'editorId=' + encodeURIComponent(this.element.id), + onComplete: Prototype.emptyFunction, + onSuccess: function(transport) { + var js = transport.responseText.strip(); + if (!/^\[.*\]$/.test(js)) // TODO: improve sanity check + throw('Server returned an invalid collection representation.'); + this._collection = eval(js); + this.checkForExternalText(); + }.bind(this), + onFailure: this.onFailure + }); + new Ajax.Request(this.options.loadCollectionURL, options); + }, + + showLoadingText: function(text) { + this._controls.editor.disabled = true; + var tempOption = this._controls.editor.firstChild; + if (!tempOption) { + tempOption = document.createElement('option'); + tempOption.value = ''; + this._controls.editor.appendChild(tempOption); + tempOption.selected = true; + } + tempOption.update((text || '').stripScripts().stripTags()); + }, + + checkForExternalText: function() { + this._text = this.getText(); + if (this.options.loadTextURL) + this.loadExternalText(); + else + this.buildOptionList(); + }, + + loadExternalText: function() { + this.showLoadingText(this.options.loadingText); + var options = Object.extend({ method: 'get' }, this.options.ajaxOptions); + Object.extend(options, { + parameters: 'editorId=' + encodeURIComponent(this.element.id), + onComplete: Prototype.emptyFunction, + onSuccess: function(transport) { + this._text = transport.responseText.strip(); + this.buildOptionList(); + }.bind(this), + onFailure: this.onFailure + }); + new Ajax.Request(this.options.loadTextURL, options); + }, + + buildOptionList: function() { + this._form.removeClassName(this.options.loadingClassName); + this._collection = this._collection.map(function(entry) { + return 2 === entry.length ? entry : [entry, entry].flatten(); + }); + var marker = ('value' in this.options) ? this.options.value : this._text; + var textFound = this._collection.any(function(entry) { + return entry[0] == marker; + }.bind(this)); + this._controls.editor.update(''); + var option; + this._collection.each(function(entry, index) { + option = document.createElement('option'); + option.value = entry[0]; + option.selected = textFound ? entry[0] == marker : 0 == index; + option.appendChild(document.createTextNode(entry[1])); + this._controls.editor.appendChild(option); + }.bind(this)); + this._controls.editor.disabled = false; + Field.scrollFreeActivate(this._controls.editor); + } +}); + +//**** DEPRECATION LAYER FOR InPlace[Collection]Editor! **** +//**** This only exists for a while, in order to let **** +//**** users adapt to the new API. Read up on the new **** +//**** API and convert your code to it ASAP! **** + +Ajax.InPlaceEditor.prototype.initialize.dealWithDeprecatedOptions = function(options) { + if (!options) return; + function fallback(name, expr) { + if (name in options || expr === undefined) return; + options[name] = expr; + }; + fallback('cancelControl', (options.cancelLink ? 'link' : (options.cancelButton ? 'button' : + options.cancelLink == options.cancelButton == false ? false : undefined))); + fallback('okControl', (options.okLink ? 'link' : (options.okButton ? 'button' : + options.okLink == options.okButton == false ? false : undefined))); + fallback('highlightColor', options.highlightcolor); + fallback('highlightEndColor', options.highlightendcolor); +}; + +Object.extend(Ajax.InPlaceEditor, { + DefaultOptions: { + ajaxOptions: { }, + autoRows: 3, // Use when multi-line w/ rows == 1 + cancelControl: 'link', // 'link'|'button'|false + cancelText: 'cancel', + clickToEditText: 'Click to edit', + externalControl: null, // id|elt + externalControlOnly: false, + fieldPostCreation: 'activate', // 'activate'|'focus'|false + formClassName: 'inplaceeditor-form', + formId: null, // id|elt + highlightColor: '#ffff99', + highlightEndColor: '#ffffff', + hoverClassName: '', + htmlResponse: true, + loadingClassName: 'inplaceeditor-loading', + loadingText: 'Loading...', + okControl: 'button', // 'link'|'button'|false + okText: 'ok', + paramName: 'value', + rows: 1, // If 1 and multi-line, uses autoRows + savingClassName: 'inplaceeditor-saving', + savingText: 'Saving...', + size: 0, + stripLoadedTextTags: false, + submitOnBlur: false, + textAfterControls: '', + textBeforeControls: '', + textBetweenControls: '' + }, + DefaultCallbacks: { + callback: function(form) { + return Form.serialize(form); + }, + onComplete: function(transport, element) { + // For backward compatibility, this one is bound to the IPE, and passes + // the element directly. It was too often customized, so we don't break it. + new Effect.Highlight(element, { + startcolor: this.options.highlightColor, keepBackgroundImage: true }); + }, + onEnterEditMode: null, + onEnterHover: function(ipe) { + ipe.element.style.backgroundColor = ipe.options.highlightColor; + if (ipe._effect) + ipe._effect.cancel(); + }, + onFailure: function(transport, ipe) { + alert('Error communication with the server: ' + transport.responseText.stripTags()); + }, + onFormCustomization: null, // Takes the IPE and its generated form, after editor, before controls. + onLeaveEditMode: null, + onLeaveHover: function(ipe) { + ipe._effect = new Effect.Highlight(ipe.element, { + startcolor: ipe.options.highlightColor, endcolor: ipe.options.highlightEndColor, + restorecolor: ipe._originalBackground, keepBackgroundImage: true + }); + } + }, + Listeners: { + click: 'enterEditMode', + keydown: 'checkForEscapeOrReturn', + mouseover: 'enterHover', + mouseout: 'leaveHover' + } +}); + +Ajax.InPlaceCollectionEditor.DefaultOptions = { + loadingCollectionText: 'Loading options...' +}; + +// Delayed observer, like Form.Element.Observer, +// but waits for delay after last key input +// Ideal for live-search fields + +Form.Element.DelayedObserver = Class.create({ + initialize: function(element, delay, callback) { + this.delay = delay || 0.5; + this.element = DOKUid(element); + this.callback = callback; + this.timer = null; + this.lastValue = $F(this.element); + Event.observe(this.element,'keyup',this.delayedListener.bindAsEventListener(this)); + }, + delayedListener: function(event) { + if(this.lastValue == $F(this.element)) return; + if(this.timer) clearTimeout(this.timer); + this.timer = setTimeout(this.onTimerEvent.bind(this), this.delay * 1000); + this.lastValue = $F(this.element); + }, + onTimerEvent: function() { + this.timer = null; + this.callback(this.element, $F(this.element)); + } +});
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/dragdrop.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/dragdrop.js new file mode 100644 index 000000000..6e3a1f872 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/dragdrop.js @@ -0,0 +1,974 @@ +// script.aculo.us dragdrop.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +if(Object.isUndefined(Effect)) + throw("dragdrop.js requires including script.aculo.us' effects.js library"); + +var Droppables = { + drops: [], + + remove: function(element) { + this.drops = this.drops.reject(function(d) { return d.element==DOKUid(element) }); + }, + + add: function(element) { + element = DOKUid(element); + var options = Object.extend({ + greedy: true, + hoverclass: null, + tree: false + }, arguments[1] || { }); + + // cache containers + if(options.containment) { + options._containers = []; + var containment = options.containment; + if(Object.isArray(containment)) { + containment.each( function(c) { options._containers.push(DOKUid(c)) }); + } else { + options._containers.push(DOKUid(containment)); + } + } + + if(options.accept) options.accept = [options.accept].flatten(); + + Element.makePositioned(element); // fix IE + options.element = element; + + this.drops.push(options); + }, + + findDeepestChild: function(drops) { + deepest = drops[0]; + + for (i = 1; i < drops.length; ++i) + if (Element.isParent(drops[i].element, deepest.element)) + deepest = drops[i]; + + return deepest; + }, + + isContained: function(element, drop) { + var containmentNode; + if(drop.tree) { + containmentNode = element.treeNode; + } else { + containmentNode = element.parentNode; + } + return drop._containers.detect(function(c) { return containmentNode == c }); + }, + + isAffected: function(point, element, drop) { + return ( + (drop.element!=element) && + ((!drop._containers) || + this.isContained(element, drop)) && + ((!drop.accept) || + (Element.classNames(element).detect( + function(v) { return drop.accept.include(v) } ) )) && + Position.within(drop.element, point[0], point[1]) ); + }, + + deactivate: function(drop) { + if(drop.hoverclass) + Element.removeClassName(drop.element, drop.hoverclass); + this.last_active = null; + }, + + activate: function(drop) { + if(drop.hoverclass) + Element.addClassName(drop.element, drop.hoverclass); + this.last_active = drop; + }, + + show: function(point, element) { + if(!this.drops.length) return; + var drop, affected = []; + + this.drops.each( function(drop) { + if(Droppables.isAffected(point, element, drop)) + affected.push(drop); + }); + + if(affected.length>0) + drop = Droppables.findDeepestChild(affected); + + if(this.last_active && this.last_active != drop) this.deactivate(this.last_active); + if (drop) { + Position.within(drop.element, point[0], point[1]); + if(drop.onHover) + drop.onHover(element, drop.element, Position.overlap(drop.overlap, drop.element)); + + if (drop != this.last_active) Droppables.activate(drop); + } + }, + + fire: function(event, element) { + if(!this.last_active) return; + Position.prepare(); + + if (this.isAffected([Event.pointerX(event), Event.pointerY(event)], element, this.last_active)) + if (this.last_active.onDrop) { + this.last_active.onDrop(element, this.last_active.element, event); + return true; + } + }, + + reset: function() { + if(this.last_active) + this.deactivate(this.last_active); + } +}; + +var Draggables = { + drags: [], + observers: [], + + register: function(draggable) { + if(this.drags.length == 0) { + this.eventMouseUp = this.endDrag.bindAsEventListener(this); + this.eventMouseMove = this.updateDrag.bindAsEventListener(this); + this.eventKeypress = this.keyPress.bindAsEventListener(this); + + Event.observe(document, "mouseup", this.eventMouseUp); + Event.observe(document, "mousemove", this.eventMouseMove); + Event.observe(document, "keypress", this.eventKeypress); + } + this.drags.push(draggable); + }, + + unregister: function(draggable) { + this.drags = this.drags.reject(function(d) { return d==draggable }); + if(this.drags.length == 0) { + Event.stopObserving(document, "mouseup", this.eventMouseUp); + Event.stopObserving(document, "mousemove", this.eventMouseMove); + Event.stopObserving(document, "keypress", this.eventKeypress); + } + }, + + activate: function(draggable) { + if(draggable.options.delay) { + this._timeout = setTimeout(function() { + Draggables._timeout = null; + window.focus(); + Draggables.activeDraggable = draggable; + }.bind(this), draggable.options.delay); + } else { + window.focus(); // allows keypress events if window isn't currently focused, fails for Safari + this.activeDraggable = draggable; + } + }, + + deactivate: function() { + this.activeDraggable = null; + }, + + updateDrag: function(event) { + if(!this.activeDraggable) return; + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + // Mozilla-based browsers fire successive mousemove events with + // the same coordinates, prevent needless redrawing (moz bug?) + if(this._lastPointer && (this._lastPointer.inspect() == pointer.inspect())) return; + this._lastPointer = pointer; + + this.activeDraggable.updateDrag(event, pointer); + }, + + endDrag: function(event) { + if(this._timeout) { + clearTimeout(this._timeout); + this._timeout = null; + } + if(!this.activeDraggable) return; + this._lastPointer = null; + this.activeDraggable.endDrag(event); + this.activeDraggable = null; + }, + + keyPress: function(event) { + if(this.activeDraggable) + this.activeDraggable.keyPress(event); + }, + + addObserver: function(observer) { + this.observers.push(observer); + this._cacheObserverCallbacks(); + }, + + removeObserver: function(element) { // element instead of observer fixes mem leaks + this.observers = this.observers.reject( function(o) { return o.element==element }); + this._cacheObserverCallbacks(); + }, + + notify: function(eventName, draggable, event) { // 'onStart', 'onEnd', 'onDrag' + if(this[eventName+'Count'] > 0) + this.observers.each( function(o) { + if(o[eventName]) o[eventName](eventName, draggable, event); + }); + if(draggable.options[eventName]) draggable.options[eventName](draggable, event); + }, + + _cacheObserverCallbacks: function() { + ['onStart','onEnd','onDrag'].each( function(eventName) { + Draggables[eventName+'Count'] = Draggables.observers.select( + function(o) { return o[eventName]; } + ).length; + }); + } +}; + +/*--------------------------------------------------------------------------*/ + +var Draggable = Class.create({ + initialize: function(element) { + var defaults = { + handle: false, + reverteffect: function(element, top_offset, left_offset) { + var dur = Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02; + new Effect.Move(element, { x: -left_offset, y: -top_offset, duration: dur, + queue: {scope:'_draggable', position:'end'} + }); + }, + endeffect: function(element) { + var toOpacity = Object.isNumber(element._opacity) ? element._opacity : 1.0; + new Effect.Opacity(element, {duration:0.2, from:0.7, to:toOpacity, + queue: {scope:'_draggable', position:'end'}, + afterFinish: function(){ + Draggable._dragging[element] = false + } + }); + }, + zindex: 1000, + revert: false, + quiet: false, + scroll: false, + scrollSensitivity: 20, + scrollSpeed: 15, + snap: false, // false, or xy or [x,y] or function(x,y){ return [x,y] } + delay: 0 + }; + + if(!arguments[1] || Object.isUndefined(arguments[1].endeffect)) + Object.extend(defaults, { + starteffect: function(element) { + element._opacity = Element.getOpacity(element); + Draggable._dragging[element] = true; + new Effect.Opacity(element, {duration:0.2, from:element._opacity, to:0.7}); + } + }); + + var options = Object.extend(defaults, arguments[1] || { }); + + this.element = DOKUid(element); + + if(options.handle && Object.isString(options.handle)) + this.handle = this.element.down('.'+options.handle, 0); + + if(!this.handle) this.handle = DOKUid(options.handle); + if(!this.handle) this.handle = this.element; + + if(options.scroll && !options.scroll.scrollTo && !options.scroll.outerHTML) { + options.scroll = DOKUid(options.scroll); + this._isScrollChild = Element.childOf(this.element, options.scroll); + } + + Element.makePositioned(this.element); // fix IE + + this.options = options; + this.dragging = false; + + this.eventMouseDown = this.initDrag.bindAsEventListener(this); + Event.observe(this.handle, "mousedown", this.eventMouseDown); + + Draggables.register(this); + }, + + destroy: function() { + Event.stopObserving(this.handle, "mousedown", this.eventMouseDown); + Draggables.unregister(this); + }, + + currentDelta: function() { + return([ + parseInt(Element.getStyle(this.element,'left') || '0'), + parseInt(Element.getStyle(this.element,'top') || '0')]); + }, + + initDrag: function(event) { + if(!Object.isUndefined(Draggable._dragging[this.element]) && + Draggable._dragging[this.element]) return; + if(Event.isLeftClick(event)) { + // abort on form elements, fixes a Firefox issue + var src = Event.element(event); + if((tag_name = src.tagName.toUpperCase()) && ( + tag_name=='INPUT' || + tag_name=='SELECT' || + tag_name=='OPTION' || + tag_name=='BUTTON' || + tag_name=='TEXTAREA')) return; + + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + var pos = this.element.cumulativeOffset(); + this.offset = [0,1].map( function(i) { return (pointer[i] - pos[i]) }); + + Draggables.activate(this); + Event.stop(event); + } + }, + + startDrag: function(event) { + this.dragging = true; + if(!this.delta) + this.delta = this.currentDelta(); + + if(this.options.zindex) { + this.originalZ = parseInt(Element.getStyle(this.element,'z-index') || 0); + this.element.style.zIndex = this.options.zindex; + } + + if(this.options.ghosting) { + this._clone = this.element.cloneNode(true); + this._originallyAbsolute = (this.element.getStyle('position') == 'absolute'); + if (!this._originallyAbsolute) + Position.absolutize(this.element); + this.element.parentNode.insertBefore(this._clone, this.element); + } + + if(this.options.scroll) { + if (this.options.scroll == window) { + var where = this._getWindowScroll(this.options.scroll); + this.originalScrollLeft = where.left; + this.originalScrollTop = where.top; + } else { + this.originalScrollLeft = this.options.scroll.scrollLeft; + this.originalScrollTop = this.options.scroll.scrollTop; + } + } + + Draggables.notify('onStart', this, event); + + if(this.options.starteffect) this.options.starteffect(this.element); + }, + + updateDrag: function(event, pointer) { + if(!this.dragging) this.startDrag(event); + + if(!this.options.quiet){ + Position.prepare(); + Droppables.show(pointer, this.element); + } + + Draggables.notify('onDrag', this, event); + + this.draw(pointer); + if(this.options.change) this.options.change(this); + + if(this.options.scroll) { + this.stopScrolling(); + + var p; + if (this.options.scroll == window) { + with(this._getWindowScroll(this.options.scroll)) { p = [ left, top, left+width, top+height ]; } + } else { + p = Position.page(this.options.scroll); + p[0] += this.options.scroll.scrollLeft + Position.deltaX; + p[1] += this.options.scroll.scrollTop + Position.deltaY; + p.push(p[0]+this.options.scroll.offsetWidth); + p.push(p[1]+this.options.scroll.offsetHeight); + } + var speed = [0,0]; + if(pointer[0] < (p[0]+this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[0]+this.options.scrollSensitivity); + if(pointer[1] < (p[1]+this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[1]+this.options.scrollSensitivity); + if(pointer[0] > (p[2]-this.options.scrollSensitivity)) speed[0] = pointer[0]-(p[2]-this.options.scrollSensitivity); + if(pointer[1] > (p[3]-this.options.scrollSensitivity)) speed[1] = pointer[1]-(p[3]-this.options.scrollSensitivity); + this.startScrolling(speed); + } + + // fix AppleWebKit rendering + if(Prototype.Browser.WebKit) window.scrollBy(0,0); + + Event.stop(event); + }, + + finishDrag: function(event, success) { + this.dragging = false; + + if(this.options.quiet){ + Position.prepare(); + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + Droppables.show(pointer, this.element); + } + + if(this.options.ghosting) { + if (!this._originallyAbsolute) + Position.relativize(this.element); + delete this._originallyAbsolute; + Element.remove(this._clone); + this._clone = null; + } + + var dropped = false; + if(success) { + dropped = Droppables.fire(event, this.element); + if (!dropped) dropped = false; + } + if(dropped && this.options.onDropped) this.options.onDropped(this.element); + Draggables.notify('onEnd', this, event); + + var revert = this.options.revert; + if(revert && Object.isFunction(revert)) revert = revert(this.element); + + var d = this.currentDelta(); + if(revert && this.options.reverteffect) { + if (dropped == 0 || revert != 'failure') + this.options.reverteffect(this.element, + d[1]-this.delta[1], d[0]-this.delta[0]); + } else { + this.delta = d; + } + + if(this.options.zindex) + this.element.style.zIndex = this.originalZ; + + if(this.options.endeffect) + this.options.endeffect(this.element); + + Draggables.deactivate(this); + Droppables.reset(); + }, + + keyPress: function(event) { + if(event.keyCode!=Event.KEY_ESC) return; + this.finishDrag(event, false); + Event.stop(event); + }, + + endDrag: function(event) { + if(!this.dragging) return; + this.stopScrolling(); + this.finishDrag(event, true); + Event.stop(event); + }, + + draw: function(point) { + var pos = this.element.cumulativeOffset(); + if(this.options.ghosting) { + var r = Position.realOffset(this.element); + pos[0] += r[0] - Position.deltaX; pos[1] += r[1] - Position.deltaY; + } + + var d = this.currentDelta(); + pos[0] -= d[0]; pos[1] -= d[1]; + + if(this.options.scroll && (this.options.scroll != window && this._isScrollChild)) { + pos[0] -= this.options.scroll.scrollLeft-this.originalScrollLeft; + pos[1] -= this.options.scroll.scrollTop-this.originalScrollTop; + } + + var p = [0,1].map(function(i){ + return (point[i]-pos[i]-this.offset[i]) + }.bind(this)); + + if(this.options.snap) { + if(Object.isFunction(this.options.snap)) { + p = this.options.snap(p[0],p[1],this); + } else { + if(Object.isArray(this.options.snap)) { + p = p.map( function(v, i) { + return (v/this.options.snap[i]).round()*this.options.snap[i] }.bind(this)); + } else { + p = p.map( function(v) { + return (v/this.options.snap).round()*this.options.snap }.bind(this)); + } + }} + + var style = this.element.style; + if((!this.options.constraint) || (this.options.constraint=='horizontal')) + style.left = p[0] + "px"; + if((!this.options.constraint) || (this.options.constraint=='vertical')) + style.top = p[1] + "px"; + + if(style.visibility=="hidden") style.visibility = ""; // fix gecko rendering + }, + + stopScrolling: function() { + if(this.scrollInterval) { + clearInterval(this.scrollInterval); + this.scrollInterval = null; + Draggables._lastScrollPointer = null; + } + }, + + startScrolling: function(speed) { + if(!(speed[0] || speed[1])) return; + this.scrollSpeed = [speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed]; + this.lastScrolled = new Date(); + this.scrollInterval = setInterval(this.scroll.bind(this), 10); + }, + + scroll: function() { + var current = new Date(); + var delta = current - this.lastScrolled; + this.lastScrolled = current; + if(this.options.scroll == window) { + with (this._getWindowScroll(this.options.scroll)) { + if (this.scrollSpeed[0] || this.scrollSpeed[1]) { + var d = delta / 1000; + this.options.scroll.scrollTo( left + d*this.scrollSpeed[0], top + d*this.scrollSpeed[1] ); + } + } + } else { + this.options.scroll.scrollLeft += this.scrollSpeed[0] * delta / 1000; + this.options.scroll.scrollTop += this.scrollSpeed[1] * delta / 1000; + } + + Position.prepare(); + Droppables.show(Draggables._lastPointer, this.element); + Draggables.notify('onDrag', this); + if (this._isScrollChild) { + Draggables._lastScrollPointer = Draggables._lastScrollPointer || $A(Draggables._lastPointer); + Draggables._lastScrollPointer[0] += this.scrollSpeed[0] * delta / 1000; + Draggables._lastScrollPointer[1] += this.scrollSpeed[1] * delta / 1000; + if (Draggables._lastScrollPointer[0] < 0) + Draggables._lastScrollPointer[0] = 0; + if (Draggables._lastScrollPointer[1] < 0) + Draggables._lastScrollPointer[1] = 0; + this.draw(Draggables._lastScrollPointer); + } + + if(this.options.change) this.options.change(this); + }, + + _getWindowScroll: function(w) { + var T, L, W, H; + with (w.document) { + if (w.document.documentElement && documentElement.scrollTop) { + T = documentElement.scrollTop; + L = documentElement.scrollLeft; + } else if (w.document.body) { + T = body.scrollTop; + L = body.scrollLeft; + } + if (w.innerWidth) { + W = w.innerWidth; + H = w.innerHeight; + } else if (w.document.documentElement && documentElement.clientWidth) { + W = documentElement.clientWidth; + H = documentElement.clientHeight; + } else { + W = body.offsetWidth; + H = body.offsetHeight; + } + } + return { top: T, left: L, width: W, height: H }; + } +}); + +Draggable._dragging = { }; + +/*--------------------------------------------------------------------------*/ + +var SortableObserver = Class.create({ + initialize: function(element, observer) { + this.element = DOKUid(element); + this.observer = observer; + this.lastValue = Sortable.serialize(this.element); + }, + + onStart: function() { + this.lastValue = Sortable.serialize(this.element); + }, + + onEnd: function() { + Sortable.unmark(); + if(this.lastValue != Sortable.serialize(this.element)) + this.observer(this.element) + } +}); + +var Sortable = { + SERIALIZE_RULE: /^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/, + + sortables: { }, + + _findRootElement: function(element) { + while (element.tagName.toUpperCase() != "BODY") { + if(element.id && Sortable.sortables[element.id]) return element; + element = element.parentNode; + } + }, + + options: function(element) { + element = Sortable._findRootElement(DOKUid(element)); + if(!element) return; + return Sortable.sortables[element.id]; + }, + + destroy: function(element){ + element = DOKUid(element); + var s = Sortable.sortables[element.id]; + + if(s) { + Draggables.removeObserver(s.element); + s.droppables.each(function(d){ Droppables.remove(d) }); + s.draggables.invoke('destroy'); + + delete Sortable.sortables[s.element.id]; + } + }, + + create: function(element) { + element = DOKUid(element); + var options = Object.extend({ + element: element, + tag: 'li', // assumes li children, override with tag: 'tagname' + dropOnEmpty: false, + tree: false, + treeTag: 'ul', + overlap: 'vertical', // one of 'vertical', 'horizontal' + constraint: 'vertical', // one of 'vertical', 'horizontal', false + containment: element, // also takes array of elements (or id's); or false + handle: false, // or a CSS class + only: false, + delay: 0, + hoverclass: null, + ghosting: false, + quiet: false, + scroll: false, + scrollSensitivity: 20, + scrollSpeed: 15, + format: this.SERIALIZE_RULE, + + // these take arrays of elements or ids and can be + // used for better initialization performance + elements: false, + handles: false, + + onChange: Prototype.emptyFunction, + onUpdate: Prototype.emptyFunction + }, arguments[1] || { }); + + // clear any old sortable with same element + this.destroy(element); + + // build options for the draggables + var options_for_draggable = { + revert: true, + quiet: options.quiet, + scroll: options.scroll, + scrollSpeed: options.scrollSpeed, + scrollSensitivity: options.scrollSensitivity, + delay: options.delay, + ghosting: options.ghosting, + constraint: options.constraint, + handle: options.handle }; + + if(options.starteffect) + options_for_draggable.starteffect = options.starteffect; + + if(options.reverteffect) + options_for_draggable.reverteffect = options.reverteffect; + else + if(options.ghosting) options_for_draggable.reverteffect = function(element) { + element.style.top = 0; + element.style.left = 0; + }; + + if(options.endeffect) + options_for_draggable.endeffect = options.endeffect; + + if(options.zindex) + options_for_draggable.zindex = options.zindex; + + // build options for the droppables + var options_for_droppable = { + overlap: options.overlap, + containment: options.containment, + tree: options.tree, + hoverclass: options.hoverclass, + onHover: Sortable.onHover + }; + + var options_for_tree = { + onHover: Sortable.onEmptyHover, + overlap: options.overlap, + containment: options.containment, + hoverclass: options.hoverclass + }; + + // fix for gecko engine + Element.cleanWhitespace(element); + + options.draggables = []; + options.droppables = []; + + // drop on empty handling + if(options.dropOnEmpty || options.tree) { + Droppables.add(element, options_for_tree); + options.droppables.push(element); + } + + (options.elements || this.findElements(element, options) || []).each( function(e,i) { + var handle = options.handles ? DOKUid(options.handles[i]) : + (options.handle ? DOKUid(e).select('.' + options.handle)[0] : e); + options.draggables.push( + new Draggable(e, Object.extend(options_for_draggable, { handle: handle }))); + Droppables.add(e, options_for_droppable); + if(options.tree) e.treeNode = element; + options.droppables.push(e); + }); + + if(options.tree) { + (Sortable.findTreeElements(element, options) || []).each( function(e) { + Droppables.add(e, options_for_tree); + e.treeNode = element; + options.droppables.push(e); + }); + } + + // keep reference + this.sortables[element.identify()] = options; + + // for onupdate + Draggables.addObserver(new SortableObserver(element, options.onUpdate)); + + }, + + // return all suitable-for-sortable elements in a guaranteed order + findElements: function(element, options) { + return Element.findChildren( + element, options.only, options.tree ? true : false, options.tag); + }, + + findTreeElements: function(element, options) { + return Element.findChildren( + element, options.only, options.tree ? true : false, options.treeTag); + }, + + onHover: function(element, dropon, overlap) { + if(Element.isParent(dropon, element)) return; + + if(overlap > .33 && overlap < .66 && Sortable.options(dropon).tree) { + return; + } else if(overlap>0.5) { + Sortable.mark(dropon, 'before'); + if(dropon.previousSibling != element) { + var oldParentNode = element.parentNode; + element.style.visibility = "hidden"; // fix gecko rendering + dropon.parentNode.insertBefore(element, dropon); + if(dropon.parentNode!=oldParentNode) + Sortable.options(oldParentNode).onChange(element); + Sortable.options(dropon.parentNode).onChange(element); + } + } else { + Sortable.mark(dropon, 'after'); + var nextElement = dropon.nextSibling || null; + if(nextElement != element) { + var oldParentNode = element.parentNode; + element.style.visibility = "hidden"; // fix gecko rendering + dropon.parentNode.insertBefore(element, nextElement); + if(dropon.parentNode!=oldParentNode) + Sortable.options(oldParentNode).onChange(element); + Sortable.options(dropon.parentNode).onChange(element); + } + } + }, + + onEmptyHover: function(element, dropon, overlap) { + var oldParentNode = element.parentNode; + var droponOptions = Sortable.options(dropon); + + if(!Element.isParent(dropon, element)) { + var index; + + var children = Sortable.findElements(dropon, {tag: droponOptions.tag, only: droponOptions.only}); + var child = null; + + if(children) { + var offset = Element.offsetSize(dropon, droponOptions.overlap) * (1.0 - overlap); + + for (index = 0; index < children.length; index += 1) { + if (offset - Element.offsetSize (children[index], droponOptions.overlap) >= 0) { + offset -= Element.offsetSize (children[index], droponOptions.overlap); + } else if (offset - (Element.offsetSize (children[index], droponOptions.overlap) / 2) >= 0) { + child = index + 1 < children.length ? children[index + 1] : null; + break; + } else { + child = children[index]; + break; + } + } + } + + dropon.insertBefore(element, child); + + Sortable.options(oldParentNode).onChange(element); + droponOptions.onChange(element); + } + }, + + unmark: function() { + if(Sortable._marker) Sortable._marker.hide(); + }, + + mark: function(dropon, position) { + // mark on ghosting only + var sortable = Sortable.options(dropon.parentNode); + if(sortable && !sortable.ghosting) return; + + if(!Sortable._marker) { + Sortable._marker = + (DOKUid('dropmarker') || Element.extend(document.createElement('DIV'))). + hide().addClassName('dropmarker').setStyle({position:'absolute'}); + document.getElementsByTagName("body").item(0).appendChild(Sortable._marker); + } + var offsets = dropon.cumulativeOffset(); + Sortable._marker.setStyle({left: offsets[0]+'px', top: offsets[1] + 'px'}); + + if(position=='after') + if(sortable.overlap == 'horizontal') + Sortable._marker.setStyle({left: (offsets[0]+dropon.clientWidth) + 'px'}); + else + Sortable._marker.setStyle({top: (offsets[1]+dropon.clientHeight) + 'px'}); + + Sortable._marker.show(); + }, + + _tree: function(element, options, parent) { + var children = Sortable.findElements(element, options) || []; + + for (var i = 0; i < children.length; ++i) { + var match = children[i].id.match(options.format); + + if (!match) continue; + + var child = { + id: encodeURIComponent(match ? match[1] : null), + element: element, + parent: parent, + children: [], + position: parent.children.length, + container: DOKUid(children[i]).down(options.treeTag) + }; + + /* Get the element containing the children and recurse over it */ + if (child.container) + this._tree(child.container, options, child); + + parent.children.push (child); + } + + return parent; + }, + + tree: function(element) { + element = DOKUid(element); + var sortableOptions = this.options(element); + var options = Object.extend({ + tag: sortableOptions.tag, + treeTag: sortableOptions.treeTag, + only: sortableOptions.only, + name: element.id, + format: sortableOptions.format + }, arguments[1] || { }); + + var root = { + id: null, + parent: null, + children: [], + container: element, + position: 0 + }; + + return Sortable._tree(element, options, root); + }, + + /* Construct a [i] index for a particular node */ + _constructIndex: function(node) { + var index = ''; + do { + if (node.id) index = '[' + node.position + ']' + index; + } while ((node = node.parent) != null); + return index; + }, + + sequence: function(element) { + element = DOKUid(element); + var options = Object.extend(this.options(element), arguments[1] || { }); + + return DOKUid(this.findElements(element, options) || []).map( function(item) { + return item.id.match(options.format) ? item.id.match(options.format)[1] : ''; + }); + }, + + setSequence: function(element, new_sequence) { + element = DOKUid(element); + var options = Object.extend(this.options(element), arguments[2] || { }); + + var nodeMap = { }; + this.findElements(element, options).each( function(n) { + if (n.id.match(options.format)) + nodeMap[n.id.match(options.format)[1]] = [n, n.parentNode]; + n.parentNode.removeChild(n); + }); + + new_sequence.each(function(ident) { + var n = nodeMap[ident]; + if (n) { + n[1].appendChild(n[0]); + delete nodeMap[ident]; + } + }); + }, + + serialize: function(element) { + element = DOKUid(element); + var options = Object.extend(Sortable.options(element), arguments[1] || { }); + var name = encodeURIComponent( + (arguments[1] && arguments[1].name) ? arguments[1].name : element.id); + + if (options.tree) { + return Sortable.tree(element, arguments[1]).children.map( function (item) { + return [name + Sortable._constructIndex(item) + "[id]=" + + encodeURIComponent(item.id)].concat(item.children.map(arguments.callee)); + }).flatten().join('&'); + } else { + return Sortable.sequence(element, arguments[1]).map( function(item) { + return name + "[]=" + encodeURIComponent(item); + }).join('&'); + } + } +}; + +// Returns true if child is contained within element +Element.isParent = function(child, element) { + if (!child.parentNode || child == element) return false; + if (child.parentNode == element) return true; + return Element.isParent(child.parentNode, element); +}; + +Element.findChildren = function(element, only, recursive, tagName) { + if(!element.hasChildNodes()) return null; + tagName = tagName.toUpperCase(); + if(only) only = [only].flatten(); + var elements = []; + $A(element.childNodes).each( function(e) { + if(e.tagName && e.tagName.toUpperCase()==tagName && + (!only || (Element.classNames(e).detect(function(v) { return only.include(v) })))) + elements.push(e); + if(recursive) { + var grandchildren = Element.findChildren(e, only, recursive, tagName); + if(grandchildren) elements.push(grandchildren); + } + }); + + return (elements.length>0 ? elements.flatten() : []); +}; + +Element.offsetSize = function (element, type) { + return element['offset' + ((type=='vertical' || type=='height') ? 'Height' : 'Width')]; +};
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/effects.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/effects.js new file mode 100644 index 000000000..5ee17d3e2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/effects.js @@ -0,0 +1,1123 @@ +// script.aculo.us effects.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// Contributors: +// Justin Palmer (http://encytemedia.com/) +// Mark Pilgrim (http://diveintomark.org/) +// Martin Bialasinki +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +// converts rgb() and #xxx to #xxxxxx format, +// returns self (or first argument) if not convertable +String.prototype.parseColor = function() { + var color = '#'; + if (this.slice(0,4) == 'rgb(') { + var cols = this.slice(4,this.length-1).split(','); + var i=0; do { color += parseInt(cols[i]).toColorPart() } while (++i<3); + } else { + if (this.slice(0,1) == '#') { + if (this.length==4) for(var i=1;i<4;i++) color += (this.charAt(i) + this.charAt(i)).toLowerCase(); + if (this.length==7) color = this.toLowerCase(); + } + } + return (color.length==7 ? color : (arguments[0] || this)); +}; + +/*--------------------------------------------------------------------------*/ + +Element.collectTextNodes = function(element) { + return $A(DOKUid(element).childNodes).collect( function(node) { + return (node.nodeType==3 ? node.nodeValue : + (node.hasChildNodes() ? Element.collectTextNodes(node) : '')); + }).flatten().join(''); +}; + +Element.collectTextNodesIgnoreClass = function(element, className) { + return $A(DOKUid(element).childNodes).collect( function(node) { + return (node.nodeType==3 ? node.nodeValue : + ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? + Element.collectTextNodesIgnoreClass(node, className) : '')); + }).flatten().join(''); +}; + +Element.setContentZoom = function(element, percent) { + element = DOKUid(element); + element.setStyle({fontSize: (percent/100) + 'em'}); + if (Prototype.Browser.WebKit) window.scrollBy(0,0); + return element; +}; + +Element.getInlineOpacity = function(element){ + return DOKUid(element).style.opacity || ''; +}; + +Element.forceRerendering = function(element) { + try { + element = DOKUid(element); + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch(e) { } +}; + +/*--------------------------------------------------------------------------*/ + +var Effect = { + _elementDoesNotExistError: { + name: 'ElementDoesNotExistError', + message: 'The specified DOM element does not exist, but is required for this effect to operate' + }, + Transitions: { + linear: Prototype.K, + sinoidal: function(pos) { + return (-Math.cos(pos*Math.PI)/2) + .5; + }, + reverse: function(pos) { + return 1-pos; + }, + flicker: function(pos) { + var pos = ((-Math.cos(pos*Math.PI)/4) + .75) + Math.random()/4; + return pos > 1 ? 1 : pos; + }, + wobble: function(pos) { + return (-Math.cos(pos*Math.PI*(9*pos))/2) + .5; + }, + pulse: function(pos, pulses) { + return (-Math.cos((pos*((pulses||5)-.5)*2)*Math.PI)/2) + .5; + }, + spring: function(pos) { + return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); + }, + none: function(pos) { + return 0; + }, + full: function(pos) { + return 1; + } + }, + DefaultOptions: { + duration: 1.0, // seconds + fps: 100, // 100= assume 66fps max. + sync: false, // true for combining + from: 0.0, + to: 1.0, + delay: 0.0, + queue: 'parallel' + }, + tagifyText: function(element) { + var tagifyStyle = 'position:relative'; + if (Prototype.Browser.IE) tagifyStyle += ';zoom:1'; + + element = DOKUid(element); + $A(element.childNodes).each( function(child) { + if (child.nodeType==3) { + child.nodeValue.toArray().each( function(character) { + element.insertBefore( + new Element('span', {style: tagifyStyle}).update( + character == ' ' ? String.fromCharCode(160) : character), + child); + }); + Element.remove(child); + } + }); + }, + multiple: function(element, effect) { + var elements; + if (((typeof element == 'object') || + Object.isFunction(element)) && + (element.length)) + elements = element; + else + elements = DOKUid(element).childNodes; + + var options = Object.extend({ + speed: 0.1, + delay: 0.0 + }, arguments[2] || { }); + var masterDelay = options.delay; + + $A(elements).each( function(element, index) { + new effect(element, Object.extend(options, { delay: index * options.speed + masterDelay })); + }); + }, + PAIRS: { + 'slide': ['SlideDown','SlideUp'], + 'blind': ['BlindDown','BlindUp'], + 'appear': ['Appear','Fade'] + }, + toggle: function(element, effect, options) { + element = DOKUid(element); + effect = (effect || 'appear').toLowerCase(); + + return Effect[ Effect.PAIRS[ effect ][ element.visible() ? 1 : 0 ] ](element, Object.extend({ + queue: { position:'end', scope:(element.id || 'global'), limit: 1 } + }, options || {})); + } +}; + +Effect.DefaultOptions.transition = Effect.Transitions.sinoidal; + +/* ------------- core effects ------------- */ + +Effect.ScopedQueue = Class.create(Enumerable, { + initialize: function() { + this.effects = []; + this.interval = null; + }, + _each: function(iterator) { + this.effects._each(iterator); + }, + add: function(effect) { + var timestamp = new Date().getTime(); + + var position = Object.isString(effect.options.queue) ? + effect.options.queue : effect.options.queue.position; + + switch(position) { + case 'front': + // move unstarted effects after this effect + this.effects.findAll(function(e){ return e.state=='idle' }).each( function(e) { + e.startOn += effect.finishOn; + e.finishOn += effect.finishOn; + }); + break; + case 'with-last': + timestamp = this.effects.pluck('startOn').max() || timestamp; + break; + case 'end': + // start effect after last queued effect has finished + timestamp = this.effects.pluck('finishOn').max() || timestamp; + break; + } + + effect.startOn += timestamp; + effect.finishOn += timestamp; + + if (!effect.options.queue.limit || (this.effects.length < effect.options.queue.limit)) + this.effects.push(effect); + + if (!this.interval) + this.interval = setInterval(this.loop.bind(this), 15); + }, + remove: function(effect) { + this.effects = this.effects.reject(function(e) { return e==effect }); + if (this.effects.length == 0) { + clearInterval(this.interval); + this.interval = null; + } + }, + loop: function() { + var timePos = new Date().getTime(); + for(var i=0, len=this.effects.length;i<len;i++) + this.effects[i] && this.effects[i].loop(timePos); + } +}); + +Effect.Queues = { + instances: $H(), + get: function(queueName) { + if (!Object.isString(queueName)) return queueName; + + return this.instances.get(queueName) || + this.instances.set(queueName, new Effect.ScopedQueue()); + } +}; +Effect.Queue = Effect.Queues.get('global'); + +Effect.Base = Class.create({ + position: null, + start: function(options) { + if (options && options.transition === false) options.transition = Effect.Transitions.linear; + this.options = Object.extend(Object.extend({ },Effect.DefaultOptions), options || { }); + this.currentFrame = 0; + this.state = 'idle'; + this.startOn = this.options.delay*1000; + this.finishOn = this.startOn+(this.options.duration*1000); + this.fromToDelta = this.options.to-this.options.from; + this.totalTime = this.finishOn-this.startOn; + this.totalFrames = this.options.fps*this.options.duration; + + this.render = (function() { + function dispatch(effect, eventName) { + if (effect.options[eventName + 'Internal']) + effect.options[eventName + 'Internal'](effect); + if (effect.options[eventName]) + effect.options[eventName](effect); + } + + return function(pos) { + if (this.state === "idle") { + this.state = "running"; + dispatch(this, 'beforeSetup'); + if (this.setup) this.setup(); + dispatch(this, 'afterSetup'); + } + if (this.state === "running") { + pos = (this.options.transition(pos) * this.fromToDelta) + this.options.from; + this.position = pos; + dispatch(this, 'beforeUpdate'); + if (this.update) this.update(pos); + dispatch(this, 'afterUpdate'); + } + }; + })(); + + this.event('beforeStart'); + if (!this.options.sync) + Effect.Queues.get(Object.isString(this.options.queue) ? + 'global' : this.options.queue.scope).add(this); + }, + loop: function(timePos) { + if (timePos >= this.startOn) { + if (timePos >= this.finishOn) { + this.render(1.0); + this.cancel(); + this.event('beforeFinish'); + if (this.finish) this.finish(); + this.event('afterFinish'); + return; + } + var pos = (timePos - this.startOn) / this.totalTime, + frame = (pos * this.totalFrames).round(); + if (frame > this.currentFrame) { + this.render(pos); + this.currentFrame = frame; + } + } + }, + cancel: function() { + if (!this.options.sync) + Effect.Queues.get(Object.isString(this.options.queue) ? + 'global' : this.options.queue.scope).remove(this); + this.state = 'finished'; + }, + event: function(eventName) { + if (this.options[eventName + 'Internal']) this.options[eventName + 'Internal'](this); + if (this.options[eventName]) this.options[eventName](this); + }, + inspect: function() { + var data = $H(); + for(property in this) + if (!Object.isFunction(this[property])) data.set(property, this[property]); + return '#<Effect:' + data.inspect() + ',options:' + $H(this.options).inspect() + '>'; + } +}); + +Effect.Parallel = Class.create(Effect.Base, { + initialize: function(effects) { + this.effects = effects || []; + this.start(arguments[1]); + }, + update: function(position) { + this.effects.invoke('render', position); + }, + finish: function(position) { + this.effects.each( function(effect) { + effect.render(1.0); + effect.cancel(); + effect.event('beforeFinish'); + if (effect.finish) effect.finish(position); + effect.event('afterFinish'); + }); + } +}); + +Effect.Tween = Class.create(Effect.Base, { + initialize: function(object, from, to) { + object = Object.isString(object) ? DOKUid(object) : object; + var args = $A(arguments), method = args.last(), + options = args.length == 5 ? args[3] : null; + this.method = Object.isFunction(method) ? method.bind(object) : + Object.isFunction(object[method]) ? object[method].bind(object) : + function(value) { object[method] = value }; + this.start(Object.extend({ from: from, to: to }, options || { })); + }, + update: function(position) { + this.method(position); + } +}); + +Effect.Event = Class.create(Effect.Base, { + initialize: function() { + this.start(Object.extend({ duration: 0 }, arguments[0] || { })); + }, + update: Prototype.emptyFunction +}); + +Effect.Opacity = Class.create(Effect.Base, { + initialize: function(element) { + this.element = DOKUid(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + // make this work on IE on elements without 'layout' + if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) + this.element.setStyle({zoom: 1}); + var options = Object.extend({ + from: this.element.getOpacity() || 0.0, + to: 1.0 + }, arguments[1] || { }); + this.start(options); + }, + update: function(position) { + this.element.setOpacity(position); + } +}); + +Effect.Move = Class.create(Effect.Base, { + initialize: function(element) { + this.element = DOKUid(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ + x: 0, + y: 0, + mode: 'relative' + }, arguments[1] || { }); + this.start(options); + }, + setup: function() { + this.element.makePositioned(); + this.originalLeft = parseFloat(this.element.getStyle('left') || '0'); + this.originalTop = parseFloat(this.element.getStyle('top') || '0'); + if (this.options.mode == 'absolute') { + this.options.x = this.options.x - this.originalLeft; + this.options.y = this.options.y - this.originalTop; + } + }, + update: function(position) { + this.element.setStyle({ + left: (this.options.x * position + this.originalLeft).round() + 'px', + top: (this.options.y * position + this.originalTop).round() + 'px' + }); + } +}); + +// for backwards compatibility +Effect.MoveBy = function(element, toTop, toLeft) { + return new Effect.Move(element, + Object.extend({ x: toLeft, y: toTop }, arguments[3] || { })); +}; + +Effect.Scale = Class.create(Effect.Base, { + initialize: function(element, percent) { + this.element = DOKUid(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ + scaleX: true, + scaleY: true, + scaleContent: true, + scaleFromCenter: false, + scaleMode: 'box', // 'box' or 'contents' or { } with provided values + scaleFrom: 100.0, + scaleTo: percent + }, arguments[2] || { }); + this.start(options); + }, + setup: function() { + this.restoreAfterFinish = this.options.restoreAfterFinish || false; + this.elementPositioning = this.element.getStyle('position'); + + this.originalStyle = { }; + ['top','left','width','height','fontSize'].each( function(k) { + this.originalStyle[k] = this.element.style[k]; + }.bind(this)); + + this.originalTop = this.element.offsetTop; + this.originalLeft = this.element.offsetLeft; + + var fontSize = this.element.getStyle('font-size') || '100%'; + ['em','px','%','pt'].each( function(fontSizeType) { + if (fontSize.indexOf(fontSizeType)>0) { + this.fontSize = parseFloat(fontSize); + this.fontSizeType = fontSizeType; + } + }.bind(this)); + + this.factor = (this.options.scaleTo - this.options.scaleFrom)/100; + + this.dims = null; + if (this.options.scaleMode=='box') + this.dims = [this.element.offsetHeight, this.element.offsetWidth]; + if (/^content/.test(this.options.scaleMode)) + this.dims = [this.element.scrollHeight, this.element.scrollWidth]; + if (!this.dims) + this.dims = [this.options.scaleMode.originalHeight, + this.options.scaleMode.originalWidth]; + }, + update: function(position) { + var currentScale = (this.options.scaleFrom/100.0) + (this.factor * position); + if (this.options.scaleContent && this.fontSize) + this.element.setStyle({fontSize: this.fontSize * currentScale + this.fontSizeType }); + this.setDimensions(this.dims[0] * currentScale, this.dims[1] * currentScale); + }, + finish: function(position) { + if (this.restoreAfterFinish) this.element.setStyle(this.originalStyle); + }, + setDimensions: function(height, width) { + var d = { }; + if (this.options.scaleX) d.width = width.round() + 'px'; + if (this.options.scaleY) d.height = height.round() + 'px'; + if (this.options.scaleFromCenter) { + var topd = (height - this.dims[0])/2; + var leftd = (width - this.dims[1])/2; + if (this.elementPositioning == 'absolute') { + if (this.options.scaleY) d.top = this.originalTop-topd + 'px'; + if (this.options.scaleX) d.left = this.originalLeft-leftd + 'px'; + } else { + if (this.options.scaleY) d.top = -topd + 'px'; + if (this.options.scaleX) d.left = -leftd + 'px'; + } + } + this.element.setStyle(d); + } +}); + +Effect.Highlight = Class.create(Effect.Base, { + initialize: function(element) { + this.element = DOKUid(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || { }); + this.start(options); + }, + setup: function() { + // Prevent executing on elements not in the layout flow + if (this.element.getStyle('display')=='none') { this.cancel(); return; } + // Disable background image during the effect + this.oldStyle = { }; + if (!this.options.keepBackgroundImage) { + this.oldStyle.backgroundImage = this.element.getStyle('background-image'); + this.element.setStyle({backgroundImage: 'none'}); + } + if (!this.options.endcolor) + this.options.endcolor = this.element.getStyle('background-color').parseColor('#ffffff'); + if (!this.options.restorecolor) + this.options.restorecolor = this.element.getStyle('background-color'); + // init color calculations + this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this)); + this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this)); + }, + update: function(position) { + this.element.setStyle({backgroundColor: $R(0,2).inject('#',function(m,v,i){ + return m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); }.bind(this)) }); + }, + finish: function() { + this.element.setStyle(Object.extend(this.oldStyle, { + backgroundColor: this.options.restorecolor + })); + } +}); + +Effect.ScrollTo = function(element) { + var options = arguments[1] || { }, + scrollOffsets = document.viewport.getScrollOffsets(), + elementOffsets = DOKUid(element).cumulativeOffset(); + + if (options.offset) elementOffsets[1] += options.offset; + + return new Effect.Tween(null, + scrollOffsets.top, + elementOffsets[1], + options, + function(p){ scrollTo(scrollOffsets.left, p.round()); } + ); +}; + +/* ------------- combination effects ------------- */ + +Effect.Fade = function(element) { + element = DOKUid(element); + var oldOpacity = element.getInlineOpacity(); + var options = Object.extend({ + from: element.getOpacity() || 1.0, + to: 0.0, + afterFinishInternal: function(effect) { + if (effect.options.to!=0) return; + effect.element.hide().setStyle({opacity: oldOpacity}); + } + }, arguments[1] || { }); + return new Effect.Opacity(element,options); +}; + +Effect.Appear = function(element) { + element = DOKUid(element); + var options = Object.extend({ + from: (element.getStyle('display') == 'none' ? 0.0 : element.getOpacity() || 0.0), + to: 1.0, + // force Safari to render floated elements properly + afterFinishInternal: function(effect) { + effect.element.forceRerendering(); + }, + beforeSetup: function(effect) { + effect.element.setOpacity(effect.options.from).show(); + }}, arguments[1] || { }); + return new Effect.Opacity(element,options); +}; + +Effect.Puff = function(element) { + element = DOKUid(element); + var oldStyle = { + opacity: element.getInlineOpacity(), + position: element.getStyle('position'), + top: element.style.top, + left: element.style.left, + width: element.style.width, + height: element.style.height + }; + return new Effect.Parallel( + [ new Effect.Scale(element, 200, + { sync: true, scaleFromCenter: true, scaleContent: true, restoreAfterFinish: true }), + new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], + Object.extend({ duration: 1.0, + beforeSetupInternal: function(effect) { + Position.absolutize(effect.effects[0].element); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.hide().setStyle(oldStyle); } + }, arguments[1] || { }) + ); +}; + +Effect.BlindUp = function(element) { + element = DOKUid(element); + element.makeClipping(); + return new Effect.Scale(element, 0, + Object.extend({ scaleContent: false, + scaleX: false, + restoreAfterFinish: true, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping(); + } + }, arguments[1] || { }) + ); +}; + +Effect.BlindDown = function(element) { + element = DOKUid(element); + var elementDimensions = element.getDimensions(); + return new Effect.Scale(element, 100, Object.extend({ + scaleContent: false, + scaleX: false, + scaleFrom: 0, + scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, + restoreAfterFinish: true, + afterSetup: function(effect) { + effect.element.makeClipping().setStyle({height: '0px'}).show(); + }, + afterFinishInternal: function(effect) { + effect.element.undoClipping(); + } + }, arguments[1] || { })); +}; + +Effect.SwitchOff = function(element) { + element = DOKUid(element); + var oldOpacity = element.getInlineOpacity(); + return new Effect.Appear(element, Object.extend({ + duration: 0.4, + from: 0, + transition: Effect.Transitions.flicker, + afterFinishInternal: function(effect) { + new Effect.Scale(effect.element, 1, { + duration: 0.3, scaleFromCenter: true, + scaleX: false, scaleContent: false, restoreAfterFinish: true, + beforeSetup: function(effect) { + effect.element.makePositioned().makeClipping(); + }, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: oldOpacity}); + } + }); + } + }, arguments[1] || { })); +}; + +Effect.DropOut = function(element) { + element = DOKUid(element); + var oldStyle = { + top: element.getStyle('top'), + left: element.getStyle('left'), + opacity: element.getInlineOpacity() }; + return new Effect.Parallel( + [ new Effect.Move(element, {x: 0, y: 100, sync: true }), + new Effect.Opacity(element, { sync: true, to: 0.0 }) ], + Object.extend( + { duration: 0.5, + beforeSetup: function(effect) { + effect.effects[0].element.makePositioned(); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle); + } + }, arguments[1] || { })); +}; + +Effect.Shake = function(element) { + element = DOKUid(element); + var options = Object.extend({ + distance: 20, + duration: 0.5 + }, arguments[1] || {}); + var distance = parseFloat(options.distance); + var split = parseFloat(options.duration) / 10.0; + var oldStyle = { + top: element.getStyle('top'), + left: element.getStyle('left') }; + return new Effect.Move(element, + { x: distance, y: 0, duration: split, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: -distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: distance*2, y: 0, duration: split*2, afterFinishInternal: function(effect) { + new Effect.Move(effect.element, + { x: -distance, y: 0, duration: split, afterFinishInternal: function(effect) { + effect.element.undoPositioned().setStyle(oldStyle); + }}); }}); }}); }}); }}); }}); +}; + +Effect.SlideDown = function(element) { + element = DOKUid(element).cleanWhitespace(); + // SlideDown need to have the content of the element wrapped in a container element with fixed height! + var oldInnerBottom = element.down().getStyle('bottom'); + var elementDimensions = element.getDimensions(); + return new Effect.Scale(element, 100, Object.extend({ + scaleContent: false, + scaleX: false, + scaleFrom: window.opera ? 0 : 1, + scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, + restoreAfterFinish: true, + afterSetup: function(effect) { + effect.element.makePositioned(); + effect.element.down().makePositioned(); + if (window.opera) effect.element.setStyle({top: ''}); + effect.element.makeClipping().setStyle({height: '0px'}).show(); + }, + afterUpdateInternal: function(effect) { + effect.element.down().setStyle({bottom: + (effect.dims[0] - effect.element.clientHeight) + 'px' }); + }, + afterFinishInternal: function(effect) { + effect.element.undoClipping().undoPositioned(); + effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); } + }, arguments[1] || { }) + ); +}; + +Effect.SlideUp = function(element) { + element = DOKUid(element).cleanWhitespace(); + var oldInnerBottom = element.down().getStyle('bottom'); + var elementDimensions = element.getDimensions(); + return new Effect.Scale(element, window.opera ? 0 : 1, + Object.extend({ scaleContent: false, + scaleX: false, + scaleMode: 'box', + scaleFrom: 100, + scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width}, + restoreAfterFinish: true, + afterSetup: function(effect) { + effect.element.makePositioned(); + effect.element.down().makePositioned(); + if (window.opera) effect.element.setStyle({top: ''}); + effect.element.makeClipping().show(); + }, + afterUpdateInternal: function(effect) { + effect.element.down().setStyle({bottom: + (effect.dims[0] - effect.element.clientHeight) + 'px' }); + }, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping().undoPositioned(); + effect.element.down().undoPositioned().setStyle({bottom: oldInnerBottom}); + } + }, arguments[1] || { }) + ); +}; + +// Bug in opera makes the TD containing this element expand for a instance after finish +Effect.Squish = function(element) { + return new Effect.Scale(element, window.opera ? 1 : 0, { + restoreAfterFinish: true, + beforeSetup: function(effect) { + effect.element.makeClipping(); + }, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping(); + } + }); +}; + +Effect.Grow = function(element) { + element = DOKUid(element); + var options = Object.extend({ + direction: 'center', + moveTransition: Effect.Transitions.sinoidal, + scaleTransition: Effect.Transitions.sinoidal, + opacityTransition: Effect.Transitions.full + }, arguments[1] || { }); + var oldStyle = { + top: element.style.top, + left: element.style.left, + height: element.style.height, + width: element.style.width, + opacity: element.getInlineOpacity() }; + + var dims = element.getDimensions(); + var initialMoveX, initialMoveY; + var moveX, moveY; + + switch (options.direction) { + case 'top-left': + initialMoveX = initialMoveY = moveX = moveY = 0; + break; + case 'top-right': + initialMoveX = dims.width; + initialMoveY = moveY = 0; + moveX = -dims.width; + break; + case 'bottom-left': + initialMoveX = moveX = 0; + initialMoveY = dims.height; + moveY = -dims.height; + break; + case 'bottom-right': + initialMoveX = dims.width; + initialMoveY = dims.height; + moveX = -dims.width; + moveY = -dims.height; + break; + case 'center': + initialMoveX = dims.width / 2; + initialMoveY = dims.height / 2; + moveX = -dims.width / 2; + moveY = -dims.height / 2; + break; + } + + return new Effect.Move(element, { + x: initialMoveX, + y: initialMoveY, + duration: 0.01, + beforeSetup: function(effect) { + effect.element.hide().makeClipping().makePositioned(); + }, + afterFinishInternal: function(effect) { + new Effect.Parallel( + [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, from: 0.0, transition: options.opacityTransition }), + new Effect.Move(effect.element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }), + new Effect.Scale(effect.element, 100, { + scaleMode: { originalHeight: dims.height, originalWidth: dims.width }, + sync: true, scaleFrom: window.opera ? 1 : 0, transition: options.scaleTransition, restoreAfterFinish: true}) + ], Object.extend({ + beforeSetup: function(effect) { + effect.effects[0].element.setStyle({height: '0px'}).show(); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldStyle); + } + }, options) + ); + } + }); +}; + +Effect.Shrink = function(element) { + element = DOKUid(element); + var options = Object.extend({ + direction: 'center', + moveTransition: Effect.Transitions.sinoidal, + scaleTransition: Effect.Transitions.sinoidal, + opacityTransition: Effect.Transitions.none + }, arguments[1] || { }); + var oldStyle = { + top: element.style.top, + left: element.style.left, + height: element.style.height, + width: element.style.width, + opacity: element.getInlineOpacity() }; + + var dims = element.getDimensions(); + var moveX, moveY; + + switch (options.direction) { + case 'top-left': + moveX = moveY = 0; + break; + case 'top-right': + moveX = dims.width; + moveY = 0; + break; + case 'bottom-left': + moveX = 0; + moveY = dims.height; + break; + case 'bottom-right': + moveX = dims.width; + moveY = dims.height; + break; + case 'center': + moveX = dims.width / 2; + moveY = dims.height / 2; + break; + } + + return new Effect.Parallel( + [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, transition: options.opacityTransition }), + new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, transition: options.scaleTransition, restoreAfterFinish: true}), + new Effect.Move(element, { x: moveX, y: moveY, sync: true, transition: options.moveTransition }) + ], Object.extend({ + beforeStartInternal: function(effect) { + effect.effects[0].element.makePositioned().makeClipping(); + }, + afterFinishInternal: function(effect) { + effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle(oldStyle); } + }, options) + ); +}; + +Effect.Pulsate = function(element) { + element = DOKUid(element); + var options = arguments[1] || { }, + oldOpacity = element.getInlineOpacity(), + transition = options.transition || Effect.Transitions.linear, + reverser = function(pos){ + return 1 - transition((-Math.cos((pos*(options.pulses||5)*2)*Math.PI)/2) + .5); + }; + + return new Effect.Opacity(element, + Object.extend(Object.extend({ duration: 2.0, from: 0, + afterFinishInternal: function(effect) { effect.element.setStyle({opacity: oldOpacity}); } + }, options), {transition: reverser})); +}; + +Effect.Fold = function(element) { + element = DOKUid(element); + var oldStyle = { + top: element.style.top, + left: element.style.left, + width: element.style.width, + height: element.style.height }; + element.makeClipping(); + return new Effect.Scale(element, 5, Object.extend({ + scaleContent: false, + scaleX: false, + afterFinishInternal: function(effect) { + new Effect.Scale(element, 1, { + scaleContent: false, + scaleY: false, + afterFinishInternal: function(effect) { + effect.element.hide().undoClipping().setStyle(oldStyle); + } }); + }}, arguments[1] || { })); +}; + +Effect.Morph = Class.create(Effect.Base, { + initialize: function(element) { + this.element = DOKUid(element); + if (!this.element) throw(Effect._elementDoesNotExistError); + var options = Object.extend({ + style: { } + }, arguments[1] || { }); + + if (!Object.isString(options.style)) this.style = $H(options.style); + else { + if (options.style.include(':')) + this.style = options.style.parseStyle(); + else { + this.element.addClassName(options.style); + this.style = $H(this.element.getStyles()); + this.element.removeClassName(options.style); + var css = this.element.getStyles(); + this.style = this.style.reject(function(style) { + return style.value == css[style.key]; + }); + options.afterFinishInternal = function(effect) { + effect.element.addClassName(effect.options.style); + effect.transforms.each(function(transform) { + effect.element.style[transform.style] = ''; + }); + }; + } + } + this.start(options); + }, + + setup: function(){ + function parseColor(color){ + if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) color = '#ffffff'; + color = color.parseColor(); + return $R(0,2).map(function(i){ + return parseInt( color.slice(i*2+1,i*2+3), 16 ); + }); + } + this.transforms = this.style.map(function(pair){ + var property = pair[0], value = pair[1], unit = null; + + if (value.parseColor('#zzzzzz') != '#zzzzzz') { + value = value.parseColor(); + unit = 'color'; + } else if (property == 'opacity') { + value = parseFloat(value); + if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout)) + this.element.setStyle({zoom: 1}); + } else if (Element.CSS_LENGTH.test(value)) { + var components = value.match(/^([\+\-]?[0-9\.]+)(.*)$/); + value = parseFloat(components[1]); + unit = (components.length == 3) ? components[2] : null; + } + + var originalValue = this.element.getStyle(property); + return { + style: property.camelize(), + originalValue: unit=='color' ? parseColor(originalValue) : parseFloat(originalValue || 0), + targetValue: unit=='color' ? parseColor(value) : value, + unit: unit + }; + }.bind(this)).reject(function(transform){ + return ( + (transform.originalValue == transform.targetValue) || + ( + transform.unit != 'color' && + (isNaN(transform.originalValue) || isNaN(transform.targetValue)) + ) + ); + }); + }, + update: function(position) { + var style = { }, transform, i = this.transforms.length; + while(i--) + style[(transform = this.transforms[i]).style] = + transform.unit=='color' ? '#'+ + (Math.round(transform.originalValue[0]+ + (transform.targetValue[0]-transform.originalValue[0])*position)).toColorPart() + + (Math.round(transform.originalValue[1]+ + (transform.targetValue[1]-transform.originalValue[1])*position)).toColorPart() + + (Math.round(transform.originalValue[2]+ + (transform.targetValue[2]-transform.originalValue[2])*position)).toColorPart() : + (transform.originalValue + + (transform.targetValue - transform.originalValue) * position).toFixed(3) + + (transform.unit === null ? '' : transform.unit); + this.element.setStyle(style, true); + } +}); + +Effect.Transform = Class.create({ + initialize: function(tracks){ + this.tracks = []; + this.options = arguments[1] || { }; + this.addTracks(tracks); + }, + addTracks: function(tracks){ + tracks.each(function(track){ + track = $H(track); + var data = track.values().first(); + this.tracks.push($H({ + ids: track.keys().first(), + effect: Effect.Morph, + options: { style: data } + })); + }.bind(this)); + return this; + }, + play: function(){ + return new Effect.Parallel( + this.tracks.map(function(track){ + var ids = track.get('ids'), effect = track.get('effect'), options = track.get('options'); + var elements = [DOKUid(ids) || $$(ids)].flatten(); + return elements.map(function(e){ return new effect(e, Object.extend({ sync:true }, options)) }); + }).flatten(), + this.options + ); + } +}); + +Element.CSS_PROPERTIES = $w( + 'backgroundColor backgroundPosition borderBottomColor borderBottomStyle ' + + 'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' + + 'borderRightColor borderRightStyle borderRightWidth borderSpacing ' + + 'borderTopColor borderTopStyle borderTopWidth bottom clip color ' + + 'fontSize fontWeight height left letterSpacing lineHeight ' + + 'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+ + 'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' + + 'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' + + 'right textIndent top width wordSpacing zIndex'); + +Element.CSS_LENGTH = /^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/; + +String.__parseStyleElement = document.createElement('div'); +String.prototype.parseStyle = function(){ + var style, styleRules = $H(); + if (Prototype.Browser.WebKit) + style = new Element('div',{style:this}).style; + else { + String.__parseStyleElement.innerHTML = '<div style="' + this + '"></div>'; + style = String.__parseStyleElement.childNodes[0].style; + } + + Element.CSS_PROPERTIES.each(function(property){ + if (style[property]) styleRules.set(property, style[property]); + }); + + if (Prototype.Browser.IE && this.include('opacity')) + styleRules.set('opacity', this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]); + + return styleRules; +}; + +if (document.defaultView && document.defaultView.getComputedStyle) { + Element.getStyles = function(element) { + var css = document.defaultView.getComputedStyle(DOKUid(element), null); + return Element.CSS_PROPERTIES.inject({ }, function(styles, property) { + styles[property] = css[property]; + return styles; + }); + }; +} else { + Element.getStyles = function(element) { + element = DOKUid(element); + var css = element.currentStyle, styles; + styles = Element.CSS_PROPERTIES.inject({ }, function(results, property) { + results[property] = css[property]; + return results; + }); + if (!styles.opacity) styles.opacity = element.getOpacity(); + return styles; + }; +} + +Effect.Methods = { + morph: function(element, style) { + element = DOKUid(element); + new Effect.Morph(element, Object.extend({ style: style }, arguments[2] || { })); + return element; + }, + visualEffect: function(element, effect, options) { + element = DOKUid(element); + var s = effect.dasherize().camelize(), klass = s.charAt(0).toUpperCase() + s.substring(1); + new Effect[klass](element, options); + return element; + }, + highlight: function(element, options) { + element = DOKUid(element); + new Effect.Highlight(element, options); + return element; + } +}; + +$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+ + 'pulsate shake puff squish switchOff dropOut').each( + function(effect) { + Effect.Methods[effect] = function(element, options){ + element = DOKUid(element); + Effect[effect.charAt(0).toUpperCase() + effect.substring(1)](element, options); + return element; + }; + } +); + +$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes collectTextNodesIgnoreClass getStyles').each( + function(f) { Effect.Methods[f] = Element[f]; } +); + +Element.addMethods(Effect.Methods); diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/presentacular.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/presentacular.js new file mode 100755 index 000000000..d6ec5cd63 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/presentacular.js @@ -0,0 +1,153 @@ +/* +Presentacular. v 0.1 +http://labs.cavorite.com/presentacular/ +(c) 2005, Juan Manuel Caicedo + +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + +See http://www.gnu.org/copyleft/gpl.html for more information + +*/ + +/* +Creates a chain function. + +Todo: + Handle return values + Add a chained property with a reference to the original function + +Static method +*/ +Function.chain = function(from,ext){ + return function() { + from.apply(this,arguments) + ext.apply(this,arguments) + } +} + +/* +Creates a chained function +Instance method +*/ +Function.prototype.chain = function(){ + var __source = this + var exts = arguments + return function(){ + __source.apply(this,arguments) + for (e = 0; e < exts.length; e++){ + exts[e].apply(this,arguments) + } + } +} + +/* +Applies function f to each element of the list +*/ +function Map(list,f){ + var r = [] + for (var i=0; i < list.length; i++){ + r.push(f.call(this,list[i])) + } + return r +} + + + +var Presentacular = {} + +/* +Available effects +TODO: Provide a function to add effects +*/ +Presentacular.effects = { + blinddown: Effect.BlindDown, + blindup: Effect.BlindUp, + appear: Effect.Appear, + puff: Effect.Puff, + shake: Effect.Shake, + pulsate: Effect.Pulsate, + slidedown: Effect.SlideDown, + slideup: Effect.SlideUp, + highlight: Effect.Highlight, + grow: Effect.Grow, + fade: Effect.Fade, + fold: Effect.Fold, + shrink: Effect.Shrink, + dropout: Effect.DropOut, + switchoff: Effect.SwitchOff, + squish: Effect.Squish +} + +/* +Apply effects to element elm. + +parentClasses: If true, include effects defined in the parent element. Used for lists (ul, ol) + +*/ +Presentacular.applyEffects = function(elm,parentClasses){ + + var c = [] + if (parentClasses && elm.className) + try { + c = c.concat(elm.parentNode.className.split(' ')) + c = c.concat(elm.className.split(' ')) + } catch (exc) { + return; + } + Map(c, function(cl){ + if (!cl) return + + + //Proof of concept. this code could (and should) be more elegant + cl = cl.toLowerCase().split('_') + + var opts = {duration: 1} + if (cl.length > 1){ + opts.duration = cl[1] + } + + if (Presentacular.effects[cl[0]]){ + Presentacular.effects[cl[0]].call(this,elm,opts) + } + return + }) +} + + +/* +Chained function +*/ +function ChangeSlide(step){ + + var ce = DOKUid('slide' + snum) + + //Apply slide effects + Presentacular.applyEffects(ce) + + //Apply effects to all elements but the incrementals + Map(ce.getElementsByTagName('*'), function(elm){ + if (!hasClass(elm,"incremental")){ + Presentacular.applyEffects(elm) + } + }) +} + + +/* +Chained function +*/ +function ApplyCurrentElement(elm,className){ + if (className == "current"){ + Presentacular.applyEffects(elm,true) + } +} + +/* +Function chaining: execute the second function after the first one has finished + +This was necesary in order to keep the same function names and because I want +to *extend* S5 instead of *edit* it. + +*/ +window.addClass = addClass.chain(ApplyCurrentElement) +window.go = go.chain(ChangeSlide) diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/prototype.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/prototype.js new file mode 100644 index 000000000..f100f84a7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/prototype.js @@ -0,0 +1,4874 @@ +/* Prototype JavaScript framework, version 1.6.1 + * (c) 2005-2009 Sam Stephenson + * + * Prototype is freely distributable under the terms of an MIT-style license. + * For details, see the Prototype web site: http://www.prototypejs.org/ + * + *--------------------------------------------------------------------------*/ + +var Prototype = { + Version: '1.6.1', + + Browser: (function(){ + var ua = navigator.userAgent; + var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]'; + return { + IE: !!window.attachEvent && !isOpera, + Opera: isOpera, + WebKit: ua.indexOf('AppleWebKit/') > -1, + Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1, + MobileSafari: /Apple.*Mobile.*Safari/.test(ua) + } + })(), + + BrowserFeatures: { + XPath: !!document.evaluate, + SelectorsAPI: !!document.querySelector, + ElementExtensions: (function() { + var constructor = window.Element || window.HTMLElement; + return !!(constructor && constructor.prototype); + })(), + SpecificElementExtensions: (function() { + if (typeof window.HTMLDivElement !== 'undefined') + return true; + + var div = document.createElement('div'); + var form = document.createElement('form'); + var isSupported = false; + + if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) { + isSupported = true; + } + + div = form = null; + + return isSupported; + })() + }, + + ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>', + JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/, + + emptyFunction: function() { }, + K: function(x) { return x } +}; + +if (Prototype.Browser.MobileSafari) + Prototype.BrowserFeatures.SpecificElementExtensions = false; + + +var Abstract = { }; + + +var Try = { + these: function() { + var returnValue; + + for (var i = 0, length = arguments.length; i < length; i++) { + var lambda = arguments[i]; + try { + returnValue = lambda(); + break; + } catch (e) { } + } + + return returnValue; + } +}; + +/* Based on Alex Arnell's inheritance implementation. */ + +var Class = (function() { + function subclass() {}; + function create() { + var parent = null, properties = $A(arguments); + if (Object.isFunction(properties[0])) + parent = properties.shift(); + + function klass() { + this.initialize.apply(this, arguments); + } + + Object.extend(klass, Class.Methods); + klass.superclass = parent; + klass.subclasses = []; + + if (parent) { + subclass.prototype = parent.prototype; + klass.prototype = new subclass; + parent.subclasses.push(klass); + } + + for (var i = 0; i < properties.length; i++) + klass.addMethods(properties[i]); + + if (!klass.prototype.initialize) + klass.prototype.initialize = Prototype.emptyFunction; + + klass.prototype.constructor = klass; + return klass; + } + + function addMethods(source) { + var ancestor = this.superclass && this.superclass.prototype; + var properties = Object.keys(source); + + if (!Object.keys({ toString: true }).length) { + if (source.toString != Object.prototype.toString) + properties.push("toString"); + if (source.valueOf != Object.prototype.valueOf) + properties.push("valueOf"); + } + + for (var i = 0, length = properties.length; i < length; i++) { + var property = properties[i], value = source[property]; + if (ancestor && Object.isFunction(value) && + value.argumentNames().first() == "$super") { + var method = value; + value = (function(m) { + return function() { return ancestor[m].apply(this, arguments); }; + })(property).wrap(method); + + value.valueOf = method.valueOf.bind(method); + value.toString = method.toString.bind(method); + } + this.prototype[property] = value; + } + + return this; + } + + return { + create: create, + Methods: { + addMethods: addMethods + } + }; +})(); +(function() { + + var _toString = Object.prototype.toString; + + function extend(destination, source) { + for (var property in source) + destination[property] = source[property]; + return destination; + } + + function inspect(object) { + try { + if (isUndefined(object)) return 'undefined'; + if (object === null) return 'null'; + return object.inspect ? object.inspect() : String(object); + } catch (e) { + if (e instanceof RangeError) return '...'; + throw e; + } + } + + function toJSON(object) { + var type = typeof object; + switch (type) { + case 'undefined': + case 'function': + case 'unknown': return; + case 'boolean': return object.toString(); + } + + if (object === null) return 'null'; + if (object.toJSON) return object.toJSON(); + if (isElement(object)) return; + + var results = []; + for (var property in object) { + var value = toJSON(object[property]); + if (!isUndefined(value)) + results.push(property.toJSON() + ': ' + value); + } + + return '{' + results.join(', ') + '}'; + } + + function toQueryString(object) { + return $H(object).toQueryString(); + } + + function toHTML(object) { + return object && object.toHTML ? object.toHTML() : String.interpret(object); + } + + function keys(object) { + var results = []; + for (var property in object) + results.push(property); + return results; + } + + function values(object) { + var results = []; + for (var property in object) + results.push(object[property]); + return results; + } + + function clone(object) { + return extend({ }, object); + } + + function isElement(object) { + return !!(object && object.nodeType == 1); + } + + function isArray(object) { + return _toString.call(object) == "[object Array]"; + } + + + function isHash(object) { + return object instanceof Hash; + } + + function isFunction(object) { + return typeof object === "function"; + } + + function isString(object) { + return _toString.call(object) == "[object String]"; + } + + function isNumber(object) { + return _toString.call(object) == "[object Number]"; + } + + function isUndefined(object) { + return typeof object === "undefined"; + } + + extend(Object, { + extend: extend, + inspect: inspect, + toJSON: toJSON, + toQueryString: toQueryString, + toHTML: toHTML, + keys: keys, + values: values, + clone: clone, + isElement: isElement, + isArray: isArray, + isHash: isHash, + isFunction: isFunction, + isString: isString, + isNumber: isNumber, + isUndefined: isUndefined + }); +})(); +Object.extend(Function.prototype, (function() { + var slice = Array.prototype.slice; + + function update(array, args) { + var arrayLength = array.length, length = args.length; + while (length--) array[arrayLength + length] = args[length]; + return array; + } + + function merge(array, args) { + array = slice.call(array, 0); + return update(array, args); + } + + function argumentNames() { + var names = this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1] + .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '') + .replace(/\s+/g, '').split(','); + return names.length == 1 && !names[0] ? [] : names; + } + + function bind(context) { + if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this; + var __method = this, args = slice.call(arguments, 1); + return function() { + var a = merge(args, arguments); + return __method.apply(context, a); + } + } + + function bindAsEventListener(context) { + var __method = this, args = slice.call(arguments, 1); + return function(event) { + var a = update([event || window.event], args); + return __method.apply(context, a); + } + } + + function curry() { + if (!arguments.length) return this; + var __method = this, args = slice.call(arguments, 0); + return function() { + var a = merge(args, arguments); + return __method.apply(this, a); + } + } + + function delay(timeout) { + var __method = this, args = slice.call(arguments, 1); + timeout = timeout * 1000 + return window.setTimeout(function() { + return __method.apply(__method, args); + }, timeout); + } + + function defer() { + var args = update([0.01], arguments); + return this.delay.apply(this, args); + } + + function wrap(wrapper) { + var __method = this; + return function() { + var a = update([__method.bind(this)], arguments); + return wrapper.apply(this, a); + } + } + + function methodize() { + if (this._methodized) return this._methodized; + var __method = this; + return this._methodized = function() { + var a = update([this], arguments); + return __method.apply(null, a); + }; + } + + return { + argumentNames: argumentNames, + bind: bind, + bindAsEventListener: bindAsEventListener, + curry: curry, + delay: delay, + defer: defer, + wrap: wrap, + methodize: methodize + } +})()); + + +Date.prototype.toJSON = function() { + return '"' + this.getUTCFullYear() + '-' + + (this.getUTCMonth() + 1).toPaddedString(2) + '-' + + this.getUTCDate().toPaddedString(2) + 'T' + + this.getUTCHours().toPaddedString(2) + ':' + + this.getUTCMinutes().toPaddedString(2) + ':' + + this.getUTCSeconds().toPaddedString(2) + 'Z"'; +}; + + +RegExp.prototype.match = RegExp.prototype.test; + +RegExp.escape = function(str) { + return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); +}; +var PeriodicalExecuter = Class.create({ + initialize: function(callback, frequency) { + this.callback = callback; + this.frequency = frequency; + this.currentlyExecuting = false; + + this.registerCallback(); + }, + + registerCallback: function() { + this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); + }, + + execute: function() { + this.callback(this); + }, + + stop: function() { + if (!this.timer) return; + clearInterval(this.timer); + this.timer = null; + }, + + onTimerEvent: function() { + if (!this.currentlyExecuting) { + try { + this.currentlyExecuting = true; + this.execute(); + this.currentlyExecuting = false; + } catch(e) { + this.currentlyExecuting = false; + throw e; + } + } + } +}); +Object.extend(String, { + interpret: function(value) { + return value == null ? '' : String(value); + }, + specialChar: { + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '\\': '\\\\' + } +}); + +Object.extend(String.prototype, (function() { + + function prepareReplacement(replacement) { + if (Object.isFunction(replacement)) return replacement; + var template = new Template(replacement); + return function(match) { return template.evaluate(match) }; + } + + function gsub(pattern, replacement) { + var result = '', source = this, match; + replacement = prepareReplacement(replacement); + + if (Object.isString(pattern)) + pattern = RegExp.escape(pattern); + + if (!(pattern.length || pattern.source)) { + replacement = replacement(''); + return replacement + source.split('').join(replacement) + replacement; + } + + while (source.length > 0) { + if (match = source.match(pattern)) { + result += source.slice(0, match.index); + result += String.interpret(replacement(match)); + source = source.slice(match.index + match[0].length); + } else { + result += source, source = ''; + } + } + return result; + } + + function sub(pattern, replacement, count) { + replacement = prepareReplacement(replacement); + count = Object.isUndefined(count) ? 1 : count; + + return this.gsub(pattern, function(match) { + if (--count < 0) return match[0]; + return replacement(match); + }); + } + + function scan(pattern, iterator) { + this.gsub(pattern, iterator); + return String(this); + } + + function truncate(length, truncation) { + length = length || 30; + truncation = Object.isUndefined(truncation) ? '...' : truncation; + return this.length > length ? + this.slice(0, length - truncation.length) + truncation : String(this); + } + + function strip() { + return this.replace(/^\s+/, '').replace(/\s+$/, ''); + } + + function stripTags() { + return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, ''); + } + + function stripScripts() { + return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); + } + + function extractScripts() { + var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); + var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); + return (this.match(matchAll) || []).map(function(scriptTag) { + return (scriptTag.match(matchOne) || ['', ''])[1]; + }); + } + + function evalScripts() { + return this.extractScripts().map(function(script) { return eval(script) }); + } + + function escapeHTML() { + return this.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); + } + + function unescapeHTML() { + return this.stripTags().replace(/</g,'<').replace(/>/g,'>').replace(/&/g,'&'); + } + + + function toQueryParams(separator) { + var match = this.strip().match(/([^?#]*)(#.*)?$/); + if (!match) return { }; + + return match[1].split(separator || '&').inject({ }, function(hash, pair) { + if ((pair = pair.split('='))[0]) { + var key = decodeURIComponent(pair.shift()); + var value = pair.length > 1 ? pair.join('=') : pair[0]; + if (value != undefined) value = decodeURIComponent(value); + + if (key in hash) { + if (!Object.isArray(hash[key])) hash[key] = [hash[key]]; + hash[key].push(value); + } + else hash[key] = value; + } + return hash; + }); + } + + function toArray() { + return this.split(''); + } + + function succ() { + return this.slice(0, this.length - 1) + + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); + } + + function times(count) { + return count < 1 ? '' : new Array(count + 1).join(this); + } + + function camelize() { + var parts = this.split('-'), len = parts.length; + if (len == 1) return parts[0]; + + var camelized = this.charAt(0) == '-' + ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) + : parts[0]; + + for (var i = 1; i < len; i++) + camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1); + + return camelized; + } + + function capitalize() { + return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase(); + } + + function underscore() { + return this.replace(/::/g, '/') + .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2') + .replace(/([a-z\d])([A-Z])/g, '$1_$2') + .replace(/-/g, '_') + .toLowerCase(); + } + + function dasherize() { + return this.replace(/_/g, '-'); + } + + function inspect(useDoubleQuotes) { + var escapedString = this.replace(/[\x00-\x1f\\]/g, function(character) { + if (character in String.specialChar) { + return String.specialChar[character]; + } + return '\\u00' + character.charCodeAt().toPaddedString(2, 16); + }); + if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; + return "'" + escapedString.replace(/'/g, '\\\'') + "'"; + } + + function toJSON() { + return this.inspect(true); + } + + function unfilterJSON(filter) { + return this.replace(filter || Prototype.JSONFilter, '$1'); + } + + function isJSON() { + var str = this; + if (str.blank()) return false; + str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''); + return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str); + } + + function evalJSON(sanitize) { + var json = this.unfilterJSON(); + try { + if (!sanitize || json.isJSON()) return eval('(' + json + ')'); + } catch (e) { } + throw new SyntaxError('Badly formed JSON string: ' + this.inspect()); + } + + function include(pattern) { + return this.indexOf(pattern) > -1; + } + + function startsWith(pattern) { + return this.indexOf(pattern) === 0; + } + + function endsWith(pattern) { + var d = this.length - pattern.length; + return d >= 0 && this.lastIndexOf(pattern) === d; + } + + function empty() { + return this == ''; + } + + function blank() { + return /^\s*$/.test(this); + } + + function interpolate(object, pattern) { + return new Template(this, pattern).evaluate(object); + } + + return { + gsub: gsub, + sub: sub, + scan: scan, + truncate: truncate, + strip: String.prototype.trim ? String.prototype.trim : strip, + stripTags: stripTags, + stripScripts: stripScripts, + extractScripts: extractScripts, + evalScripts: evalScripts, + escapeHTML: escapeHTML, + unescapeHTML: unescapeHTML, + toQueryParams: toQueryParams, + parseQuery: toQueryParams, + toArray: toArray, + succ: succ, + times: times, + camelize: camelize, + capitalize: capitalize, + underscore: underscore, + dasherize: dasherize, + inspect: inspect, + toJSON: toJSON, + unfilterJSON: unfilterJSON, + isJSON: isJSON, + evalJSON: evalJSON, + include: include, + startsWith: startsWith, + endsWith: endsWith, + empty: empty, + blank: blank, + interpolate: interpolate + }; +})()); + +var Template = Class.create({ + initialize: function(template, pattern) { + this.template = template.toString(); + this.pattern = pattern || Template.Pattern; + }, + + evaluate: function(object) { + if (object && Object.isFunction(object.toTemplateReplacements)) + object = object.toTemplateReplacements(); + + return this.template.gsub(this.pattern, function(match) { + if (object == null) return (match[1] + ''); + + var before = match[1] || ''; + if (before == '\\') return match[2]; + + var ctx = object, expr = match[3]; + var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/; + match = pattern.exec(expr); + if (match == null) return before; + + while (match != null) { + var comp = match[1].startsWith('[') ? match[2].replace(/\\\\]/g, ']') : match[1]; + ctx = ctx[comp]; + if (null == ctx || '' == match[3]) break; + expr = expr.substring('[' == match[3] ? match[1].length : match[0].length); + match = pattern.exec(expr); + } + + return before + String.interpret(ctx); + }); + } +}); +Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; + +var $break = { }; + +var Enumerable = (function() { + function each(iterator, context) { + var index = 0; + try { + this._each(function(value) { + iterator.call(context, value, index++); + }); + } catch (e) { + if (e != $break) throw e; + } + return this; + } + + function eachSlice(number, iterator, context) { + var index = -number, slices = [], array = this.toArray(); + if (number < 1) return array; + while ((index += number) < array.length) + slices.push(array.slice(index, index+number)); + return slices.collect(iterator, context); + } + + function all(iterator, context) { + iterator = iterator || Prototype.K; + var result = true; + this.each(function(value, index) { + result = result && !!iterator.call(context, value, index); + if (!result) throw $break; + }); + return result; + } + + function any(iterator, context) { + iterator = iterator || Prototype.K; + var result = false; + this.each(function(value, index) { + if (result = !!iterator.call(context, value, index)) + throw $break; + }); + return result; + } + + function collect(iterator, context) { + iterator = iterator || Prototype.K; + var results = []; + this.each(function(value, index) { + results.push(iterator.call(context, value, index)); + }); + return results; + } + + function detect(iterator, context) { + var result; + this.each(function(value, index) { + if (iterator.call(context, value, index)) { + result = value; + throw $break; + } + }); + return result; + } + + function findAll(iterator, context) { + var results = []; + this.each(function(value, index) { + if (iterator.call(context, value, index)) + results.push(value); + }); + return results; + } + + function grep(filter, iterator, context) { + iterator = iterator || Prototype.K; + var results = []; + + if (Object.isString(filter)) + filter = new RegExp(RegExp.escape(filter)); + + this.each(function(value, index) { + if (filter.match(value)) + results.push(iterator.call(context, value, index)); + }); + return results; + } + + function include(object) { + if (Object.isFunction(this.indexOf)) + if (this.indexOf(object) != -1) return true; + + var found = false; + this.each(function(value) { + if (value == object) { + found = true; + throw $break; + } + }); + return found; + } + + function inGroupsOf(number, fillWith) { + fillWith = Object.isUndefined(fillWith) ? null : fillWith; + return this.eachSlice(number, function(slice) { + while(slice.length < number) slice.push(fillWith); + return slice; + }); + } + + function inject(memo, iterator, context) { + this.each(function(value, index) { + memo = iterator.call(context, memo, value, index); + }); + return memo; + } + + function invoke(method) { + var args = $A(arguments).slice(1); + return this.map(function(value) { + return value[method].apply(value, args); + }); + } + + function max(iterator, context) { + iterator = iterator || Prototype.K; + var result; + this.each(function(value, index) { + value = iterator.call(context, value, index); + if (result == null || value >= result) + result = value; + }); + return result; + } + + function min(iterator, context) { + iterator = iterator || Prototype.K; + var result; + this.each(function(value, index) { + value = iterator.call(context, value, index); + if (result == null || value < result) + result = value; + }); + return result; + } + + function partition(iterator, context) { + iterator = iterator || Prototype.K; + var trues = [], falses = []; + this.each(function(value, index) { + (iterator.call(context, value, index) ? + trues : falses).push(value); + }); + return [trues, falses]; + } + + function pluck(property) { + var results = []; + this.each(function(value) { + results.push(value[property]); + }); + return results; + } + + function reject(iterator, context) { + var results = []; + this.each(function(value, index) { + if (!iterator.call(context, value, index)) + results.push(value); + }); + return results; + } + + function sortBy(iterator, context) { + return this.map(function(value, index) { + return { + value: value, + criteria: iterator.call(context, value, index) + }; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }).pluck('value'); + } + + function toArray() { + return this.map(); + } + + function zip() { + var iterator = Prototype.K, args = $A(arguments); + if (Object.isFunction(args.last())) + iterator = args.pop(); + + var collections = [this].concat(args).map($A); + return this.map(function(value, index) { + return iterator(collections.pluck(index)); + }); + } + + function size() { + return this.toArray().length; + } + + function inspect() { + return '#<Enumerable:' + this.toArray().inspect() + '>'; + } + + + + + + + + + + return { + each: each, + eachSlice: eachSlice, + all: all, + every: all, + any: any, + some: any, + collect: collect, + map: collect, + detect: detect, + findAll: findAll, + select: findAll, + filter: findAll, + grep: grep, + include: include, + member: include, + inGroupsOf: inGroupsOf, + inject: inject, + invoke: invoke, + max: max, + min: min, + partition: partition, + pluck: pluck, + reject: reject, + sortBy: sortBy, + toArray: toArray, + entries: toArray, + zip: zip, + size: size, + inspect: inspect, + find: detect + }; +})(); +function $A(iterable) { + if (!iterable) return []; + if ('toArray' in Object(iterable)) return iterable.toArray(); + var length = iterable.length || 0, results = new Array(length); + while (length--) results[length] = iterable[length]; + return results; +} + +function $w(string) { + if (!Object.isString(string)) return []; + string = string.strip(); + return string ? string.split(/\s+/) : []; +} + +Array.from = $A; + + +(function() { + var arrayProto = Array.prototype, + slice = arrayProto.slice, + _each = arrayProto.forEach; // use native browser JS 1.6 implementation if available + + function each(iterator) { + for (var i = 0, length = this.length; i < length; i++) + iterator(this[i]); + } + if (!_each) _each = each; + + function clear() { + this.length = 0; + return this; + } + + function first() { + return this[0]; + } + + function last() { + return this[this.length - 1]; + } + + function compact() { + return this.select(function(value) { + return value != null; + }); + } + + function flatten() { + return this.inject([], function(array, value) { + if (Object.isArray(value)) + return array.concat(value.flatten()); + array.push(value); + return array; + }); + } + + function without() { + var values = slice.call(arguments, 0); + return this.select(function(value) { + return !values.include(value); + }); + } + + function reverse(inline) { + return (inline !== false ? this : this.toArray())._reverse(); + } + + function uniq(sorted) { + return this.inject([], function(array, value, index) { + if (0 == index || (sorted ? array.last() != value : !array.include(value))) + array.push(value); + return array; + }); + } + + function intersect(array) { + return this.uniq().findAll(function(item) { + return array.detect(function(value) { return item === value }); + }); + } + + + function clone() { + return slice.call(this, 0); + } + + function size() { + return this.length; + } + + function inspect() { + return '[' + this.map(Object.inspect).join(', ') + ']'; + } + + function toJSON() { + var results = []; + this.each(function(object) { + var value = Object.toJSON(object); + if (!Object.isUndefined(value)) results.push(value); + }); + return '[' + results.join(', ') + ']'; + } + + function indexOf(item, i) { + i || (i = 0); + var length = this.length; + if (i < 0) i = length + i; + for (; i < length; i++) + if (this[i] === item) return i; + return -1; + } + + function lastIndexOf(item, i) { + i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; + var n = this.slice(0, i).reverse().indexOf(item); + return (n < 0) ? n : i - n - 1; + } + + function concat() { + var array = slice.call(this, 0), item; + for (var i = 0, length = arguments.length; i < length; i++) { + item = arguments[i]; + if (Object.isArray(item) && !('callee' in item)) { + for (var j = 0, arrayLength = item.length; j < arrayLength; j++) + array.push(item[j]); + } else { + array.push(item); + } + } + return array; + } + + Object.extend(arrayProto, Enumerable); + + if (!arrayProto._reverse) + arrayProto._reverse = arrayProto.reverse; + + Object.extend(arrayProto, { + _each: _each, + clear: clear, + first: first, + last: last, + compact: compact, + flatten: flatten, + without: without, + reverse: reverse, + uniq: uniq, + intersect: intersect, + clone: clone, + toArray: clone, + size: size, + inspect: inspect, + toJSON: toJSON + }); + + var CONCAT_ARGUMENTS_BUGGY = (function() { + return [].concat(arguments)[0][0] !== 1; + })(1,2) + + if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat = concat; + + if (!arrayProto.indexOf) arrayProto.indexOf = indexOf; + if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf = lastIndexOf; +})(); +function $H(object) { + return new Hash(object); +}; + +var Hash = Class.create(Enumerable, (function() { + function initialize(object) { + this._object = Object.isHash(object) ? object.toObject() : Object.clone(object); + } + + function _each(iterator) { + for (var key in this._object) { + var value = this._object[key], pair = [key, value]; + pair.key = key; + pair.value = value; + iterator(pair); + } + } + + function set(key, value) { + return this._object[key] = value; + } + + function get(key) { + if (this._object[key] !== Object.prototype[key]) + return this._object[key]; + } + + function unset(key) { + var value = this._object[key]; + delete this._object[key]; + return value; + } + + function toObject() { + return Object.clone(this._object); + } + + function keys() { + return this.pluck('key'); + } + + function values() { + return this.pluck('value'); + } + + function index(value) { + var match = this.detect(function(pair) { + return pair.value === value; + }); + return match && match.key; + } + + function merge(object) { + return this.clone().update(object); + } + + function update(object) { + return new Hash(object).inject(this, function(result, pair) { + result.set(pair.key, pair.value); + return result; + }); + } + + function toQueryPair(key, value) { + if (Object.isUndefined(value)) return key; + return key + '=' + encodeURIComponent(String.interpret(value)); + } + + function toQueryString() { + return this.inject([], function(results, pair) { + var key = encodeURIComponent(pair.key), values = pair.value; + + if (values && typeof values == 'object') { + if (Object.isArray(values)) + return results.concat(values.map(toQueryPair.curry(key))); + } else results.push(toQueryPair(key, values)); + return results; + }).join('&'); + } + + function inspect() { + return '#<Hash:{' + this.map(function(pair) { + return pair.map(Object.inspect).join(': '); + }).join(', ') + '}>'; + } + + function toJSON() { + return Object.toJSON(this.toObject()); + } + + function clone() { + return new Hash(this); + } + + return { + initialize: initialize, + _each: _each, + set: set, + get: get, + unset: unset, + toObject: toObject, + toTemplateReplacements: toObject, + keys: keys, + values: values, + index: index, + merge: merge, + update: update, + toQueryString: toQueryString, + inspect: inspect, + toJSON: toJSON, + clone: clone + }; +})()); + +Hash.from = $H; +Object.extend(Number.prototype, (function() { + function toColorPart() { + return this.toPaddedString(2, 16); + } + + function succ() { + return this + 1; + } + + function times(iterator, context) { + $R(0, this, true).each(iterator, context); + return this; + } + + function toPaddedString(length, radix) { + var string = this.toString(radix || 10); + return '0'.times(length - string.length) + string; + } + + function toJSON() { + return isFinite(this) ? this.toString() : 'null'; + } + + function abs() { + return Math.abs(this); + } + + function round() { + return Math.round(this); + } + + function ceil() { + return Math.ceil(this); + } + + function floor() { + return Math.floor(this); + } + + return { + toColorPart: toColorPart, + succ: succ, + times: times, + toPaddedString: toPaddedString, + toJSON: toJSON, + abs: abs, + round: round, + ceil: ceil, + floor: floor + }; +})()); + +function $R(start, end, exclusive) { + return new ObjectRange(start, end, exclusive); +} + +var ObjectRange = Class.create(Enumerable, (function() { + function initialize(start, end, exclusive) { + this.start = start; + this.end = end; + this.exclusive = exclusive; + } + + function _each(iterator) { + var value = this.start; + while (this.include(value)) { + iterator(value); + value = value.succ(); + } + } + + function include(value) { + if (value < this.start) + return false; + if (this.exclusive) + return value < this.end; + return value <= this.end; + } + + return { + initialize: initialize, + _each: _each, + include: include + }; +})()); + + + +var Ajax = { + getTransport: function() { + return Try.these( + function() {return new XMLHttpRequest()}, + function() {return new ActiveXObject('Msxml2.XMLHTTP')}, + function() {return new ActiveXObject('Microsoft.XMLHTTP')} + ) || false; + }, + + activeRequestCount: 0 +}; + +Ajax.Responders = { + responders: [], + + _each: function(iterator) { + this.responders._each(iterator); + }, + + register: function(responder) { + if (!this.include(responder)) + this.responders.push(responder); + }, + + unregister: function(responder) { + this.responders = this.responders.without(responder); + }, + + dispatch: function(callback, request, transport, json) { + this.each(function(responder) { + if (Object.isFunction(responder[callback])) { + try { + responder[callback].apply(responder, [request, transport, json]); + } catch (e) { } + } + }); + } +}; + +Object.extend(Ajax.Responders, Enumerable); + +Ajax.Responders.register({ + onCreate: function() { Ajax.activeRequestCount++ }, + onComplete: function() { Ajax.activeRequestCount-- } +}); +Ajax.Base = Class.create({ + initialize: function(options) { + this.options = { + method: 'post', + asynchronous: true, + contentType: 'application/x-www-form-urlencoded', + encoding: 'UTF-8', + parameters: '', + evalJSON: true, + evalJS: true + }; + Object.extend(this.options, options || { }); + + this.options.method = this.options.method.toLowerCase(); + + if (Object.isString(this.options.parameters)) + this.options.parameters = this.options.parameters.toQueryParams(); + else if (Object.isHash(this.options.parameters)) + this.options.parameters = this.options.parameters.toObject(); + } +}); +Ajax.Request = Class.create(Ajax.Base, { + _complete: false, + + initialize: function($super, url, options) { + $super(options); + this.transport = Ajax.getTransport(); + this.request(url); + }, + + request: function(url) { + this.url = url; + this.method = this.options.method; + var params = Object.clone(this.options.parameters); + + if (!['get', 'post'].include(this.method)) { + params['_method'] = this.method; + this.method = 'post'; + } + + this.parameters = params; + + if (params = Object.toQueryString(params)) { + if (this.method == 'get') + this.url += (this.url.include('?') ? '&' : '?') + params; + else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) + params += '&_='; + } + + try { + var response = new Ajax.Response(this); + if (this.options.onCreate) this.options.onCreate(response); + Ajax.Responders.dispatch('onCreate', this, response); + + this.transport.open(this.method.toUpperCase(), this.url, + this.options.asynchronous); + + if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1); + + this.transport.onreadystatechange = this.onStateChange.bind(this); + this.setRequestHeaders(); + + this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.transport.send(this.body); + + /* Force Firefox to handle ready state 4 for synchronous requests */ + if (!this.options.asynchronous && this.transport.overrideMimeType) + this.onStateChange(); + + } + catch (e) { + this.dispatchException(e); + } + }, + + onStateChange: function() { + var readyState = this.transport.readyState; + if (readyState > 1 && !((readyState == 4) && this._complete)) + this.respondToReadyState(this.transport.readyState); + }, + + setRequestHeaders: function() { + var headers = { + 'X-Requested-With': 'XMLHttpRequest', + 'X-Prototype-Version': Prototype.Version, + 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*' + }; + + if (this.method == 'post') { + headers['Content-type'] = this.options.contentType + + (this.options.encoding ? '; charset=' + this.options.encoding : ''); + + /* Force "Connection: close" for older Mozilla browsers to work + * around a bug where XMLHttpRequest sends an incorrect + * Content-length header. See Mozilla Bugzilla #246651. + */ + if (this.transport.overrideMimeType && + (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005) + headers['Connection'] = 'close'; + } + + if (typeof this.options.requestHeaders == 'object') { + var extras = this.options.requestHeaders; + + if (Object.isFunction(extras.push)) + for (var i = 0, length = extras.length; i < length; i += 2) + headers[extras[i]] = extras[i+1]; + else + $H(extras).each(function(pair) { headers[pair.key] = pair.value }); + } + + for (var name in headers) + this.transport.setRequestHeader(name, headers[name]); + }, + + success: function() { + var status = this.getStatus(); + return !status || (status >= 200 && status < 300); + }, + + getStatus: function() { + try { + return this.transport.status || 0; + } catch (e) { return 0 } + }, + + respondToReadyState: function(readyState) { + var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this); + + if (state == 'Complete') { + try { + this._complete = true; + (this.options['on' + response.status] + || this.options['on' + (this.success() ? 'Success' : 'Failure')] + || Prototype.emptyFunction)(response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + var contentType = response.getHeader('Content-type'); + if (this.options.evalJS == 'force' + || (this.options.evalJS && this.isSameOrigin() && contentType + && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i))) + this.evalResponse(); + } + + try { + (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON); + Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON); + } catch (e) { + this.dispatchException(e); + } + + if (state == 'Complete') { + this.transport.onreadystatechange = Prototype.emptyFunction; + } + }, + + isSameOrigin: function() { + var m = this.url.match(/^\s*https?:\/\/[^\/]*/); + return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({ + protocol: location.protocol, + domain: document.domain, + port: location.port ? ':' + location.port : '' + })); + }, + + getHeader: function(name) { + try { + return this.transport.getResponseHeader(name) || null; + } catch (e) { return null; } + }, + + evalResponse: function() { + try { + return eval((this.transport.responseText || '').unfilterJSON()); + } catch (e) { + this.dispatchException(e); + } + }, + + dispatchException: function(exception) { + (this.options.onException || Prototype.emptyFunction)(this, exception); + Ajax.Responders.dispatch('onException', this, exception); + } +}); + +Ajax.Request.Events = + ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; + + + + + + + + +Ajax.Response = Class.create({ + initialize: function(request){ + this.request = request; + var transport = this.transport = request.transport, + readyState = this.readyState = transport.readyState; + + if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) { + this.status = this.getStatus(); + this.statusText = this.getStatusText(); + this.responseText = String.interpret(transport.responseText); + this.headerJSON = this._getHeaderJSON(); + } + + if(readyState == 4) { + var xml = transport.responseXML; + this.responseXML = Object.isUndefined(xml) ? null : xml; + this.responseJSON = this._getResponseJSON(); + } + }, + + status: 0, + + statusText: '', + + getStatus: Ajax.Request.prototype.getStatus, + + getStatusText: function() { + try { + return this.transport.statusText || ''; + } catch (e) { return '' } + }, + + getHeader: Ajax.Request.prototype.getHeader, + + getAllHeaders: function() { + try { + return this.getAllResponseHeaders(); + } catch (e) { return null } + }, + + getResponseHeader: function(name) { + return this.transport.getResponseHeader(name); + }, + + getAllResponseHeaders: function() { + return this.transport.getAllResponseHeaders(); + }, + + _getHeaderJSON: function() { + var json = this.getHeader('X-JSON'); + if (!json) return null; + json = decodeURIComponent(escape(json)); + try { + return json.evalJSON(this.request.options.sanitizeJSON || + !this.request.isSameOrigin()); + } catch (e) { + this.request.dispatchException(e); + } + }, + + _getResponseJSON: function() { + var options = this.request.options; + if (!options.evalJSON || (options.evalJSON != 'force' && + !(this.getHeader('Content-type') || '').include('application/json')) || + this.responseText.blank()) + return null; + try { + return this.responseText.evalJSON(options.sanitizeJSON || + !this.request.isSameOrigin()); + } catch (e) { + this.request.dispatchException(e); + } + } +}); + +Ajax.Updater = Class.create(Ajax.Request, { + initialize: function($super, container, url, options) { + this.container = { + success: (container.success || container), + failure: (container.failure || (container.success ? null : container)) + }; + + options = Object.clone(options); + var onComplete = options.onComplete; + options.onComplete = (function(response, json) { + this.updateContent(response.responseText); + if (Object.isFunction(onComplete)) onComplete(response, json); + }).bind(this); + + $super(url, options); + }, + + updateContent: function(responseText) { + var receiver = this.container[this.success() ? 'success' : 'failure'], + options = this.options; + + if (!options.evalScripts) responseText = responseText.stripScripts(); + + if (receiver = DOKUid(receiver)) { + if (options.insertion) { + if (Object.isString(options.insertion)) { + var insertion = { }; insertion[options.insertion] = responseText; + receiver.insert(insertion); + } + else options.insertion(receiver, responseText); + } + else receiver.update(responseText); + } + } +}); + +Ajax.PeriodicalUpdater = Class.create(Ajax.Base, { + initialize: function($super, container, url, options) { + $super(options); + this.onComplete = this.options.onComplete; + + this.frequency = (this.options.frequency || 2); + this.decay = (this.options.decay || 1); + + this.updater = { }; + this.container = container; + this.url = url; + + this.start(); + }, + + start: function() { + this.options.onComplete = this.updateComplete.bind(this); + this.onTimerEvent(); + }, + + stop: function() { + this.updater.options.onComplete = undefined; + clearTimeout(this.timer); + (this.onComplete || Prototype.emptyFunction).apply(this, arguments); + }, + + updateComplete: function(response) { + if (this.options.decay) { + this.decay = (response.responseText == this.lastText ? + this.decay * this.options.decay : 1); + + this.lastText = response.responseText; + } + this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency); + }, + + onTimerEvent: function() { + this.updater = new Ajax.Updater(this.container, this.url, this.options); + } +}); + + + +function DOKUid(element) { + if (arguments.length > 1) { + for (var i = 0, elements = [], length = arguments.length; i < length; i++) + elements.push(DOKUid(arguments[i])); + return elements; + } + if (Object.isString(element)) + element = document.getElementById(element); + return Element.extend(element); +} + +if (Prototype.BrowserFeatures.XPath) { + document._getElementsByXPath = function(expression, parentElement) { + var results = []; + var query = document.evaluate(expression, DOKUid(parentElement) || document, + null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + for (var i = 0, length = query.snapshotLength; i < length; i++) + results.push(Element.extend(query.snapshotItem(i))); + return results; + }; +} + +/*--------------------------------------------------------------------------*/ + +if (!window.Node) var Node = { }; + +if (!Node.ELEMENT_NODE) { + Object.extend(Node, { + ELEMENT_NODE: 1, + ATTRIBUTE_NODE: 2, + TEXT_NODE: 3, + CDATA_SECTION_NODE: 4, + ENTITY_REFERENCE_NODE: 5, + ENTITY_NODE: 6, + PROCESSING_INSTRUCTION_NODE: 7, + COMMENT_NODE: 8, + DOCUMENT_NODE: 9, + DOCUMENT_TYPE_NODE: 10, + DOCUMENT_FRAGMENT_NODE: 11, + NOTATION_NODE: 12 + }); +} + + +(function(global) { + + var SETATTRIBUTE_IGNORES_NAME = (function(){ + var elForm = document.createElement("form"); + var elInput = document.createElement("input"); + var root = document.documentElement; + elInput.setAttribute("name", "test"); + elForm.appendChild(elInput); + root.appendChild(elForm); + var isBuggy = elForm.elements + ? (typeof elForm.elements.test == "undefined") + : null; + root.removeChild(elForm); + elForm = elInput = null; + return isBuggy; + })(); + + var element = global.Element; + global.Element = function(tagName, attributes) { + attributes = attributes || { }; + tagName = tagName.toLowerCase(); + var cache = Element.cache; + if (SETATTRIBUTE_IGNORES_NAME && attributes.name) { + tagName = '<' + tagName + ' name="' + attributes.name + '">'; + delete attributes.name; + return Element.writeAttribute(document.createElement(tagName), attributes); + } + if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName)); + return Element.writeAttribute(cache[tagName].cloneNode(false), attributes); + }; + Object.extend(global.Element, element || { }); + if (element) global.Element.prototype = element.prototype; +})(this); + +Element.cache = { }; +Element.idCounter = 1; + +Element.Methods = { + visible: function(element) { + return DOKUid(element).style.display != 'none'; + }, + + toggle: function(element) { + element = DOKUid(element); + Element[Element.visible(element) ? 'hide' : 'show'](element); + return element; + }, + + + hide: function(element) { + element = DOKUid(element); + element.style.display = 'none'; + return element; + }, + + show: function(element) { + element = DOKUid(element); + element.style.display = ''; + return element; + }, + + remove: function(element) { + element = DOKUid(element); + element.parentNode.removeChild(element); + return element; + }, + + update: (function(){ + + var SELECT_ELEMENT_INNERHTML_BUGGY = (function(){ + var el = document.createElement("select"), + isBuggy = true; + el.innerHTML = "<option value=\"test\">test</option>"; + if (el.options && el.options[0]) { + isBuggy = el.options[0].nodeName.toUpperCase() !== "OPTION"; + } + el = null; + return isBuggy; + })(); + + var TABLE_ELEMENT_INNERHTML_BUGGY = (function(){ + try { + var el = document.createElement("table"); + if (el && el.tBodies) { + el.innerHTML = "<tbody><tr><td>test</td></tr></tbody>"; + var isBuggy = typeof el.tBodies[0] == "undefined"; + el = null; + return isBuggy; + } + } catch (e) { + return true; + } + })(); + + var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING = (function () { + var s = document.createElement("script"), + isBuggy = false; + try { + s.appendChild(document.createTextNode("")); + isBuggy = !s.firstChild || + s.firstChild && s.firstChild.nodeType !== 3; + } catch (e) { + isBuggy = true; + } + s = null; + return isBuggy; + })(); + + function update(element, content) { + element = DOKUid(element); + + if (content && content.toElement) + content = content.toElement(); + + if (Object.isElement(content)) + return element.update().insert(content); + + content = Object.toHTML(content); + + var tagName = element.tagName.toUpperCase(); + + if (tagName === 'SCRIPT' && SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) { + element.text = content; + return element; + } + + if (SELECT_ELEMENT_INNERHTML_BUGGY || TABLE_ELEMENT_INNERHTML_BUGGY) { + if (tagName in Element._insertionTranslations.tags) { + while (element.firstChild) { + element.removeChild(element.firstChild); + } + Element._getContentFromAnonymousElement(tagName, content.stripScripts()) + .each(function(node) { + element.appendChild(node) + }); + } + else { + element.innerHTML = content.stripScripts(); + } + } + else { + element.innerHTML = content.stripScripts(); + } + + content.evalScripts.bind(content).defer(); + return element; + } + + return update; + })(), + + replace: function(element, content) { + element = DOKUid(element); + if (content && content.toElement) content = content.toElement(); + else if (!Object.isElement(content)) { + content = Object.toHTML(content); + var range = element.ownerDocument.createRange(); + range.selectNode(element); + content.evalScripts.bind(content).defer(); + content = range.createContextualFragment(content.stripScripts()); + } + element.parentNode.replaceChild(content, element); + return element; + }, + + insert: function(element, insertions) { + element = DOKUid(element); + + if (Object.isString(insertions) || Object.isNumber(insertions) || + Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML))) + insertions = {bottom:insertions}; + + var content, insert, tagName, childNodes; + + for (var position in insertions) { + content = insertions[position]; + position = position.toLowerCase(); + insert = Element._insertionTranslations[position]; + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + insert(element, content); + continue; + } + + content = Object.toHTML(content); + + tagName = ((position == 'before' || position == 'after') + ? element.parentNode : element).tagName.toUpperCase(); + + childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + + if (position == 'top' || position == 'after') childNodes.reverse(); + childNodes.each(insert.curry(element)); + + content.evalScripts.bind(content).defer(); + } + + return element; + }, + + wrap: function(element, wrapper, attributes) { + element = DOKUid(element); + if (Object.isElement(wrapper)) + DOKUid(wrapper).writeAttribute(attributes || { }); + else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes); + else wrapper = new Element('div', wrapper); + if (element.parentNode) + element.parentNode.replaceChild(wrapper, element); + wrapper.appendChild(element); + return wrapper; + }, + + inspect: function(element) { + element = DOKUid(element); + var result = '<' + element.tagName.toLowerCase(); + $H({'id': 'id', 'className': 'class'}).each(function(pair) { + var property = pair.first(), attribute = pair.last(); + var value = (element[property] || '').toString(); + if (value) result += ' ' + attribute + '=' + value.inspect(true); + }); + return result + '>'; + }, + + recursivelyCollect: function(element, property) { + element = DOKUid(element); + var elements = []; + while (element = element[property]) + if (element.nodeType == 1) + elements.push(Element.extend(element)); + return elements; + }, + + ancestors: function(element) { + return Element.recursivelyCollect(element, 'parentNode'); + }, + + descendants: function(element) { + return Element.select(element, "*"); + }, + + firstDescendant: function(element) { + element = DOKUid(element).firstChild; + while (element && element.nodeType != 1) element = element.nextSibling; + return DOKUid(element); + }, + + immediateDescendants: function(element) { + if (!(element = DOKUid(element).firstChild)) return []; + while (element && element.nodeType != 1) element = element.nextSibling; + if (element) return [element].concat(DOKUid(element).nextSiblings()); + return []; + }, + + previousSiblings: function(element) { + return Element.recursivelyCollect(element, 'previousSibling'); + }, + + nextSiblings: function(element) { + return Element.recursivelyCollect(element, 'nextSibling'); + }, + + siblings: function(element) { + element = DOKUid(element); + return Element.previousSiblings(element).reverse() + .concat(Element.nextSiblings(element)); + }, + + match: function(element, selector) { + if (Object.isString(selector)) + selector = new Selector(selector); + return selector.match(DOKUid(element)); + }, + + up: function(element, expression, index) { + element = DOKUid(element); + if (arguments.length == 1) return DOKUid(element.parentNode); + var ancestors = Element.ancestors(element); + return Object.isNumber(expression) ? ancestors[expression] : + Selector.findElement(ancestors, expression, index); + }, + + down: function(element, expression, index) { + element = DOKUid(element); + if (arguments.length == 1) return Element.firstDescendant(element); + return Object.isNumber(expression) ? Element.descendants(element)[expression] : + Element.select(element, expression)[index || 0]; + }, + + previous: function(element, expression, index) { + element = DOKUid(element); + if (arguments.length == 1) return DOKUid(Selector.handlers.previousElementSibling(element)); + var previousSiblings = Element.previousSiblings(element); + return Object.isNumber(expression) ? previousSiblings[expression] : + Selector.findElement(previousSiblings, expression, index); + }, + + next: function(element, expression, index) { + element = DOKUid(element); + if (arguments.length == 1) return DOKUid(Selector.handlers.nextElementSibling(element)); + var nextSiblings = Element.nextSiblings(element); + return Object.isNumber(expression) ? nextSiblings[expression] : + Selector.findElement(nextSiblings, expression, index); + }, + + + select: function(element) { + var args = Array.prototype.slice.call(arguments, 1); + return Selector.findChildElements(element, args); + }, + + adjacent: function(element) { + var args = Array.prototype.slice.call(arguments, 1); + return Selector.findChildElements(element.parentNode, args).without(element); + }, + + identify: function(element) { + element = DOKUid(element); + var id = Element.readAttribute(element, 'id'); + if (id) return id; + do { id = 'anonymous_element_' + Element.idCounter++ } while (DOKUid(id)); + Element.writeAttribute(element, 'id', id); + return id; + }, + + readAttribute: function(element, name) { + element = DOKUid(element); + if (Prototype.Browser.IE) { + var t = Element._attributeTranslations.read; + if (t.values[name]) return t.values[name](element, name); + if (t.names[name]) name = t.names[name]; + if (name.include(':')) { + return (!element.attributes || !element.attributes[name]) ? null : + element.attributes[name].value; + } + } + return element.getAttribute(name); + }, + + writeAttribute: function(element, name, value) { + element = DOKUid(element); + var attributes = { }, t = Element._attributeTranslations.write; + + if (typeof name == 'object') attributes = name; + else attributes[name] = Object.isUndefined(value) ? true : value; + + for (var attr in attributes) { + name = t.names[attr] || attr; + value = attributes[attr]; + if (t.values[attr]) name = t.values[attr](element, value); + if (value === false || value === null) + element.removeAttribute(name); + else if (value === true) + element.setAttribute(name, name); + else element.setAttribute(name, value); + } + return element; + }, + + getHeight: function(element) { + return Element.getDimensions(element).height; + }, + + getWidth: function(element) { + return Element.getDimensions(element).width; + }, + + classNames: function(element) { + return new Element.ClassNames(element); + }, + + hasClassName: function(element, className) { + if (!(element = DOKUid(element))) return; + var elementClassName = element.className; + return (elementClassName.length > 0 && (elementClassName == className || + new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName))); + }, + + addClassName: function(element, className) { + if (!(element = DOKUid(element))) return; + if (!Element.hasClassName(element, className)) + element.className += (element.className ? ' ' : '') + className; + return element; + }, + + removeClassName: function(element, className) { + if (!(element = DOKUid(element))) return; + element.className = element.className.replace( + new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip(); + return element; + }, + + toggleClassName: function(element, className) { + if (!(element = DOKUid(element))) return; + return Element[Element.hasClassName(element, className) ? + 'removeClassName' : 'addClassName'](element, className); + }, + + cleanWhitespace: function(element) { + element = DOKUid(element); + var node = element.firstChild; + while (node) { + var nextNode = node.nextSibling; + if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) + element.removeChild(node); + node = nextNode; + } + return element; + }, + + empty: function(element) { + return DOKUid(element).innerHTML.blank(); + }, + + descendantOf: function(element, ancestor) { + element = DOKUid(element), ancestor = DOKUid(ancestor); + + if (element.compareDocumentPosition) + return (element.compareDocumentPosition(ancestor) & 8) === 8; + + if (ancestor.contains) + return ancestor.contains(element) && ancestor !== element; + + while (element = element.parentNode) + if (element == ancestor) return true; + + return false; + }, + + scrollTo: function(element) { + element = DOKUid(element); + var pos = Element.cumulativeOffset(element); + window.scrollTo(pos[0], pos[1]); + return element; + }, + + getStyle: function(element, style) { + element = DOKUid(element); + style = style == 'float' ? 'cssFloat' : style.camelize(); + var value = element.style[style]; + if (!value || value == 'auto') { + var css = document.defaultView.getComputedStyle(element, null); + value = css ? css[style] : null; + } + if (style == 'opacity') return value ? parseFloat(value) : 1.0; + return value == 'auto' ? null : value; + }, + + getOpacity: function(element) { + return DOKUid(element).getStyle('opacity'); + }, + + setStyle: function(element, styles) { + element = DOKUid(element); + var elementStyle = element.style, match; + if (Object.isString(styles)) { + element.style.cssText += ';' + styles; + return styles.include('opacity') ? + element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element; + } + for (var property in styles) + if (property == 'opacity') element.setOpacity(styles[property]); + else + elementStyle[(property == 'float' || property == 'cssFloat') ? + (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') : + property] = styles[property]; + + return element; + }, + + setOpacity: function(element, value) { + element = DOKUid(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + return element; + }, + + getDimensions: function(element) { + element = DOKUid(element); + var display = Element.getStyle(element, 'display'); + if (display != 'none' && display != null) // Safari bug + return {width: element.offsetWidth, height: element.offsetHeight}; + + var els = element.style; + var originalVisibility = els.visibility; + var originalPosition = els.position; + var originalDisplay = els.display; + els.visibility = 'hidden'; + if (originalPosition != 'fixed') // Switching fixed to absolute causes issues in Safari + els.position = 'absolute'; + els.display = 'block'; + var originalWidth = element.clientWidth; + var originalHeight = element.clientHeight; + els.display = originalDisplay; + els.position = originalPosition; + els.visibility = originalVisibility; + return {width: originalWidth, height: originalHeight}; + }, + + makePositioned: function(element) { + element = DOKUid(element); + var pos = Element.getStyle(element, 'position'); + if (pos == 'static' || !pos) { + element._madePositioned = true; + element.style.position = 'relative'; + if (Prototype.Browser.Opera) { + element.style.top = 0; + element.style.left = 0; + } + } + return element; + }, + + undoPositioned: function(element) { + element = DOKUid(element); + if (element._madePositioned) { + element._madePositioned = undefined; + element.style.position = + element.style.top = + element.style.left = + element.style.bottom = + element.style.right = ''; + } + return element; + }, + + makeClipping: function(element) { + element = DOKUid(element); + if (element._overflow) return element; + element._overflow = Element.getStyle(element, 'overflow') || 'auto'; + if (element._overflow !== 'hidden') + element.style.overflow = 'hidden'; + return element; + }, + + undoClipping: function(element) { + element = DOKUid(element); + if (!element._overflow) return element; + element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; + element._overflow = null; + return element; + }, + + cumulativeOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + positionedOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + element = element.offsetParent; + if (element) { + if (element.tagName.toUpperCase() == 'BODY') break; + var p = Element.getStyle(element, 'position'); + if (p !== 'static') break; + } + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + absolutize: function(element) { + element = DOKUid(element); + if (Element.getStyle(element, 'position') == 'absolute') return element; + + var offsets = Element.positionedOffset(element); + var top = offsets[1]; + var left = offsets[0]; + var width = element.clientWidth; + var height = element.clientHeight; + + element._originalLeft = left - parseFloat(element.style.left || 0); + element._originalTop = top - parseFloat(element.style.top || 0); + element._originalWidth = element.style.width; + element._originalHeight = element.style.height; + + element.style.position = 'absolute'; + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.width = width + 'px'; + element.style.height = height + 'px'; + return element; + }, + + relativize: function(element) { + element = DOKUid(element); + if (Element.getStyle(element, 'position') == 'relative') return element; + + element.style.position = 'relative'; + var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); + var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); + + element.style.top = top + 'px'; + element.style.left = left + 'px'; + element.style.height = element._originalHeight; + element.style.width = element._originalWidth; + return element; + }, + + cumulativeScrollOffset: function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.scrollTop || 0; + valueL += element.scrollLeft || 0; + element = element.parentNode; + } while (element); + return Element._returnOffset(valueL, valueT); + }, + + getOffsetParent: function(element) { + if (element.offsetParent) return DOKUid(element.offsetParent); + if (element == document.body) return DOKUid(element); + + while ((element = element.parentNode) && element != document.body) + if (Element.getStyle(element, 'position') != 'static') + return DOKUid(element); + + return DOKUid(document.body); + }, + + viewportOffset: function(forElement) { + var valueT = 0, valueL = 0; + + var element = forElement; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + + if (element.offsetParent == document.body && + Element.getStyle(element, 'position') == 'absolute') break; + + } while (element = element.offsetParent); + + element = forElement; + do { + if (!Prototype.Browser.Opera || (element.tagName && (element.tagName.toUpperCase() == 'BODY'))) { + valueT -= element.scrollTop || 0; + valueL -= element.scrollLeft || 0; + } + } while (element = element.parentNode); + + return Element._returnOffset(valueL, valueT); + }, + + clonePosition: function(element, source) { + var options = Object.extend({ + setLeft: true, + setTop: true, + setWidth: true, + setHeight: true, + offsetTop: 0, + offsetLeft: 0 + }, arguments[2] || { }); + + source = DOKUid(source); + var p = Element.viewportOffset(source); + + element = DOKUid(element); + var delta = [0, 0]; + var parent = null; + if (Element.getStyle(element, 'position') == 'absolute') { + parent = Element.getOffsetParent(element); + delta = Element.viewportOffset(parent); + } + + if (parent == document.body) { + delta[0] -= document.body.offsetLeft; + delta[1] -= document.body.offsetTop; + } + + if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; + if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; + if (options.setWidth) element.style.width = source.offsetWidth + 'px'; + if (options.setHeight) element.style.height = source.offsetHeight + 'px'; + return element; + } +}; + +Object.extend(Element.Methods, { + getElementsBySelector: Element.Methods.select, + + childElements: Element.Methods.immediateDescendants +}); + +Element._attributeTranslations = { + write: { + names: { + className: 'class', + htmlFor: 'for' + }, + values: { } + } +}; + +if (Prototype.Browser.Opera) { + Element.Methods.getStyle = Element.Methods.getStyle.wrap( + function(proceed, element, style) { + switch (style) { + case 'left': case 'top': case 'right': case 'bottom': + if (proceed(element, 'position') === 'static') return null; + case 'height': case 'width': + if (!Element.visible(element)) return null; + + var dim = parseInt(proceed(element, style), 10); + + if (dim !== element['offset' + style.capitalize()]) + return dim + 'px'; + + var properties; + if (style === 'height') { + properties = ['border-top-width', 'padding-top', + 'padding-bottom', 'border-bottom-width']; + } + else { + properties = ['border-left-width', 'padding-left', + 'padding-right', 'border-right-width']; + } + return properties.inject(dim, function(memo, property) { + var val = proceed(element, property); + return val === null ? memo : memo - parseInt(val, 10); + }) + 'px'; + default: return proceed(element, style); + } + } + ); + + Element.Methods.readAttribute = Element.Methods.readAttribute.wrap( + function(proceed, element, attribute) { + if (attribute === 'title') return element.title; + return proceed(element, attribute); + } + ); +} + +else if (Prototype.Browser.IE) { + Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap( + function(proceed, element) { + element = DOKUid(element); + try { element.offsetParent } + catch(e) { return DOKUid(document.body) } + var position = element.getStyle('position'); + if (position !== 'static') return proceed(element); + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + + $w('positionedOffset viewportOffset').each(function(method) { + Element.Methods[method] = Element.Methods[method].wrap( + function(proceed, element) { + element = DOKUid(element); + try { element.offsetParent } + catch(e) { return Element._returnOffset(0,0) } + var position = element.getStyle('position'); + if (position !== 'static') return proceed(element); + var offsetParent = element.getOffsetParent(); + if (offsetParent && offsetParent.getStyle('position') === 'fixed') + offsetParent.setStyle({ zoom: 1 }); + element.setStyle({ position: 'relative' }); + var value = proceed(element); + element.setStyle({ position: position }); + return value; + } + ); + }); + + Element.Methods.cumulativeOffset = Element.Methods.cumulativeOffset.wrap( + function(proceed, element) { + try { element.offsetParent } + catch(e) { return Element._returnOffset(0,0) } + return proceed(element); + } + ); + + Element.Methods.getStyle = function(element, style) { + element = DOKUid(element); + style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize(); + var value = element.style[style]; + if (!value && element.currentStyle) value = element.currentStyle[style]; + + if (style == 'opacity') { + if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/)) + if (value[1]) return parseFloat(value[1]) / 100; + return 1.0; + } + + if (value == 'auto') { + if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none')) + return element['offset' + style.capitalize()] + 'px'; + return null; + } + return value; + }; + + Element.Methods.setOpacity = function(element, value) { + function stripAlpha(filter){ + return filter.replace(/alpha\([^\)]*\)/gi,''); + } + element = DOKUid(element); + var currentStyle = element.currentStyle; + if ((currentStyle && !currentStyle.hasLayout) || + (!currentStyle && element.style.zoom == 'normal')) + element.style.zoom = 1; + + var filter = element.getStyle('filter'), style = element.style; + if (value == 1 || value === '') { + (filter = stripAlpha(filter)) ? + style.filter = filter : style.removeAttribute('filter'); + return element; + } else if (value < 0.00001) value = 0; + style.filter = stripAlpha(filter) + + 'alpha(opacity=' + (value * 100) + ')'; + return element; + }; + + Element._attributeTranslations = (function(){ + + var classProp = 'className'; + var forProp = 'for'; + + var el = document.createElement('div'); + + el.setAttribute(classProp, 'x'); + + if (el.className !== 'x') { + el.setAttribute('class', 'x'); + if (el.className === 'x') { + classProp = 'class'; + } + } + el = null; + + el = document.createElement('label'); + el.setAttribute(forProp, 'x'); + if (el.htmlFor !== 'x') { + el.setAttribute('htmlFor', 'x'); + if (el.htmlFor === 'x') { + forProp = 'htmlFor'; + } + } + el = null; + + return { + read: { + names: { + 'class': classProp, + 'className': classProp, + 'for': forProp, + 'htmlFor': forProp + }, + values: { + _getAttr: function(element, attribute) { + return element.getAttribute(attribute); + }, + _getAttr2: function(element, attribute) { + return element.getAttribute(attribute, 2); + }, + _getAttrNode: function(element, attribute) { + var node = element.getAttributeNode(attribute); + return node ? node.value : ""; + }, + _getEv: (function(){ + + var el = document.createElement('div'); + el.onclick = Prototype.emptyFunction; + var value = el.getAttribute('onclick'); + var f; + + if (String(value).indexOf('{') > -1) { + f = function(element, attribute) { + attribute = element.getAttribute(attribute); + if (!attribute) return null; + attribute = attribute.toString(); + attribute = attribute.split('{')[1]; + attribute = attribute.split('}')[0]; + return attribute.strip(); + }; + } + else if (value === '') { + f = function(element, attribute) { + attribute = element.getAttribute(attribute); + if (!attribute) return null; + return attribute.strip(); + }; + } + el = null; + return f; + })(), + _flag: function(element, attribute) { + return DOKUid(element).hasAttribute(attribute) ? attribute : null; + }, + style: function(element) { + return element.style.cssText.toLowerCase(); + }, + title: function(element) { + return element.title; + } + } + } + } + })(); + + Element._attributeTranslations.write = { + names: Object.extend({ + cellpadding: 'cellPadding', + cellspacing: 'cellSpacing' + }, Element._attributeTranslations.read.names), + values: { + checked: function(element, value) { + element.checked = !!value; + }, + + style: function(element, value) { + element.style.cssText = value ? value : ''; + } + } + }; + + Element._attributeTranslations.has = {}; + + $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' + + 'encType maxLength readOnly longDesc frameBorder').each(function(attr) { + Element._attributeTranslations.write.names[attr.toLowerCase()] = attr; + Element._attributeTranslations.has[attr.toLowerCase()] = attr; + }); + + (function(v) { + Object.extend(v, { + href: v._getAttr2, + src: v._getAttr2, + type: v._getAttr, + action: v._getAttrNode, + disabled: v._flag, + checked: v._flag, + readonly: v._flag, + multiple: v._flag, + onload: v._getEv, + onunload: v._getEv, + onclick: v._getEv, + ondblclick: v._getEv, + onmousedown: v._getEv, + onmouseup: v._getEv, + onmouseover: v._getEv, + onmousemove: v._getEv, + onmouseout: v._getEv, + onfocus: v._getEv, + onblur: v._getEv, + onkeypress: v._getEv, + onkeydown: v._getEv, + onkeyup: v._getEv, + onsubmit: v._getEv, + onreset: v._getEv, + onselect: v._getEv, + onchange: v._getEv + }); + })(Element._attributeTranslations.read.values); + + if (Prototype.BrowserFeatures.ElementExtensions) { + (function() { + function _descendants(element) { + var nodes = element.getElementsByTagName('*'), results = []; + for (var i = 0, node; node = nodes[i]; i++) + if (node.tagName !== "!") // Filter out comment nodes. + results.push(node); + return results; + } + + Element.Methods.down = function(element, expression, index) { + element = DOKUid(element); + if (arguments.length == 1) return element.firstDescendant(); + return Object.isNumber(expression) ? _descendants(element)[expression] : + Element.select(element, expression)[index || 0]; + } + })(); + } + +} + +else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) { + Element.Methods.setOpacity = function(element, value) { + element = DOKUid(element); + element.style.opacity = (value == 1) ? 0.999999 : + (value === '') ? '' : (value < 0.00001) ? 0 : value; + return element; + }; +} + +else if (Prototype.Browser.WebKit) { + Element.Methods.setOpacity = function(element, value) { + element = DOKUid(element); + element.style.opacity = (value == 1 || value === '') ? '' : + (value < 0.00001) ? 0 : value; + + if (value == 1) + if(element.tagName.toUpperCase() == 'IMG' && element.width) { + element.width++; element.width--; + } else try { + var n = document.createTextNode(' '); + element.appendChild(n); + element.removeChild(n); + } catch (e) { } + + return element; + }; + + Element.Methods.cumulativeOffset = function(element) { + var valueT = 0, valueL = 0; + do { + valueT += element.offsetTop || 0; + valueL += element.offsetLeft || 0; + if (element.offsetParent == document.body) + if (Element.getStyle(element, 'position') == 'absolute') break; + + element = element.offsetParent; + } while (element); + + return Element._returnOffset(valueL, valueT); + }; +} + +if ('outerHTML' in document.documentElement) { + Element.Methods.replace = function(element, content) { + element = DOKUid(element); + + if (content && content.toElement) content = content.toElement(); + if (Object.isElement(content)) { + element.parentNode.replaceChild(content, element); + return element; + } + + content = Object.toHTML(content); + var parent = element.parentNode, tagName = parent.tagName.toUpperCase(); + + if (Element._insertionTranslations.tags[tagName]) { + var nextSibling = element.next(); + var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts()); + parent.removeChild(element); + if (nextSibling) + fragments.each(function(node) { parent.insertBefore(node, nextSibling) }); + else + fragments.each(function(node) { parent.appendChild(node) }); + } + else element.outerHTML = content.stripScripts(); + + content.evalScripts.bind(content).defer(); + return element; + }; +} + +Element._returnOffset = function(l, t) { + var result = [l, t]; + result.left = l; + result.top = t; + return result; +}; + +Element._getContentFromAnonymousElement = function(tagName, html) { + var div = new Element('div'), t = Element._insertionTranslations.tags[tagName]; + if (t) { + div.innerHTML = t[0] + html + t[1]; + t[2].times(function() { div = div.firstChild }); + } else div.innerHTML = html; + return $A(div.childNodes); +}; + +Element._insertionTranslations = { + before: function(element, node) { + element.parentNode.insertBefore(node, element); + }, + top: function(element, node) { + element.insertBefore(node, element.firstChild); + }, + bottom: function(element, node) { + element.appendChild(node); + }, + after: function(element, node) { + element.parentNode.insertBefore(node, element.nextSibling); + }, + tags: { + TABLE: ['<table>', '</table>', 1], + TBODY: ['<table><tbody>', '</tbody></table>', 2], + TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3], + TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4], + SELECT: ['<select>', '</select>', 1] + } +}; + +(function() { + var tags = Element._insertionTranslations.tags; + Object.extend(tags, { + THEAD: tags.TBODY, + TFOOT: tags.TBODY, + TH: tags.TD + }); +})(); + +Element.Methods.Simulated = { + hasAttribute: function(element, attribute) { + attribute = Element._attributeTranslations.has[attribute] || attribute; + var node = DOKUid(element).getAttributeNode(attribute); + return !!(node && node.specified); + } +}; + +Element.Methods.ByTag = { }; + +Object.extend(Element, Element.Methods); + +(function(div) { + + if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) { + window.HTMLElement = { }; + window.HTMLElement.prototype = div['__proto__']; + Prototype.BrowserFeatures.ElementExtensions = true; + } + + div = null; + +})(document.createElement('div')) + +Element.extend = (function() { + + function checkDeficiency(tagName) { + if (typeof window.Element != 'undefined') { + var proto = window.Element.prototype; + if (proto) { + var id = '_' + (Math.random()+'').slice(2); + var el = document.createElement(tagName); + proto[id] = 'x'; + var isBuggy = (el[id] !== 'x'); + delete proto[id]; + el = null; + return isBuggy; + } + } + return false; + } + + function extendElementWith(element, methods) { + for (var property in methods) { + var value = methods[property]; + if (Object.isFunction(value) && !(property in element)) + element[property] = value.methodize(); + } + } + + var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY = checkDeficiency('object'); + + if (Prototype.BrowserFeatures.SpecificElementExtensions) { + if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) { + return function(element) { + if (element && typeof element._extendedByPrototype == 'undefined') { + var t = element.tagName; + if (t && (/^(?:object|applet|embed)$/i.test(t))) { + extendElementWith(element, Element.Methods); + extendElementWith(element, Element.Methods.Simulated); + extendElementWith(element, Element.Methods.ByTag[t.toUpperCase()]); + } + } + return element; + } + } + return Prototype.K; + } + + var Methods = { }, ByTag = Element.Methods.ByTag; + + var extend = Object.extend(function(element) { + if (!element || typeof element._extendedByPrototype != 'undefined' || + element.nodeType != 1 || element == window) return element; + + var methods = Object.clone(Methods), + tagName = element.tagName.toUpperCase(); + + if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]); + + extendElementWith(element, methods); + + element._extendedByPrototype = Prototype.emptyFunction; + return element; + + }, { + refresh: function() { + if (!Prototype.BrowserFeatures.ElementExtensions) { + Object.extend(Methods, Element.Methods); + Object.extend(Methods, Element.Methods.Simulated); + } + } + }); + + extend.refresh(); + return extend; +})(); + +Element.hasAttribute = function(element, attribute) { + if (element.hasAttribute) return element.hasAttribute(attribute); + return Element.Methods.Simulated.hasAttribute(element, attribute); +}; + +Element.addMethods = function(methods) { + var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag; + + if (!methods) { + Object.extend(Form, Form.Methods); + Object.extend(Form.Element, Form.Element.Methods); + Object.extend(Element.Methods.ByTag, { + "FORM": Object.clone(Form.Methods), + "INPUT": Object.clone(Form.Element.Methods), + "SELECT": Object.clone(Form.Element.Methods), + "TEXTAREA": Object.clone(Form.Element.Methods) + }); + } + + if (arguments.length == 2) { + var tagName = methods; + methods = arguments[1]; + } + + if (!tagName) Object.extend(Element.Methods, methods || { }); + else { + if (Object.isArray(tagName)) tagName.each(extend); + else extend(tagName); + } + + function extend(tagName) { + tagName = tagName.toUpperCase(); + if (!Element.Methods.ByTag[tagName]) + Element.Methods.ByTag[tagName] = { }; + Object.extend(Element.Methods.ByTag[tagName], methods); + } + + function copy(methods, destination, onlyIfAbsent) { + onlyIfAbsent = onlyIfAbsent || false; + for (var property in methods) { + var value = methods[property]; + if (!Object.isFunction(value)) continue; + if (!onlyIfAbsent || !(property in destination)) + destination[property] = value.methodize(); + } + } + + function findDOMClass(tagName) { + var klass; + var trans = { + "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph", + "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList", + "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading", + "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote", + "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION": + "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD": + "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR": + "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET": + "FrameSet", "IFRAME": "IFrame" + }; + if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName + 'Element'; + if (window[klass]) return window[klass]; + klass = 'HTML' + tagName.capitalize() + 'Element'; + if (window[klass]) return window[klass]; + + var element = document.createElement(tagName); + var proto = element['__proto__'] || element.constructor.prototype; + element = null; + return proto; + } + + var elementPrototype = window.HTMLElement ? HTMLElement.prototype : + Element.prototype; + + if (F.ElementExtensions) { + copy(Element.Methods, elementPrototype); + copy(Element.Methods.Simulated, elementPrototype, true); + } + + if (F.SpecificElementExtensions) { + for (var tag in Element.Methods.ByTag) { + var klass = findDOMClass(tag); + if (Object.isUndefined(klass)) continue; + copy(T[tag], klass.prototype); + } + } + + Object.extend(Element, Element.Methods); + delete Element.ByTag; + + if (Element.extend.refresh) Element.extend.refresh(); + Element.cache = { }; +}; + + +document.viewport = { + + getDimensions: function() { + return { width: this.getWidth(), height: this.getHeight() }; + }, + + getScrollOffsets: function() { + return Element._returnOffset( + window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, + window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop); + } +}; + +(function(viewport) { + var B = Prototype.Browser, doc = document, element, property = {}; + + function getRootElement() { + if (B.WebKit && !doc.evaluate) + return document; + + if (B.Opera && window.parseFloat(window.opera.version()) < 9.5) + return document.body; + + return document.documentElement; + } + + function define(D) { + if (!element) element = getRootElement(); + + property[D] = 'client' + D; + + viewport['get' + D] = function() { return element[property[D]] }; + return viewport['get' + D](); + } + + viewport.getWidth = define.curry('Width'); + + viewport.getHeight = define.curry('Height'); +})(document.viewport); + + +Element.Storage = { + UID: 1 +}; + +Element.addMethods({ + getStorage: function(element) { + if (!(element = DOKUid(element))) return; + + var uid; + if (element === window) { + uid = 0; + } else { + if (typeof element._prototypeUID === "undefined") + element._prototypeUID = [Element.Storage.UID++]; + uid = element._prototypeUID[0]; + } + + if (!Element.Storage[uid]) + Element.Storage[uid] = $H(); + + return Element.Storage[uid]; + }, + + store: function(element, key, value) { + if (!(element = DOKUid(element))) return; + + if (arguments.length === 2) { + Element.getStorage(element).update(key); + } else { + Element.getStorage(element).set(key, value); + } + + return element; + }, + + retrieve: function(element, key, defaultValue) { + if (!(element = DOKUid(element))) return; + var hash = Element.getStorage(element), value = hash.get(key); + + if (Object.isUndefined(value)) { + hash.set(key, defaultValue); + value = defaultValue; + } + + return value; + }, + + clone: function(element, deep) { + if (!(element = DOKUid(element))) return; + var clone = element.cloneNode(deep); + clone._prototypeUID = void 0; + if (deep) { + var descendants = Element.select(clone, '*'), + i = descendants.length; + while (i--) { + descendants[i]._prototypeUID = void 0; + } + } + return Element.extend(clone); + } +}); +/* Portions of the Selector class are derived from Jack Slocum's DomQuery, + * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style + * license. Please see http://www.yui-ext.com/ for more information. */ + +var Selector = Class.create({ + initialize: function(expression) { + this.expression = expression.strip(); + + if (this.shouldUseSelectorsAPI()) { + this.mode = 'selectorsAPI'; + } else if (this.shouldUseXPath()) { + this.mode = 'xpath'; + this.compileXPathMatcher(); + } else { + this.mode = "normal"; + this.compileMatcher(); + } + + }, + + shouldUseXPath: (function() { + + var IS_DESCENDANT_SELECTOR_BUGGY = (function(){ + var isBuggy = false; + if (document.evaluate && window.XPathResult) { + var el = document.createElement('div'); + el.innerHTML = '<ul><li></li></ul><div><ul><li></li></ul></div>'; + + var xpath = ".//*[local-name()='ul' or local-name()='UL']" + + "//*[local-name()='li' or local-name()='LI']"; + + var result = document.evaluate(xpath, el, null, + XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); + + isBuggy = (result.snapshotLength !== 2); + el = null; + } + return isBuggy; + })(); + + return function() { + if (!Prototype.BrowserFeatures.XPath) return false; + + var e = this.expression; + + if (Prototype.Browser.WebKit && + (e.include("-of-type") || e.include(":empty"))) + return false; + + if ((/(\[[\w-]*?:|:checked)/).test(e)) + return false; + + if (IS_DESCENDANT_SELECTOR_BUGGY) return false; + + return true; + } + + })(), + + shouldUseSelectorsAPI: function() { + if (!Prototype.BrowserFeatures.SelectorsAPI) return false; + + if (Selector.CASE_INSENSITIVE_CLASS_NAMES) return false; + + if (!Selector._div) Selector._div = new Element('div'); + + try { + Selector._div.querySelector(this.expression); + } catch(e) { + return false; + } + + return true; + }, + + compileMatcher: function() { + var e = this.expression, ps = Selector.patterns, h = Selector.handlers, + c = Selector.criteria, le, p, m, len = ps.length, name; + + if (Selector._cache[e]) { + this.matcher = Selector._cache[e]; + return; + } + + this.matcher = ["this.matcher = function(root) {", + "var r = root, h = Selector.handlers, c = false, n;"]; + + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i = 0; i<len; i++) { + p = ps[i].re; + name = ps[i].name; + if (m = e.match(p)) { + this.matcher.push(Object.isFunction(c[name]) ? c[name](m) : + new Template(c[name]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.matcher.push("return h.unique(n);\n}"); + eval(this.matcher.join('\n')); + Selector._cache[this.expression] = this.matcher; + }, + + compileXPathMatcher: function() { + var e = this.expression, ps = Selector.patterns, + x = Selector.xpath, le, m, len = ps.length, name; + + if (Selector._cache[e]) { + this.xpath = Selector._cache[e]; return; + } + + this.matcher = ['.//*']; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i = 0; i<len; i++) { + name = ps[i].name; + if (m = e.match(ps[i].re)) { + this.matcher.push(Object.isFunction(x[name]) ? x[name](m) : + new Template(x[name]).evaluate(m)); + e = e.replace(m[0], ''); + break; + } + } + } + + this.xpath = this.matcher.join(''); + Selector._cache[this.expression] = this.xpath; + }, + + findElements: function(root) { + root = root || document; + var e = this.expression, results; + + switch (this.mode) { + case 'selectorsAPI': + if (root !== document) { + var oldId = root.id, id = DOKUid(root).identify(); + id = id.replace(/([\.:])/g, "\\$1"); + e = "#" + id + " " + e; + } + + results = $A(root.querySelectorAll(e)).map(Element.extend); + root.id = oldId; + + return results; + case 'xpath': + return document._getElementsByXPath(this.xpath, root); + default: + return this.matcher(root); + } + }, + + match: function(element) { + this.tokens = []; + + var e = this.expression, ps = Selector.patterns, as = Selector.assertions; + var le, p, m, len = ps.length, name; + + while (e && le !== e && (/\S/).test(e)) { + le = e; + for (var i = 0; i<len; i++) { + p = ps[i].re; + name = ps[i].name; + if (m = e.match(p)) { + if (as[name]) { + this.tokens.push([name, Object.clone(m)]); + e = e.replace(m[0], ''); + } else { + return this.findElements(document).include(element); + } + } + } + } + + var match = true, name, matches; + for (var i = 0, token; token = this.tokens[i]; i++) { + name = token[0], matches = token[1]; + if (!Selector.assertions[name](element, matches)) { + match = false; break; + } + } + + return match; + }, + + toString: function() { + return this.expression; + }, + + inspect: function() { + return "#<Selector:" + this.expression.inspect() + ">"; + } +}); + +if (Prototype.BrowserFeatures.SelectorsAPI && + document.compatMode === 'BackCompat') { + Selector.CASE_INSENSITIVE_CLASS_NAMES = (function(){ + var div = document.createElement('div'), + span = document.createElement('span'); + + div.id = "prototype_test_id"; + span.className = 'Test'; + div.appendChild(span); + var isIgnored = (div.querySelector('#prototype_test_id .test') !== null); + div = span = null; + return isIgnored; + })(); +} + +Object.extend(Selector, { + _cache: { }, + + xpath: { + descendant: "//*", + child: "/*", + adjacent: "/following-sibling::*[1]", + laterSibling: '/following-sibling::*', + tagName: function(m) { + if (m[1] == '*') return ''; + return "[local-name()='" + m[1].toLowerCase() + + "' or local-name()='" + m[1].toUpperCase() + "']"; + }, + className: "[contains(concat(' ', @class, ' '), ' #{1} ')]", + id: "[@id='#{1}']", + attrPresence: function(m) { + m[1] = m[1].toLowerCase(); + return new Template("[@#{1}]").evaluate(m); + }, + attr: function(m) { + m[1] = m[1].toLowerCase(); + m[3] = m[5] || m[6]; + return new Template(Selector.xpath.operators[m[2]]).evaluate(m); + }, + pseudo: function(m) { + var h = Selector.xpath.pseudos[m[1]]; + if (!h) return ''; + if (Object.isFunction(h)) return h(m); + return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m); + }, + operators: { + '=': "[@#{1}='#{3}']", + '!=': "[@#{1}!='#{3}']", + '^=': "[starts-with(@#{1}, '#{3}')]", + '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']", + '*=': "[contains(@#{1}, '#{3}')]", + '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]", + '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]" + }, + pseudos: { + 'first-child': '[not(preceding-sibling::*)]', + 'last-child': '[not(following-sibling::*)]', + 'only-child': '[not(preceding-sibling::* or following-sibling::*)]', + 'empty': "[count(*) = 0 and (count(text()) = 0)]", + 'checked': "[@checked]", + 'disabled': "[(@disabled) and (@type!='hidden')]", + 'enabled': "[not(@disabled) and (@type!='hidden')]", + 'not': function(m) { + var e = m[6], p = Selector.patterns, + x = Selector.xpath, le, v, len = p.length, name; + + var exclusion = []; + while (e && le != e && (/\S/).test(e)) { + le = e; + for (var i = 0; i<len; i++) { + name = p[i].name + if (m = e.match(p[i].re)) { + v = Object.isFunction(x[name]) ? x[name](m) : new Template(x[name]).evaluate(m); + exclusion.push("(" + v.substring(1, v.length - 1) + ")"); + e = e.replace(m[0], ''); + break; + } + } + } + return "[not(" + exclusion.join(" and ") + ")]"; + }, + 'nth-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m); + }, + 'nth-last-child': function(m) { + return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m); + }, + 'nth-of-type': function(m) { + return Selector.xpath.pseudos.nth("position() ", m); + }, + 'nth-last-of-type': function(m) { + return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m); + }, + 'first-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m); + }, + 'last-of-type': function(m) { + m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m); + }, + 'only-of-type': function(m) { + var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m); + }, + nth: function(fragment, m) { + var mm, formula = m[6], predicate; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + if (mm = formula.match(/^(\d+)$/)) // digit only + return '[' + fragment + "= " + mm[1] + ']'; + if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (mm[1] == "-") mm[1] = -1; + var a = mm[1] ? Number(mm[1]) : 1; + var b = mm[2] ? Number(mm[2]) : 0; + predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " + + "((#{fragment} - #{b}) div #{a} >= 0)]"; + return new Template(predicate).evaluate({ + fragment: fragment, a: a, b: b }); + } + } + } + }, + + criteria: { + tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;', + className: 'n = h.className(n, r, "#{1}", c); c = false;', + id: 'n = h.id(n, r, "#{1}", c); c = false;', + attrPresence: 'n = h.attrPresence(n, r, "#{1}", c); c = false;', + attr: function(m) { + m[3] = (m[5] || m[6]); + return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m); + }, + pseudo: function(m) { + if (m[6]) m[6] = m[6].replace(/"/g, '\\"'); + return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m); + }, + descendant: 'c = "descendant";', + child: 'c = "child";', + adjacent: 'c = "adjacent";', + laterSibling: 'c = "laterSibling";' + }, + + patterns: [ + { name: 'laterSibling', re: /^\s*~\s*/ }, + { name: 'child', re: /^\s*>\s*/ }, + { name: 'adjacent', re: /^\s*\+\s*/ }, + { name: 'descendant', re: /^\s/ }, + + { name: 'tagName', re: /^\s*(\*|[\w\-]+)(\b|$)?/ }, + { name: 'id', re: /^#([\w\-\*]+)(\b|$)/ }, + { name: 'className', re: /^\.([\w\-\*]+)(\b|$)/ }, + { name: 'pseudo', re: /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/ }, + { name: 'attrPresence', re: /^\[((?:[\w-]+:)?[\w-]+)\]/ }, + { name: 'attr', re: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/ } + ], + + assertions: { + tagName: function(element, matches) { + return matches[1].toUpperCase() == element.tagName.toUpperCase(); + }, + + className: function(element, matches) { + return Element.hasClassName(element, matches[1]); + }, + + id: function(element, matches) { + return element.id === matches[1]; + }, + + attrPresence: function(element, matches) { + return Element.hasAttribute(element, matches[1]); + }, + + attr: function(element, matches) { + var nodeValue = Element.readAttribute(element, matches[1]); + return nodeValue && Selector.operators[matches[2]](nodeValue, matches[5] || matches[6]); + } + }, + + handlers: { + concat: function(a, b) { + for (var i = 0, node; node = b[i]; i++) + a.push(node); + return a; + }, + + mark: function(nodes) { + var _true = Prototype.emptyFunction; + for (var i = 0, node; node = nodes[i]; i++) + node._countedByPrototype = _true; + return nodes; + }, + + unmark: (function(){ + + var PROPERTIES_ATTRIBUTES_MAP = (function(){ + var el = document.createElement('div'), + isBuggy = false, + propName = '_countedByPrototype', + value = 'x' + el[propName] = value; + isBuggy = (el.getAttribute(propName) === value); + el = null; + return isBuggy; + })(); + + return PROPERTIES_ATTRIBUTES_MAP ? + function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node.removeAttribute('_countedByPrototype'); + return nodes; + } : + function(nodes) { + for (var i = 0, node; node = nodes[i]; i++) + node._countedByPrototype = void 0; + return nodes; + } + })(), + + index: function(parentNode, reverse, ofType) { + parentNode._countedByPrototype = Prototype.emptyFunction; + if (reverse) { + for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) { + var node = nodes[i]; + if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++; + } + } else { + for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++) + if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++; + } + }, + + unique: function(nodes) { + if (nodes.length == 0) return nodes; + var results = [], n; + for (var i = 0, l = nodes.length; i < l; i++) + if (typeof (n = nodes[i])._countedByPrototype == 'undefined') { + n._countedByPrototype = Prototype.emptyFunction; + results.push(Element.extend(n)); + } + return Selector.handlers.unmark(results); + }, + + descendant: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName('*')); + return results; + }, + + child: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) { + for (var j = 0, child; child = node.childNodes[j]; j++) + if (child.nodeType == 1 && child.tagName != '!') results.push(child); + } + return results; + }, + + adjacent: function(nodes) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + var next = this.nextElementSibling(node); + if (next) results.push(next); + } + return results; + }, + + laterSibling: function(nodes) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + h.concat(results, Element.nextSiblings(node)); + return results; + }, + + nextElementSibling: function(node) { + while (node = node.nextSibling) + if (node.nodeType == 1) return node; + return null; + }, + + previousElementSibling: function(node) { + while (node = node.previousSibling) + if (node.nodeType == 1) return node; + return null; + }, + + tagName: function(nodes, root, tagName, combinator) { + var uTagName = tagName.toUpperCase(); + var results = [], h = Selector.handlers; + if (nodes) { + if (combinator) { + if (combinator == "descendant") { + for (var i = 0, node; node = nodes[i]; i++) + h.concat(results, node.getElementsByTagName(tagName)); + return results; + } else nodes = this[combinator](nodes); + if (tagName == "*") return nodes; + } + for (var i = 0, node; node = nodes[i]; i++) + if (node.tagName.toUpperCase() === uTagName) results.push(node); + return results; + } else return root.getElementsByTagName(tagName); + }, + + id: function(nodes, root, id, combinator) { + var targetNode = DOKUid(id), h = Selector.handlers; + + if (root == document) { + if (!targetNode) return []; + if (!nodes) return [targetNode]; + } else { + if (!root.sourceIndex || root.sourceIndex < 1) { + var nodes = root.getElementsByTagName('*'); + for (var j = 0, node; node = nodes[j]; j++) { + if (node.id === id) return [node]; + } + } + } + + if (nodes) { + if (combinator) { + if (combinator == 'child') { + for (var i = 0, node; node = nodes[i]; i++) + if (targetNode.parentNode == node) return [targetNode]; + } else if (combinator == 'descendant') { + for (var i = 0, node; node = nodes[i]; i++) + if (Element.descendantOf(targetNode, node)) return [targetNode]; + } else if (combinator == 'adjacent') { + for (var i = 0, node; node = nodes[i]; i++) + if (Selector.handlers.previousElementSibling(targetNode) == node) + return [targetNode]; + } else nodes = h[combinator](nodes); + } + for (var i = 0, node; node = nodes[i]; i++) + if (node == targetNode) return [targetNode]; + return []; + } + return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : []; + }, + + className: function(nodes, root, className, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + return Selector.handlers.byClassName(nodes, root, className); + }, + + byClassName: function(nodes, root, className) { + if (!nodes) nodes = Selector.handlers.descendant([root]); + var needle = ' ' + className + ' '; + for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) { + nodeClassName = node.className; + if (nodeClassName.length == 0) continue; + if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle)) + results.push(node); + } + return results; + }, + + attrPresence: function(nodes, root, attr, combinator) { + if (!nodes) nodes = root.getElementsByTagName("*"); + if (nodes && combinator) nodes = this[combinator](nodes); + var results = []; + for (var i = 0, node; node = nodes[i]; i++) + if (Element.hasAttribute(node, attr)) results.push(node); + return results; + }, + + attr: function(nodes, root, attr, value, operator, combinator) { + if (!nodes) nodes = root.getElementsByTagName("*"); + if (nodes && combinator) nodes = this[combinator](nodes); + var handler = Selector.operators[operator], results = []; + for (var i = 0, node; node = nodes[i]; i++) { + var nodeValue = Element.readAttribute(node, attr); + if (nodeValue === null) continue; + if (handler(nodeValue, value)) results.push(node); + } + return results; + }, + + pseudo: function(nodes, name, value, root, combinator) { + if (nodes && combinator) nodes = this[combinator](nodes); + if (!nodes) nodes = root.getElementsByTagName("*"); + return Selector.pseudos[name](nodes, value, root); + } + }, + + pseudos: { + 'first-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.previousElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'last-child': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (Selector.handlers.nextElementSibling(node)) continue; + results.push(node); + } + return results; + }, + 'only-child': function(nodes, value, root) { + var h = Selector.handlers; + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!h.previousElementSibling(node) && !h.nextElementSibling(node)) + results.push(node); + return results; + }, + 'nth-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root); + }, + 'nth-last-child': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true); + }, + 'nth-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, false, true); + }, + 'nth-last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, formula, root, true, true); + }, + 'first-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, false, true); + }, + 'last-of-type': function(nodes, formula, root) { + return Selector.pseudos.nth(nodes, "1", root, true, true); + }, + 'only-of-type': function(nodes, formula, root) { + var p = Selector.pseudos; + return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root); + }, + + getIndices: function(a, b, total) { + if (a == 0) return b > 0 ? [b] : []; + return $R(1, total).inject([], function(memo, i) { + if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i); + return memo; + }); + }, + + nth: function(nodes, formula, root, reverse, ofType) { + if (nodes.length == 0) return []; + if (formula == 'even') formula = '2n+0'; + if (formula == 'odd') formula = '2n+1'; + var h = Selector.handlers, results = [], indexed = [], m; + h.mark(nodes); + for (var i = 0, node; node = nodes[i]; i++) { + if (!node.parentNode._countedByPrototype) { + h.index(node.parentNode, reverse, ofType); + indexed.push(node.parentNode); + } + } + if (formula.match(/^\d+$/)) { // just a number + formula = Number(formula); + for (var i = 0, node; node = nodes[i]; i++) + if (node.nodeIndex == formula) results.push(node); + } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b + if (m[1] == "-") m[1] = -1; + var a = m[1] ? Number(m[1]) : 1; + var b = m[2] ? Number(m[2]) : 0; + var indices = Selector.pseudos.getIndices(a, b, nodes.length); + for (var i = 0, node, l = indices.length; node = nodes[i]; i++) { + for (var j = 0; j < l; j++) + if (node.nodeIndex == indices[j]) results.push(node); + } + } + h.unmark(nodes); + h.unmark(indexed); + return results; + }, + + 'empty': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) { + if (node.tagName == '!' || node.firstChild) continue; + results.push(node); + } + return results; + }, + + 'not': function(nodes, selector, root) { + var h = Selector.handlers, selectorType, m; + var exclusions = new Selector(selector).findElements(root); + h.mark(exclusions); + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node._countedByPrototype) results.push(node); + h.unmark(exclusions); + return results; + }, + + 'enabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (!node.disabled && (!node.type || node.type !== 'hidden')) + results.push(node); + return results; + }, + + 'disabled': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.disabled) results.push(node); + return results; + }, + + 'checked': function(nodes, value, root) { + for (var i = 0, results = [], node; node = nodes[i]; i++) + if (node.checked) results.push(node); + return results; + } + }, + + operators: { + '=': function(nv, v) { return nv == v; }, + '!=': function(nv, v) { return nv != v; }, + '^=': function(nv, v) { return nv == v || nv && nv.startsWith(v); }, + '$=': function(nv, v) { return nv == v || nv && nv.endsWith(v); }, + '*=': function(nv, v) { return nv == v || nv && nv.include(v); }, + '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); }, + '|=': function(nv, v) { return ('-' + (nv || "").toUpperCase() + + '-').include('-' + (v || "").toUpperCase() + '-'); } + }, + + split: function(expression) { + var expressions = []; + expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) { + expressions.push(m[1].strip()); + }); + return expressions; + }, + + matchElements: function(elements, expression) { + var matches = $$(expression), h = Selector.handlers; + h.mark(matches); + for (var i = 0, results = [], element; element = elements[i]; i++) + if (element._countedByPrototype) results.push(element); + h.unmark(matches); + return results; + }, + + findElement: function(elements, expression, index) { + if (Object.isNumber(expression)) { + index = expression; expression = false; + } + return Selector.matchElements(elements, expression || '*')[index || 0]; + }, + + findChildElements: function(element, expressions) { + expressions = Selector.split(expressions.join(',')); + var results = [], h = Selector.handlers; + for (var i = 0, l = expressions.length, selector; i < l; i++) { + selector = new Selector(expressions[i].strip()); + h.concat(results, selector.findElements(element)); + } + return (l > 1) ? h.unique(results) : results; + } +}); + +if (Prototype.Browser.IE) { + Object.extend(Selector.handlers, { + concat: function(a, b) { + for (var i = 0, node; node = b[i]; i++) + if (node.tagName !== "!") a.push(node); + return a; + } + }); +} + +function $$() { + return Selector.findChildElements(document, $A(arguments)); +} + +var Form = { + reset: function(form) { + form = DOKUid(form); + form.reset(); + return form; + }, + + serializeElements: function(elements, options) { + if (typeof options != 'object') options = { hash: !!options }; + else if (Object.isUndefined(options.hash)) options.hash = true; + var key, value, submitted = false, submit = options.submit; + + var data = elements.inject({ }, function(result, element) { + if (!element.disabled && element.name) { + key = element.name; value = DOKUid(element).getValue(); + if (value != null && element.type != 'file' && (element.type != 'submit' || (!submitted && + submit !== false && (!submit || key == submit) && (submitted = true)))) { + if (key in result) { + if (!Object.isArray(result[key])) result[key] = [result[key]]; + result[key].push(value); + } + else result[key] = value; + } + } + return result; + }); + + return options.hash ? data : Object.toQueryString(data); + } +}; + +Form.Methods = { + serialize: function(form, options) { + return Form.serializeElements(Form.getElements(form), options); + }, + + getElements: function(form) { + var elements = DOKUid(form).getElementsByTagName('*'), + element, + arr = [ ], + serializers = Form.Element.Serializers; + for (var i = 0; element = elements[i]; i++) { + arr.push(element); + } + return arr.inject([], function(elements, child) { + if (serializers[child.tagName.toLowerCase()]) + elements.push(Element.extend(child)); + return elements; + }) + }, + + getInputs: function(form, typeName, name) { + form = DOKUid(form); + var inputs = form.getElementsByTagName('input'); + + if (!typeName && !name) return $A(inputs).map(Element.extend); + + for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) { + var input = inputs[i]; + if ((typeName && input.type != typeName) || (name && input.name != name)) + continue; + matchingInputs.push(Element.extend(input)); + } + + return matchingInputs; + }, + + disable: function(form) { + form = DOKUid(form); + Form.getElements(form).invoke('disable'); + return form; + }, + + enable: function(form) { + form = DOKUid(form); + Form.getElements(form).invoke('enable'); + return form; + }, + + findFirstElement: function(form) { + var elements = DOKUid(form).getElements().findAll(function(element) { + return 'hidden' != element.type && !element.disabled; + }); + var firstByIndex = elements.findAll(function(element) { + return element.hasAttribute('tabIndex') && element.tabIndex >= 0; + }).sortBy(function(element) { return element.tabIndex }).first(); + + return firstByIndex ? firstByIndex : elements.find(function(element) { + return /^(?:input|select|textarea)$/i.test(element.tagName); + }); + }, + + focusFirstElement: function(form) { + form = DOKUid(form); + form.findFirstElement().activate(); + return form; + }, + + request: function(form, options) { + form = DOKUid(form), options = Object.clone(options || { }); + + var params = options.parameters, action = form.readAttribute('action') || ''; + if (action.blank()) action = window.location.href; + options.parameters = form.serialize(true); + + if (params) { + if (Object.isString(params)) params = params.toQueryParams(); + Object.extend(options.parameters, params); + } + + if (form.hasAttribute('method') && !options.method) + options.method = form.method; + + return new Ajax.Request(action, options); + } +}; + +/*--------------------------------------------------------------------------*/ + + +Form.Element = { + focus: function(element) { + DOKUid(element).focus(); + return element; + }, + + select: function(element) { + DOKUid(element).select(); + return element; + } +}; + +Form.Element.Methods = { + + serialize: function(element) { + element = DOKUid(element); + if (!element.disabled && element.name) { + var value = element.getValue(); + if (value != undefined) { + var pair = { }; + pair[element.name] = value; + return Object.toQueryString(pair); + } + } + return ''; + }, + + getValue: function(element) { + element = DOKUid(element); + var method = element.tagName.toLowerCase(); + return Form.Element.Serializers[method](element); + }, + + setValue: function(element, value) { + element = DOKUid(element); + var method = element.tagName.toLowerCase(); + Form.Element.Serializers[method](element, value); + return element; + }, + + clear: function(element) { + DOKUid(element).value = ''; + return element; + }, + + present: function(element) { + return DOKUid(element).value != ''; + }, + + activate: function(element) { + element = DOKUid(element); + try { + element.focus(); + if (element.select && (element.tagName.toLowerCase() != 'input' || + !(/^(?:button|reset|submit)$/i.test(element.type)))) + element.select(); + } catch (e) { } + return element; + }, + + disable: function(element) { + element = DOKUid(element); + element.disabled = true; + return element; + }, + + enable: function(element) { + element = DOKUid(element); + element.disabled = false; + return element; + } +}; + +/*--------------------------------------------------------------------------*/ + +var Field = Form.Element; + +var $F = Form.Element.Methods.getValue; + +/*--------------------------------------------------------------------------*/ + +Form.Element.Serializers = { + input: function(element, value) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + return Form.Element.Serializers.inputSelector(element, value); + default: + return Form.Element.Serializers.textarea(element, value); + } + }, + + inputSelector: function(element, value) { + if (Object.isUndefined(value)) return element.checked ? element.value : null; + else element.checked = !!value; + }, + + textarea: function(element, value) { + if (Object.isUndefined(value)) return element.value; + else element.value = value; + }, + + select: function(element, value) { + if (Object.isUndefined(value)) + return this[element.type == 'select-one' ? + 'selectOne' : 'selectMany'](element); + else { + var opt, currentValue, single = !Object.isArray(value); + for (var i = 0, length = element.length; i < length; i++) { + opt = element.options[i]; + currentValue = this.optionValue(opt); + if (single) { + if (currentValue == value) { + opt.selected = true; + return; + } + } + else opt.selected = value.include(currentValue); + } + } + }, + + selectOne: function(element) { + var index = element.selectedIndex; + return index >= 0 ? this.optionValue(element.options[index]) : null; + }, + + selectMany: function(element) { + var values, length = element.length; + if (!length) return null; + + for (var i = 0, values = []; i < length; i++) { + var opt = element.options[i]; + if (opt.selected) values.push(this.optionValue(opt)); + } + return values; + }, + + optionValue: function(opt) { + return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text; + } +}; + +/*--------------------------------------------------------------------------*/ + + +Abstract.TimedObserver = Class.create(PeriodicalExecuter, { + initialize: function($super, element, frequency, callback) { + $super(callback, frequency); + this.element = DOKUid(element); + this.lastValue = this.getValue(); + }, + + execute: function() { + var value = this.getValue(); + if (Object.isString(this.lastValue) && Object.isString(value) ? + this.lastValue != value : String(this.lastValue) != String(value)) { + this.callback(this.element, value); + this.lastValue = value; + } + } +}); + +Form.Element.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.Observer = Class.create(Abstract.TimedObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); + +/*--------------------------------------------------------------------------*/ + +Abstract.EventObserver = Class.create({ + initialize: function(element, callback) { + this.element = DOKUid(element); + this.callback = callback; + + this.lastValue = this.getValue(); + if (this.element.tagName.toLowerCase() == 'form') + this.registerFormCallbacks(); + else + this.registerCallback(this.element); + }, + + onElementEvent: function() { + var value = this.getValue(); + if (this.lastValue != value) { + this.callback(this.element, value); + this.lastValue = value; + } + }, + + registerFormCallbacks: function() { + Form.getElements(this.element).each(this.registerCallback, this); + }, + + registerCallback: function(element) { + if (element.type) { + switch (element.type.toLowerCase()) { + case 'checkbox': + case 'radio': + Event.observe(element, 'click', this.onElementEvent.bind(this)); + break; + default: + Event.observe(element, 'change', this.onElementEvent.bind(this)); + break; + } + } + } +}); + +Form.Element.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.Element.getValue(this.element); + } +}); + +Form.EventObserver = Class.create(Abstract.EventObserver, { + getValue: function() { + return Form.serialize(this.element); + } +}); +(function() { + + var Event = { + KEY_BACKSPACE: 8, + KEY_TAB: 9, + KEY_RETURN: 13, + KEY_ESC: 27, + KEY_LEFT: 37, + KEY_UP: 38, + KEY_RIGHT: 39, + KEY_DOWN: 40, + KEY_DELETE: 46, + KEY_HOME: 36, + KEY_END: 35, + KEY_PAGEUP: 33, + KEY_PAGEDOWN: 34, + KEY_INSERT: 45, + + cache: {} + }; + + var docEl = document.documentElement; + var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED = 'onmouseenter' in docEl + && 'onmouseleave' in docEl; + + var _isButton; + if (Prototype.Browser.IE) { + var buttonMap = { 0: 1, 1: 4, 2: 2 }; + _isButton = function(event, code) { + return event.button === buttonMap[code]; + }; + } else if (Prototype.Browser.WebKit) { + _isButton = function(event, code) { + switch (code) { + case 0: return event.which == 1 && !event.metaKey; + case 1: return event.which == 1 && event.metaKey; + default: return false; + } + }; + } else { + _isButton = function(event, code) { + return event.which ? (event.which === code + 1) : (event.button === code); + }; + } + + function isLeftClick(event) { return _isButton(event, 0) } + + function isMiddleClick(event) { return _isButton(event, 1) } + + function isRightClick(event) { return _isButton(event, 2) } + + function element(event) { + event = Event.extend(event); + + var node = event.target, type = event.type, + currentTarget = event.currentTarget; + + if (currentTarget && currentTarget.tagName) { + if (type === 'load' || type === 'error' || + (type === 'click' && currentTarget.tagName.toLowerCase() === 'input' + && currentTarget.type === 'radio')) + node = currentTarget; + } + + if (node.nodeType == Node.TEXT_NODE) + node = node.parentNode; + + return Element.extend(node); + } + + function findElement(event, expression) { + var element = Event.element(event); + if (!expression) return element; + var elements = [element].concat(element.ancestors()); + return Selector.findElement(elements, expression, 0); + } + + function pointer(event) { + return { x: pointerX(event), y: pointerY(event) }; + } + + function pointerX(event) { + var docElement = document.documentElement, + body = document.body || { scrollLeft: 0 }; + + return event.pageX || (event.clientX + + (docElement.scrollLeft || body.scrollLeft) - + (docElement.clientLeft || 0)); + } + + function pointerY(event) { + var docElement = document.documentElement, + body = document.body || { scrollTop: 0 }; + + return event.pageY || (event.clientY + + (docElement.scrollTop || body.scrollTop) - + (docElement.clientTop || 0)); + } + + + function stop(event) { + Event.extend(event); + event.preventDefault(); + event.stopPropagation(); + + event.stopped = true; + } + + Event.Methods = { + isLeftClick: isLeftClick, + isMiddleClick: isMiddleClick, + isRightClick: isRightClick, + + element: element, + findElement: findElement, + + pointer: pointer, + pointerX: pointerX, + pointerY: pointerY, + + stop: stop + }; + + + var methods = Object.keys(Event.Methods).inject({ }, function(m, name) { + m[name] = Event.Methods[name].methodize(); + return m; + }); + + if (Prototype.Browser.IE) { + function _relatedTarget(event) { + var element; + switch (event.type) { + case 'mouseover': element = event.fromElement; break; + case 'mouseout': element = event.toElement; break; + default: return null; + } + return Element.extend(element); + } + + Object.extend(methods, { + stopPropagation: function() { this.cancelBubble = true }, + preventDefault: function() { this.returnValue = false }, + inspect: function() { return '[object Event]' } + }); + + Event.extend = function(event, element) { + if (!event) return false; + if (event._extendedByPrototype) return event; + + event._extendedByPrototype = Prototype.emptyFunction; + var pointer = Event.pointer(event); + + Object.extend(event, { + target: event.srcElement || element, + relatedTarget: _relatedTarget(event), + pageX: pointer.x, + pageY: pointer.y + }); + + return Object.extend(event, methods); + }; + } else { + Event.prototype = window.Event.prototype || document.createEvent('HTMLEvents').__proto__; + Object.extend(Event.prototype, methods); + Event.extend = Prototype.K; + } + + function _createResponder(element, eventName, handler) { + var registry = Element.retrieve(element, 'prototype_event_registry'); + + if (Object.isUndefined(registry)) { + CACHE.push(element); + registry = Element.retrieve(element, 'prototype_event_registry', $H()); + } + + var respondersForEvent = registry.get(eventName); + if (Object.isUndefined(respondersForEvent)) { + respondersForEvent = []; + registry.set(eventName, respondersForEvent); + } + + if (respondersForEvent.pluck('handler').include(handler)) return false; + + var responder; + if (eventName.include(":")) { + responder = function(event) { + if (Object.isUndefined(event.eventName)) + return false; + + if (event.eventName !== eventName) + return false; + + Event.extend(event, element); + handler.call(element, event); + }; + } else { + if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED && + (eventName === "mouseenter" || eventName === "mouseleave")) { + if (eventName === "mouseenter" || eventName === "mouseleave") { + responder = function(event) { + Event.extend(event, element); + + var parent = event.relatedTarget; + while (parent && parent !== element) { + try { parent = parent.parentNode; } + catch(e) { parent = element; } + } + + if (parent === element) return; + + handler.call(element, event); + }; + } + } else { + responder = function(event) { + Event.extend(event, element); + handler.call(element, event); + }; + } + } + + responder.handler = handler; + respondersForEvent.push(responder); + return responder; + } + + function _destroyCache() { + for (var i = 0, length = CACHE.length; i < length; i++) { + Event.stopObserving(CACHE[i]); + CACHE[i] = null; + } + } + + var CACHE = []; + + if (Prototype.Browser.IE) + window.attachEvent('onunload', _destroyCache); + + if (Prototype.Browser.WebKit) + window.addEventListener('unload', Prototype.emptyFunction, false); + + + var _getDOMEventName = Prototype.K; + + if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) { + _getDOMEventName = function(eventName) { + var translations = { mouseenter: "mouseover", mouseleave: "mouseout" }; + return eventName in translations ? translations[eventName] : eventName; + }; + } + + function observe(element, eventName, handler) { + element = DOKUid(element); + + var responder = _createResponder(element, eventName, handler); + + if (!responder) return element; + + if (eventName.include(':')) { + if (element.addEventListener) + element.addEventListener("dataavailable", responder, false); + else { + element.attachEvent("ondataavailable", responder); + element.attachEvent("onfilterchange", responder); + } + } else { + var actualEventName = _getDOMEventName(eventName); + + if (element.addEventListener) + element.addEventListener(actualEventName, responder, false); + else + element.attachEvent("on" + actualEventName, responder); + } + + return element; + } + + function stopObserving(element, eventName, handler) { + element = DOKUid(element); + + var registry = Element.retrieve(element, 'prototype_event_registry'); + + if (Object.isUndefined(registry)) return element; + + if (eventName && !handler) { + var responders = registry.get(eventName); + + if (Object.isUndefined(responders)) return element; + + responders.each( function(r) { + Element.stopObserving(element, eventName, r.handler); + }); + return element; + } else if (!eventName) { + registry.each( function(pair) { + var eventName = pair.key, responders = pair.value; + + responders.each( function(r) { + Element.stopObserving(element, eventName, r.handler); + }); + }); + return element; + } + + var responders = registry.get(eventName); + + if (!responders) return; + + var responder = responders.find( function(r) { return r.handler === handler; }); + if (!responder) return element; + + var actualEventName = _getDOMEventName(eventName); + + if (eventName.include(':')) { + if (element.removeEventListener) + element.removeEventListener("dataavailable", responder, false); + else { + element.detachEvent("ondataavailable", responder); + element.detachEvent("onfilterchange", responder); + } + } else { + if (element.removeEventListener) + element.removeEventListener(actualEventName, responder, false); + else + element.detachEvent('on' + actualEventName, responder); + } + + registry.set(eventName, responders.without(responder)); + + return element; + } + + function fire(element, eventName, memo, bubble) { + element = DOKUid(element); + + if (Object.isUndefined(bubble)) + bubble = true; + + if (element == document && document.createEvent && !element.dispatchEvent) + element = document.documentElement; + + var event; + if (document.createEvent) { + event = document.createEvent('HTMLEvents'); + event.initEvent('dataavailable', true, true); + } else { + event = document.createEventObject(); + event.eventType = bubble ? 'ondataavailable' : 'onfilterchange'; + } + + event.eventName = eventName; + event.memo = memo || { }; + + if (document.createEvent) + element.dispatchEvent(event); + else + element.fireEvent(event.eventType, event); + + return Event.extend(event); + } + + + Object.extend(Event, Event.Methods); + + Object.extend(Event, { + fire: fire, + observe: observe, + stopObserving: stopObserving + }); + + Element.addMethods({ + fire: fire, + + observe: observe, + + stopObserving: stopObserving + }); + + Object.extend(document, { + fire: fire.methodize(), + + observe: observe.methodize(), + + stopObserving: stopObserving.methodize(), + + loaded: false + }); + + if (window.Event) Object.extend(window.Event, Event); + else window.Event = Event; +})(); + +(function() { + /* Support for the DOMContentLoaded event is based on work by Dan Webb, + Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */ + + var timer; + + function fireContentLoadedEvent() { + if (document.loaded) return; + if (timer) window.clearTimeout(timer); + document.loaded = true; + document.fire('dom:loaded'); + } + + function checkReadyState() { + if (document.readyState === 'complete') { + document.stopObserving('readystatechange', checkReadyState); + fireContentLoadedEvent(); + } + } + + function pollDoScroll() { + try { document.documentElement.doScroll('left'); } + catch(e) { + timer = pollDoScroll.defer(); + return; + } + fireContentLoadedEvent(); + } + + if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, false); + } else { + document.observe('readystatechange', checkReadyState); + if (window == top) + timer = pollDoScroll.defer(); + } + + Event.observe(window, 'load', fireContentLoadedEvent); +})(); + +Element.addMethods(); + +/*------------------------------- DEPRECATED -------------------------------*/ + +Hash.toQueryString = Object.toQueryString; + +var Toggle = { display: Element.toggle }; + +Element.Methods.childOf = Element.Methods.descendantOf; + +var Insertion = { + Before: function(element, content) { + return Element.insert(element, {before:content}); + }, + + Top: function(element, content) { + return Element.insert(element, {top:content}); + }, + + Bottom: function(element, content) { + return Element.insert(element, {bottom:content}); + }, + + After: function(element, content) { + return Element.insert(element, {after:content}); + } +}; + +var $continue = new Error('"throw $continue" is deprecated, use "return" instead'); + +var Position = { + includeScrollOffsets: false, + + prepare: function() { + this.deltaX = window.pageXOffset + || document.documentElement.scrollLeft + || document.body.scrollLeft + || 0; + this.deltaY = window.pageYOffset + || document.documentElement.scrollTop + || document.body.scrollTop + || 0; + }, + + within: function(element, x, y) { + if (this.includeScrollOffsets) + return this.withinIncludingScrolloffsets(element, x, y); + this.xcomp = x; + this.ycomp = y; + this.offset = Element.cumulativeOffset(element); + + return (y >= this.offset[1] && + y < this.offset[1] + element.offsetHeight && + x >= this.offset[0] && + x < this.offset[0] + element.offsetWidth); + }, + + withinIncludingScrolloffsets: function(element, x, y) { + var offsetcache = Element.cumulativeScrollOffset(element); + + this.xcomp = x + offsetcache[0] - this.deltaX; + this.ycomp = y + offsetcache[1] - this.deltaY; + this.offset = Element.cumulativeOffset(element); + + return (this.ycomp >= this.offset[1] && + this.ycomp < this.offset[1] + element.offsetHeight && + this.xcomp >= this.offset[0] && + this.xcomp < this.offset[0] + element.offsetWidth); + }, + + overlap: function(mode, element) { + if (!mode) return 0; + if (mode == 'vertical') + return ((this.offset[1] + element.offsetHeight) - this.ycomp) / + element.offsetHeight; + if (mode == 'horizontal') + return ((this.offset[0] + element.offsetWidth) - this.xcomp) / + element.offsetWidth; + }, + + + cumulativeOffset: Element.Methods.cumulativeOffset, + + positionedOffset: Element.Methods.positionedOffset, + + absolutize: function(element) { + Position.prepare(); + return Element.absolutize(element); + }, + + relativize: function(element) { + Position.prepare(); + return Element.relativize(element); + }, + + realOffset: Element.Methods.cumulativeScrollOffset, + + offsetParent: Element.Methods.getOffsetParent, + + page: Element.Methods.viewportOffset, + + clone: function(source, target, options) { + options = options || { }; + return Element.clonePosition(target, source, options); + } +}; + +/*--------------------------------------------------------------------------*/ + +if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){ + function iter(name) { + return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]"; + } + + instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ? + function(element, className) { + className = className.toString().strip(); + var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className); + return cond ? document._getElementsByXPath('.//*' + cond, element) : []; + } : function(element, className) { + className = className.toString().strip(); + var elements = [], classNames = (/\s/.test(className) ? $w(className) : null); + if (!classNames && !className) return elements; + + var nodes = DOKUid(element).getElementsByTagName('*'); + className = ' ' + className + ' '; + + for (var i = 0, child, cn; child = nodes[i]; i++) { + if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) || + (classNames && classNames.all(function(name) { + return !name.toString().blank() && cn.include(' ' + name + ' '); + })))) + elements.push(Element.extend(child)); + } + return elements; + }; + + return function(className, parentElement) { + return DOKUid(parentElement || document.body).getElementsByClassName(className); + }; +}(Element.Methods); + +/*--------------------------------------------------------------------------*/ + +Element.ClassNames = Class.create(); +Element.ClassNames.prototype = { + initialize: function(element) { + this.element = DOKUid(element); + }, + + _each: function(iterator) { + this.element.className.split(/\s+/).select(function(name) { + return name.length > 0; + })._each(iterator); + }, + + set: function(className) { + this.element.className = className; + }, + + add: function(classNameToAdd) { + if (this.include(classNameToAdd)) return; + this.set($A(this).concat(classNameToAdd).join(' ')); + }, + + remove: function(classNameToRemove) { + if (!this.include(classNameToRemove)) return; + this.set($A(this).without(classNameToRemove).join(' ')); + }, + + toString: function() { + return $A(this).join(' '); + } +}; + +Object.extend(Element.ClassNames.prototype, Enumerable); + +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/scriptaculous.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/scriptaculous.js new file mode 100644 index 000000000..37a0733a5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/scriptaculous.js @@ -0,0 +1,68 @@ +// script.aculo.us scriptaculous.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +var Scriptaculous = { + Version: '1.8.3', + require: function(libraryName) { + try{ + // inserting via DOM fails in Safari 2.0, so brute force approach + document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>'); + } catch(e) { + // for xhtml+xml served content, fall back to DOM methods + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = libraryName; + document.getElementsByTagName('head')[0].appendChild(script); + } + }, + REQUIRED_PROTOTYPE: '1.6.0.3', + load: function() { + function convertVersionString(versionString) { + var v = versionString.replace(/_.*|\./g, ''); + v = parseInt(v + '0'.times(4-v.length)); + return versionString.indexOf('_') > -1 ? v-1 : v; + } + + if((typeof Prototype=='undefined') || + (typeof Element == 'undefined') || + (typeof Element.Methods=='undefined') || + (convertVersionString(Prototype.Version) < + convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE))) + throw("script.aculo.us requires the Prototype JavaScript framework >= " + + Scriptaculous.REQUIRED_PROTOTYPE); + + var js = /scriptaculous\.js(\?.*)?$/; + $$('head script[src]').findAll(function(s) { + return s.src.match(js); + }).each(function(s) { + var path = s.src.replace(js, ''), + includes = s.src.match(/\?.*load=([a-z,]*)/); + (includes ? includes[1] : 'builder,effects,dragdrop,controls,slider').split(',').each( + function(include) { Scriptaculous.require(path+include+'.js') }); + }); + } +}; + +Scriptaculous.load();
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/slider.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/slider.js new file mode 100644 index 000000000..ac2fef2d5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/slider.js @@ -0,0 +1,275 @@ +// script.aculo.us slider.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Marty Haught, Thomas Fuchs +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +if (!Control) var Control = { }; + +// options: +// axis: 'vertical', or 'horizontal' (default) +// +// callbacks: +// onChange(value) +// onSlide(value) +Control.Slider = Class.create({ + initialize: function(handle, track, options) { + var slider = this; + + if (Object.isArray(handle)) { + this.handles = handle.collect( function(e) { return DOKUid(e) }); + } else { + this.handles = [DOKUid(handle)]; + } + + this.track = DOKUid(track); + this.options = options || { }; + + this.axis = this.options.axis || 'horizontal'; + this.increment = this.options.increment || 1; + this.step = parseInt(this.options.step || '1'); + this.range = this.options.range || $R(0,1); + + this.value = 0; // assure backwards compat + this.values = this.handles.map( function() { return 0 }); + this.spans = this.options.spans ? this.options.spans.map(function(s){ return DOKUid(s) }) : false; + this.options.startSpan = DOKUid(this.options.startSpan || null); + this.options.endSpan = DOKUid(this.options.endSpan || null); + + this.restricted = this.options.restricted || false; + + this.maximum = this.options.maximum || this.range.end; + this.minimum = this.options.minimum || this.range.start; + + // Will be used to align the handle onto the track, if necessary + this.alignX = parseInt(this.options.alignX || '0'); + this.alignY = parseInt(this.options.alignY || '0'); + + this.trackLength = this.maximumOffset() - this.minimumOffset(); + + this.handleLength = this.isVertical() ? + (this.handles[0].offsetHeight != 0 ? + this.handles[0].offsetHeight : this.handles[0].style.height.replace(/px$/,"")) : + (this.handles[0].offsetWidth != 0 ? this.handles[0].offsetWidth : + this.handles[0].style.width.replace(/px$/,"")); + + this.active = false; + this.dragging = false; + this.disabled = false; + + if (this.options.disabled) this.setDisabled(); + + // Allowed values array + this.allowedValues = this.options.values ? this.options.values.sortBy(Prototype.K) : false; + if (this.allowedValues) { + this.minimum = this.allowedValues.min(); + this.maximum = this.allowedValues.max(); + } + + this.eventMouseDown = this.startDrag.bindAsEventListener(this); + this.eventMouseUp = this.endDrag.bindAsEventListener(this); + this.eventMouseMove = this.update.bindAsEventListener(this); + + // Initialize handles in reverse (make sure first handle is active) + this.handles.each( function(h,i) { + i = slider.handles.length-1-i; + slider.setValue(parseFloat( + (Object.isArray(slider.options.sliderValue) ? + slider.options.sliderValue[i] : slider.options.sliderValue) || + slider.range.start), i); + h.makePositioned().observe("mousedown", slider.eventMouseDown); + }); + + this.track.observe("mousedown", this.eventMouseDown); + document.observe("mouseup", this.eventMouseUp); + document.observe("mousemove", this.eventMouseMove); + + this.initialized = true; + }, + dispose: function() { + var slider = this; + Event.stopObserving(this.track, "mousedown", this.eventMouseDown); + Event.stopObserving(document, "mouseup", this.eventMouseUp); + Event.stopObserving(document, "mousemove", this.eventMouseMove); + this.handles.each( function(h) { + Event.stopObserving(h, "mousedown", slider.eventMouseDown); + }); + }, + setDisabled: function(){ + this.disabled = true; + }, + setEnabled: function(){ + this.disabled = false; + }, + getNearestValue: function(value){ + if (this.allowedValues){ + if (value >= this.allowedValues.max()) return(this.allowedValues.max()); + if (value <= this.allowedValues.min()) return(this.allowedValues.min()); + + var offset = Math.abs(this.allowedValues[0] - value); + var newValue = this.allowedValues[0]; + this.allowedValues.each( function(v) { + var currentOffset = Math.abs(v - value); + if (currentOffset <= offset){ + newValue = v; + offset = currentOffset; + } + }); + return newValue; + } + if (value > this.range.end) return this.range.end; + if (value < this.range.start) return this.range.start; + return value; + }, + setValue: function(sliderValue, handleIdx){ + if (!this.active) { + this.activeHandleIdx = handleIdx || 0; + this.activeHandle = this.handles[this.activeHandleIdx]; + this.updateStyles(); + } + handleIdx = handleIdx || this.activeHandleIdx || 0; + if (this.initialized && this.restricted) { + if ((handleIdx>0) && (sliderValue<this.values[handleIdx-1])) + sliderValue = this.values[handleIdx-1]; + if ((handleIdx < (this.handles.length-1)) && (sliderValue>this.values[handleIdx+1])) + sliderValue = this.values[handleIdx+1]; + } + sliderValue = this.getNearestValue(sliderValue); + this.values[handleIdx] = sliderValue; + this.value = this.values[0]; // assure backwards compat + + this.handles[handleIdx].style[this.isVertical() ? 'top' : 'left'] = + this.translateToPx(sliderValue); + + this.drawSpans(); + if (!this.dragging || !this.event) this.updateFinished(); + }, + setValueBy: function(delta, handleIdx) { + this.setValue(this.values[handleIdx || this.activeHandleIdx || 0] + delta, + handleIdx || this.activeHandleIdx || 0); + }, + translateToPx: function(value) { + return Math.round( + ((this.trackLength-this.handleLength)/(this.range.end-this.range.start)) * + (value - this.range.start)) + "px"; + }, + translateToValue: function(offset) { + return ((offset/(this.trackLength-this.handleLength) * + (this.range.end-this.range.start)) + this.range.start); + }, + getRange: function(range) { + var v = this.values.sortBy(Prototype.K); + range = range || 0; + return $R(v[range],v[range+1]); + }, + minimumOffset: function(){ + return(this.isVertical() ? this.alignY : this.alignX); + }, + maximumOffset: function(){ + return(this.isVertical() ? + (this.track.offsetHeight != 0 ? this.track.offsetHeight : + this.track.style.height.replace(/px$/,"")) - this.alignY : + (this.track.offsetWidth != 0 ? this.track.offsetWidth : + this.track.style.width.replace(/px$/,"")) - this.alignX); + }, + isVertical: function(){ + return (this.axis == 'vertical'); + }, + drawSpans: function() { + var slider = this; + if (this.spans) + $R(0, this.spans.length-1).each(function(r) { slider.setSpan(slider.spans[r], slider.getRange(r)) }); + if (this.options.startSpan) + this.setSpan(this.options.startSpan, + $R(0, this.values.length>1 ? this.getRange(0).min() : this.value )); + if (this.options.endSpan) + this.setSpan(this.options.endSpan, + $R(this.values.length>1 ? this.getRange(this.spans.length-1).max() : this.value, this.maximum)); + }, + setSpan: function(span, range) { + if (this.isVertical()) { + span.style.top = this.translateToPx(range.start); + span.style.height = this.translateToPx(range.end - range.start + this.range.start); + } else { + span.style.left = this.translateToPx(range.start); + span.style.width = this.translateToPx(range.end - range.start + this.range.start); + } + }, + updateStyles: function() { + this.handles.each( function(h){ Element.removeClassName(h, 'selected') }); + Element.addClassName(this.activeHandle, 'selected'); + }, + startDrag: function(event) { + if (Event.isLeftClick(event)) { + if (!this.disabled){ + this.active = true; + + var handle = Event.element(event); + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + var track = handle; + if (track==this.track) { + var offsets = this.track.cumulativeOffset(); + this.event = event; + this.setValue(this.translateToValue( + (this.isVertical() ? pointer[1]-offsets[1] : pointer[0]-offsets[0])-(this.handleLength/2) + )); + var offsets = this.activeHandle.cumulativeOffset(); + this.offsetX = (pointer[0] - offsets[0]); + this.offsetY = (pointer[1] - offsets[1]); + } else { + // find the handle (prevents issues with Safari) + while((this.handles.indexOf(handle) == -1) && handle.parentNode) + handle = handle.parentNode; + + if (this.handles.indexOf(handle)!=-1) { + this.activeHandle = handle; + this.activeHandleIdx = this.handles.indexOf(this.activeHandle); + this.updateStyles(); + + var offsets = this.activeHandle.cumulativeOffset(); + this.offsetX = (pointer[0] - offsets[0]); + this.offsetY = (pointer[1] - offsets[1]); + } + } + } + Event.stop(event); + } + }, + update: function(event) { + if (this.active) { + if (!this.dragging) this.dragging = true; + this.draw(event); + if (Prototype.Browser.WebKit) window.scrollBy(0,0); + Event.stop(event); + } + }, + draw: function(event) { + var pointer = [Event.pointerX(event), Event.pointerY(event)]; + var offsets = this.track.cumulativeOffset(); + pointer[0] -= this.offsetX + offsets[0]; + pointer[1] -= this.offsetY + offsets[1]; + this.event = event; + this.setValue(this.translateToValue( this.isVertical() ? pointer[1] : pointer[0] )); + if (this.initialized && this.options.onSlide) + this.options.onSlide(this.values.length>1 ? this.values : this.value, this); + }, + endDrag: function(event) { + if (this.active && this.dragging) { + this.finishDrag(event, true); + Event.stop(event); + } + this.active = false; + this.dragging = false; + }, + finishDrag: function(event, success) { + this.active = false; + this.dragging = false; + this.updateFinished(); + }, + updateFinished: function() { + if (this.initialized && this.options.onChange) + this.options.onChange(this.values.length>1 ? this.values : this.value, this); + this.event = null; + } +});
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/sound.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/sound.js new file mode 100644 index 000000000..edacf4101 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/sound.js @@ -0,0 +1,59 @@ +// script.aculo.us sound.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// +// Based on code created by Jules Gravinese (http://www.webveteran.com/) +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +Sound = { + tracks: {}, + _enabled: true, + template: + new Template('<embed style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>'), + enable: function(){ + Sound._enabled = true; + }, + disable: function(){ + Sound._enabled = false; + }, + play: function(url){ + if(!Sound._enabled) return; + var options = Object.extend({ + track: 'global', url: url, replace: false + }, arguments[1] || {}); + + if(options.replace && this.tracks[options.track]) { + $R(0, this.tracks[options.track].id).each(function(id){ + var sound = DOKUid('sound_'+options.track+'_'+id); + sound.Stop && sound.Stop(); + sound.remove(); + }); + this.tracks[options.track] = null; + } + + if(!this.tracks[options.track]) + this.tracks[options.track] = { id: 0 }; + else + this.tracks[options.track].id++; + + options.id = this.tracks[options.track].id; + $$('body')[0].insert( + Prototype.Browser.IE ? new Element('bgsound',{ + id: 'sound_'+options.track+'_'+options.id, + src: options.url, loop: 1, autostart: true + }) : Sound.template.evaluate(options)); + } +}; + +if(Prototype.Browser.Gecko && navigator.userAgent.indexOf("Win") > 0){ + if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('QuickTime') != -1 })) + Sound.template = new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>'); + else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('Windows Media') != -1 })) + Sound.template = new Template('<object id="sound_#{track}_#{id}" type="application/x-mplayer2" data="#{url}"></object>'); + else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('RealPlayer') != -1 })) + Sound.template = new Template('<embed type="audio/x-pn-realaudio-plugin" style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>'); + else + Sound.play = function(){}; +}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/unittest.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/unittest.js new file mode 100644 index 000000000..90e97b8d6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/effects_support/unittest.js @@ -0,0 +1,568 @@ +// script.aculo.us unittest.js v1.8.3, Thu Oct 08 11:23:33 +0200 2009 + +// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us) +// (c) 2005-2009 Jon Tirsen (http://www.tirsen.com) +// (c) 2005-2009 Michael Schuerig (http://www.schuerig.de/michael/) +// +// script.aculo.us is freely distributable under the terms of an MIT-style license. +// For details, see the script.aculo.us web site: http://script.aculo.us/ + +// experimental, Firefox-only +Event.simulateMouse = function(element, eventName) { + var options = Object.extend({ + pointerX: 0, + pointerY: 0, + buttons: 0, + ctrlKey: false, + altKey: false, + shiftKey: false, + metaKey: false + }, arguments[2] || {}); + var oEvent = document.createEvent("MouseEvents"); + oEvent.initMouseEvent(eventName, true, true, document.defaultView, + options.buttons, options.pointerX, options.pointerY, options.pointerX, options.pointerY, + options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, 0, DOKUid(element)); + + if(this.mark) Element.remove(this.mark); + this.mark = document.createElement('div'); + this.mark.appendChild(document.createTextNode(" ")); + document.body.appendChild(this.mark); + this.mark.style.position = 'absolute'; + this.mark.style.top = options.pointerY + "px"; + this.mark.style.left = options.pointerX + "px"; + this.mark.style.width = "5px"; + this.mark.style.height = "5px;"; + this.mark.style.borderTop = "1px solid red;"; + this.mark.style.borderLeft = "1px solid red;"; + + if(this.step) + alert('['+new Date().getTime().toString()+'] '+eventName+'/'+Test.Unit.inspect(options)); + + DOKUid(element).dispatchEvent(oEvent); +}; + +// Note: Due to a fix in Firefox 1.0.5/6 that probably fixed "too much", this doesn't work in 1.0.6 or DP2. +// You need to downgrade to 1.0.4 for now to get this working +// See https://bugzilla.mozilla.org/show_bug.cgi?id=289940 for the fix that fixed too much +Event.simulateKey = function(element, eventName) { + var options = Object.extend({ + ctrlKey: false, + altKey: false, + shiftKey: false, + metaKey: false, + keyCode: 0, + charCode: 0 + }, arguments[2] || {}); + + var oEvent = document.createEvent("KeyEvents"); + oEvent.initKeyEvent(eventName, true, true, window, + options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, + options.keyCode, options.charCode ); + DOKUid(element).dispatchEvent(oEvent); +}; + +Event.simulateKeys = function(element, command) { + for(var i=0; i<command.length; i++) { + Event.simulateKey(element,'keypress',{charCode:command.charCodeAt(i)}); + } +}; + +var Test = {}; +Test.Unit = {}; + +// security exception workaround +Test.Unit.inspect = Object.inspect; + +Test.Unit.Logger = Class.create(); +Test.Unit.Logger.prototype = { + initialize: function(log) { + this.log = DOKUid(log); + if (this.log) { + this._createLogTable(); + } + }, + start: function(testName) { + if (!this.log) return; + this.testName = testName; + this.lastLogLine = document.createElement('tr'); + this.statusCell = document.createElement('td'); + this.nameCell = document.createElement('td'); + this.nameCell.className = "nameCell"; + this.nameCell.appendChild(document.createTextNode(testName)); + this.messageCell = document.createElement('td'); + this.lastLogLine.appendChild(this.statusCell); + this.lastLogLine.appendChild(this.nameCell); + this.lastLogLine.appendChild(this.messageCell); + this.loglines.appendChild(this.lastLogLine); + }, + finish: function(status, summary) { + if (!this.log) return; + this.lastLogLine.className = status; + this.statusCell.innerHTML = status; + this.messageCell.innerHTML = this._toHTML(summary); + this.addLinksToResults(); + }, + message: function(message) { + if (!this.log) return; + this.messageCell.innerHTML = this._toHTML(message); + }, + summary: function(summary) { + if (!this.log) return; + this.logsummary.innerHTML = this._toHTML(summary); + }, + _createLogTable: function() { + this.log.innerHTML = + '<div id="logsummary"></div>' + + '<table id="logtable">' + + '<thead><tr><th>Status</th><th>Test</th><th>Message</th></tr></thead>' + + '<tbody id="loglines"></tbody>' + + '</table>'; + this.logsummary = DOKUid('logsummary'); + this.loglines = DOKUid('loglines'); + }, + _toHTML: function(txt) { + return txt.escapeHTML().replace(/\n/g,"<br/>"); + }, + addLinksToResults: function(){ + $$("tr.failed .nameCell").each( function(td){ // todo: limit to children of this.log + td.title = "Run only this test"; + Event.observe(td, 'click', function(){ window.location.search = "?tests=" + td.innerHTML;}); + }); + $$("tr.passed .nameCell").each( function(td){ // todo: limit to children of this.log + td.title = "Run all tests"; + Event.observe(td, 'click', function(){ window.location.search = "";}); + }); + } +}; + +Test.Unit.Runner = Class.create(); +Test.Unit.Runner.prototype = { + initialize: function(testcases) { + this.options = Object.extend({ + testLog: 'testlog' + }, arguments[1] || {}); + this.options.resultsURL = this.parseResultsURLQueryParameter(); + this.options.tests = this.parseTestsQueryParameter(); + if (this.options.testLog) { + this.options.testLog = DOKUid(this.options.testLog) || null; + } + if(this.options.tests) { + this.tests = []; + for(var i = 0; i < this.options.tests.length; i++) { + if(/^test/.test(this.options.tests[i])) { + this.tests.push(new Test.Unit.Testcase(this.options.tests[i], testcases[this.options.tests[i]], testcases["setup"], testcases["teardown"])); + } + } + } else { + if (this.options.test) { + this.tests = [new Test.Unit.Testcase(this.options.test, testcases[this.options.test], testcases["setup"], testcases["teardown"])]; + } else { + this.tests = []; + for(var testcase in testcases) { + if(/^test/.test(testcase)) { + this.tests.push( + new Test.Unit.Testcase( + this.options.context ? ' -> ' + this.options.titles[testcase] : testcase, + testcases[testcase], testcases["setup"], testcases["teardown"] + )); + } + } + } + } + this.currentTest = 0; + this.logger = new Test.Unit.Logger(this.options.testLog); + setTimeout(this.runTests.bind(this), 1000); + }, + parseResultsURLQueryParameter: function() { + return window.location.search.parseQuery()["resultsURL"]; + }, + parseTestsQueryParameter: function(){ + if (window.location.search.parseQuery()["tests"]){ + return window.location.search.parseQuery()["tests"].split(','); + }; + }, + // Returns: + // "ERROR" if there was an error, + // "FAILURE" if there was a failure, or + // "SUCCESS" if there was neither + getResult: function() { + var hasFailure = false; + for(var i=0;i<this.tests.length;i++) { + if (this.tests[i].errors > 0) { + return "ERROR"; + } + if (this.tests[i].failures > 0) { + hasFailure = true; + } + } + if (hasFailure) { + return "FAILURE"; + } else { + return "SUCCESS"; + } + }, + postResults: function() { + if (this.options.resultsURL) { + new Ajax.Request(this.options.resultsURL, + { method: 'get', parameters: 'result=' + this.getResult(), asynchronous: false }); + } + }, + runTests: function() { + var test = this.tests[this.currentTest]; + if (!test) { + // finished! + this.postResults(); + this.logger.summary(this.summary()); + return; + } + if(!test.isWaiting) { + this.logger.start(test.name); + } + test.run(); + if(test.isWaiting) { + this.logger.message("Waiting for " + test.timeToWait + "ms"); + setTimeout(this.runTests.bind(this), test.timeToWait || 1000); + } else { + this.logger.finish(test.status(), test.summary()); + this.currentTest++; + // tail recursive, hopefully the browser will skip the stackframe + this.runTests(); + } + }, + summary: function() { + var assertions = 0; + var failures = 0; + var errors = 0; + var messages = []; + for(var i=0;i<this.tests.length;i++) { + assertions += this.tests[i].assertions; + failures += this.tests[i].failures; + errors += this.tests[i].errors; + } + return ( + (this.options.context ? this.options.context + ': ': '') + + this.tests.length + " tests, " + + assertions + " assertions, " + + failures + " failures, " + + errors + " errors"); + } +}; + +Test.Unit.Assertions = Class.create(); +Test.Unit.Assertions.prototype = { + initialize: function() { + this.assertions = 0; + this.failures = 0; + this.errors = 0; + this.messages = []; + }, + summary: function() { + return ( + this.assertions + " assertions, " + + this.failures + " failures, " + + this.errors + " errors" + "\n" + + this.messages.join("\n")); + }, + pass: function() { + this.assertions++; + }, + fail: function(message) { + this.failures++; + this.messages.push("Failure: " + message); + }, + info: function(message) { + this.messages.push("Info: " + message); + }, + error: function(error) { + this.errors++; + this.messages.push(error.name + ": "+ error.message + "(" + Test.Unit.inspect(error) +")"); + }, + status: function() { + if (this.failures > 0) return 'failed'; + if (this.errors > 0) return 'error'; + return 'passed'; + }, + assert: function(expression) { + var message = arguments[1] || 'assert: got "' + Test.Unit.inspect(expression) + '"'; + try { expression ? this.pass() : + this.fail(message); } + catch(e) { this.error(e); } + }, + assertEqual: function(expected, actual) { + var message = arguments[2] || "assertEqual"; + try { (expected == actual) ? this.pass() : + this.fail(message + ': expected "' + Test.Unit.inspect(expected) + + '", actual "' + Test.Unit.inspect(actual) + '"'); } + catch(e) { this.error(e); } + }, + assertInspect: function(expected, actual) { + var message = arguments[2] || "assertInspect"; + try { (expected == actual.inspect()) ? this.pass() : + this.fail(message + ': expected "' + Test.Unit.inspect(expected) + + '", actual "' + Test.Unit.inspect(actual) + '"'); } + catch(e) { this.error(e); } + }, + assertEnumEqual: function(expected, actual) { + var message = arguments[2] || "assertEnumEqual"; + try { $A(expected).length == $A(actual).length && + expected.zip(actual).all(function(pair) { return pair[0] == pair[1] }) ? + this.pass() : this.fail(message + ': expected ' + Test.Unit.inspect(expected) + + ', actual ' + Test.Unit.inspect(actual)); } + catch(e) { this.error(e); } + }, + assertNotEqual: function(expected, actual) { + var message = arguments[2] || "assertNotEqual"; + try { (expected != actual) ? this.pass() : + this.fail(message + ': got "' + Test.Unit.inspect(actual) + '"'); } + catch(e) { this.error(e); } + }, + assertIdentical: function(expected, actual) { + var message = arguments[2] || "assertIdentical"; + try { (expected === actual) ? this.pass() : + this.fail(message + ': expected "' + Test.Unit.inspect(expected) + + '", actual "' + Test.Unit.inspect(actual) + '"'); } + catch(e) { this.error(e); } + }, + assertNotIdentical: function(expected, actual) { + var message = arguments[2] || "assertNotIdentical"; + try { !(expected === actual) ? this.pass() : + this.fail(message + ': expected "' + Test.Unit.inspect(expected) + + '", actual "' + Test.Unit.inspect(actual) + '"'); } + catch(e) { this.error(e); } + }, + assertNull: function(obj) { + var message = arguments[1] || 'assertNull'; + try { (obj==null) ? this.pass() : + this.fail(message + ': got "' + Test.Unit.inspect(obj) + '"'); } + catch(e) { this.error(e); } + }, + assertMatch: function(expected, actual) { + var message = arguments[2] || 'assertMatch'; + var regex = new RegExp(expected); + try { (regex.exec(actual)) ? this.pass() : + this.fail(message + ' : regex: "' + Test.Unit.inspect(expected) + ' did not match: ' + Test.Unit.inspect(actual) + '"'); } + catch(e) { this.error(e); } + }, + assertHidden: function(element) { + var message = arguments[1] || 'assertHidden'; + this.assertEqual("none", element.style.display, message); + }, + assertNotNull: function(object) { + var message = arguments[1] || 'assertNotNull'; + this.assert(object != null, message); + }, + assertType: function(expected, actual) { + var message = arguments[2] || 'assertType'; + try { + (actual.constructor == expected) ? this.pass() : + this.fail(message + ': expected "' + Test.Unit.inspect(expected) + + '", actual "' + (actual.constructor) + '"'); } + catch(e) { this.error(e); } + }, + assertNotOfType: function(expected, actual) { + var message = arguments[2] || 'assertNotOfType'; + try { + (actual.constructor != expected) ? this.pass() : + this.fail(message + ': expected "' + Test.Unit.inspect(expected) + + '", actual "' + (actual.constructor) + '"'); } + catch(e) { this.error(e); } + }, + assertInstanceOf: function(expected, actual) { + var message = arguments[2] || 'assertInstanceOf'; + try { + (actual instanceof expected) ? this.pass() : + this.fail(message + ": object was not an instance of the expected type"); } + catch(e) { this.error(e); } + }, + assertNotInstanceOf: function(expected, actual) { + var message = arguments[2] || 'assertNotInstanceOf'; + try { + !(actual instanceof expected) ? this.pass() : + this.fail(message + ": object was an instance of the not expected type"); } + catch(e) { this.error(e); } + }, + assertRespondsTo: function(method, obj) { + var message = arguments[2] || 'assertRespondsTo'; + try { + (obj[method] && typeof obj[method] == 'function') ? this.pass() : + this.fail(message + ": object doesn't respond to [" + method + "]"); } + catch(e) { this.error(e); } + }, + assertReturnsTrue: function(method, obj) { + var message = arguments[2] || 'assertReturnsTrue'; + try { + var m = obj[method]; + if(!m) m = obj['is'+method.charAt(0).toUpperCase()+method.slice(1)]; + m() ? this.pass() : + this.fail(message + ": method returned false"); } + catch(e) { this.error(e); } + }, + assertReturnsFalse: function(method, obj) { + var message = arguments[2] || 'assertReturnsFalse'; + try { + var m = obj[method]; + if(!m) m = obj['is'+method.charAt(0).toUpperCase()+method.slice(1)]; + !m() ? this.pass() : + this.fail(message + ": method returned true"); } + catch(e) { this.error(e); } + }, + assertRaise: function(exceptionName, method) { + var message = arguments[2] || 'assertRaise'; + try { + method(); + this.fail(message + ": exception expected but none was raised"); } + catch(e) { + ((exceptionName == null) || (e.name==exceptionName)) ? this.pass() : this.error(e); + } + }, + assertElementsMatch: function() { + var expressions = $A(arguments), elements = $A(expressions.shift()); + if (elements.length != expressions.length) { + this.fail('assertElementsMatch: size mismatch: ' + elements.length + ' elements, ' + expressions.length + ' expressions'); + return false; + } + elements.zip(expressions).all(function(pair, index) { + var element = DOKUid(pair.first()), expression = pair.last(); + if (element.match(expression)) return true; + this.fail('assertElementsMatch: (in index ' + index + ') expected ' + expression.inspect() + ' but got ' + element.inspect()); + }.bind(this)) && this.pass(); + }, + assertElementMatches: function(element, expression) { + this.assertElementsMatch([element], expression); + }, + benchmark: function(operation, iterations) { + var startAt = new Date(); + (iterations || 1).times(operation); + var timeTaken = ((new Date())-startAt); + this.info((arguments[2] || 'Operation') + ' finished ' + + iterations + ' iterations in ' + (timeTaken/1000)+'s' ); + return timeTaken; + }, + _isVisible: function(element) { + element = DOKUid(element); + if(!element.parentNode) return true; + this.assertNotNull(element); + if(element.style && Element.getStyle(element, 'display') == 'none') + return false; + + return this._isVisible(element.parentNode); + }, + assertNotVisible: function(element) { + this.assert(!this._isVisible(element), Test.Unit.inspect(element) + " was not hidden and didn't have a hidden parent either. " + ("" || arguments[1])); + }, + assertVisible: function(element) { + this.assert(this._isVisible(element), Test.Unit.inspect(element) + " was not visible. " + ("" || arguments[1])); + }, + benchmark: function(operation, iterations) { + var startAt = new Date(); + (iterations || 1).times(operation); + var timeTaken = ((new Date())-startAt); + this.info((arguments[2] || 'Operation') + ' finished ' + + iterations + ' iterations in ' + (timeTaken/1000)+'s' ); + return timeTaken; + } +}; + +Test.Unit.Testcase = Class.create(); +Object.extend(Object.extend(Test.Unit.Testcase.prototype, Test.Unit.Assertions.prototype), { + initialize: function(name, test, setup, teardown) { + Test.Unit.Assertions.prototype.initialize.bind(this)(); + this.name = name; + + if(typeof test == 'string') { + test = test.gsub(/(\.should[^\(]+\()/,'#{0}this,'); + test = test.gsub(/(\.should[^\(]+)\(this,\)/,'#{1}(this)'); + this.test = function() { + eval('with(this){'+test+'}'); + } + } else { + this.test = test || function() {}; + } + + this.setup = setup || function() {}; + this.teardown = teardown || function() {}; + this.isWaiting = false; + this.timeToWait = 1000; + }, + wait: function(time, nextPart) { + this.isWaiting = true; + this.test = nextPart; + this.timeToWait = time; + }, + run: function() { + try { + try { + if (!this.isWaiting) this.setup.bind(this)(); + this.isWaiting = false; + this.test.bind(this)(); + } finally { + if(!this.isWaiting) { + this.teardown.bind(this)(); + } + } + } + catch(e) { this.error(e); } + } +}); + +// *EXPERIMENTAL* BDD-style testing to please non-technical folk +// This draws many ideas from RSpec http://rspec.rubyforge.org/ + +Test.setupBDDExtensionMethods = function(){ + var METHODMAP = { + shouldEqual: 'assertEqual', + shouldNotEqual: 'assertNotEqual', + shouldEqualEnum: 'assertEnumEqual', + shouldBeA: 'assertType', + shouldNotBeA: 'assertNotOfType', + shouldBeAn: 'assertType', + shouldNotBeAn: 'assertNotOfType', + shouldBeNull: 'assertNull', + shouldNotBeNull: 'assertNotNull', + + shouldBe: 'assertReturnsTrue', + shouldNotBe: 'assertReturnsFalse', + shouldRespondTo: 'assertRespondsTo' + }; + var makeAssertion = function(assertion, args, object) { + this[assertion].apply(this,(args || []).concat([object])); + }; + + Test.BDDMethods = {}; + $H(METHODMAP).each(function(pair) { + Test.BDDMethods[pair.key] = function() { + var args = $A(arguments); + var scope = args.shift(); + makeAssertion.apply(scope, [pair.value, args, this]); }; + }); + + [Array.prototype, String.prototype, Number.prototype, Boolean.prototype].each( + function(p){ Object.extend(p, Test.BDDMethods) } + ); +}; + +Test.context = function(name, spec, log){ + Test.setupBDDExtensionMethods(); + + var compiledSpec = {}; + var titles = {}; + for(specName in spec) { + switch(specName){ + case "setup": + case "teardown": + compiledSpec[specName] = spec[specName]; + break; + default: + var testName = 'test'+specName.gsub(/\s+/,'-').camelize(); + var body = spec[specName].toString().split('\n').slice(1); + if(/^\{/.test(body[0])) body = body.slice(1); + body.pop(); + body = body.map(function(statement){ + return statement.strip() + }); + compiledSpec[testName] = body.join('\n'); + titles[testName] = specName; + } + } + new Test.Unit.Runner(compiledSpec, { titles: titles, testLog: log || 'testlog', context: name }); +};
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/LEEME.txt new file mode 100755 index 000000000..5c00e8abd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/LEEME.txt @@ -0,0 +1,31 @@ +EXECUTIVE + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back-handout-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back-handout-print.png Binary files differnew file mode 100755 index 000000000..9e49dd625 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back-handout-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back-slide-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back-slide-print.png Binary files differnew file mode 100755 index 000000000..e8b5f9d82 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back-slide-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back_console.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back_console.png Binary files differnew file mode 100755 index 000000000..ac1708379 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/back_console.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..811b676bf --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-head.png Binary files differnew file mode 100755 index 000000000..c1df59a15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-head.xcf b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-head.xcf Binary files differnew file mode 100755 index 000000000..ff6497417 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-head.xcf diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-main.png Binary files differnew file mode 100755 index 000000000..9ed390d97 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..10ee10936 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/logo.png Binary files differnew file mode 100755 index 000000000..119fe742e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/table-header.png Binary files differnew file mode 100755 index 000000000..1001624dd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pretty.css new file mode 100755 index 000000000..e34ead879 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/pretty.css @@ -0,0 +1,545 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left repeat; + color: #000; font-size: 2em; +/* font-family: Trebuchet MS, Arial, Helvetica, sans-serif; */ + font-family: Arial, Helvetica, sans-serif; + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #ffca00; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:5px solid #ccc; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:200%; + width:150px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#000 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; +} + +div#footer +{ + background:#000 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 1em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#controls :active +{ + color: #fff !important; +} + +#controls :focus +{ + outline: 1px dotted #227; +} + + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) bottom left repeat-x #000; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/executive/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/across.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/across.png Binary files differnew file mode 100755 index 000000000..66cb21ce9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/across.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/bottom.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/bottom.png Binary files differnew file mode 100755 index 000000000..79ed780d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/bottom.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/druplicon.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/druplicon.png Binary files differnew file mode 100755 index 000000000..340b839bb --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/druplicon.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/framing.css new file mode 100755 index 000000000..c44e23877 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/framing.css @@ -0,0 +1,65 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide { + width: 100%; + top: 0; + left: 0; +} + +div#header { + top: 0; + height: 3em; + z-index: 1; +} + +div#footer { + top: auto; + bottom: 0; + height: 2.5em; + z-index: 5; +} + +.slide { + top: 0; + width: 92%; + padding: 3.5em 4% 4%; + z-index: 2; + list-style: none; +} + +div#controls { + left: 50%; + bottom: 0; + width: 50%; + z-index: 100; +} + +div#controls form { + text-align: right; + width: 100%; + margin: 0; +} + +#currentSlide { + position: absolute; + width: 10%; + left: 45%; + bottom: 1em; + z-index: 10; +} + +html>body #currentSlide { + position: fixed; +} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/iepngfix.htc new file mode 100755 index 000000000..9ec89fbeb --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/drupal/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes.css new file mode 100755 index 000000000..5858cf2bc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes.css @@ -0,0 +1,122 @@ +/* Following are the note styles -- edit away! */ + +body { + margin: 0; + padding: 1.0em; + background: #333; + color: #FFF; + font: 2em/1.4em 'Lucida Grande', Verdana, sans-serif; +} + +div.timers { + background: #FFF; + color: #333; + border: 0.08em solid #222; + border-top-width: 1px; + border-left-width: 1px; + float: left; + padding: 0.2em; + margin: 0 0 0.5em; + position: relative; +} + +div.timers h1 { + text-align: left; + font-size: 0.6em; + line-height: 1.4em; + background-color: #FF9; + padding: 0 0.75em; + margin: 0.25em 0 0; + border: 1px solid #EE8; +} + +div.timers div.controls { + position: absolute; + right: 0.25em; + top: 0.1em; + line-height: 1em; +} + +div.timers h1 a { + text-decoration: none; + color: #000; +} + +div.timers div.controls a { + font-size: 0.5em; + padding: 0; + color: #330; +} + +div.timers a.control { + position: absolute; + text-decoration: none; + padding: 0 0.25em; + color: #AAA; + outline: 0; +} + +#minus { + left: 0.25em; +} + +#plus { + right: 0.25em; +} + +.overtime { + background: yellow; + color: red; + border: 3px solid; + padding: 0.1em 0.25em; + font-weight: bold; +} + +div.timers h2 { + font-size: 0.6em; + line-height: 1.0em; + font-weight: normal; + margin: 0 0 -0.25em; + padding-top: 0.5em; + color: #666; +} + +div.timers p {margin: 0; padding: 0 0.5em;} +div.timers form {margin: 0;} + +div.timers span.clock { + font-family: monospace; +} + +div.timers ul {margin: 0; padding: 0; list-style: none;} +div.timers li {float: left; width: 5em; margin: 0; padding: 0 0.5em; + text-align: center;} + +div#elapsed {width: 12.1em;} +div#remaining {clear: left; width: 12.1em;} +div#remaining p {text-align: center;} + +#slide, +#next, +#notes, +#nextnotes { + font-size: 0.75em; + line-height: 1.4em; + clear: left; +/* max-width: 30.0em; */ + text-shadow: 0.1em 0.1em 0.1em #111; +} + +#next {margin-top: 2.5em;} +#next, #nextnotes { + color: #999; + font-size: 0.66em; +} + +em.disclaimer { + color: #666; +} + +div.collapsed h1 {display: block; font-size: 0.33em;} +div.collapsed h1 a {display: inline;} +div.collapsed * {display: none;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pretty.css new file mode 100644 index 000000000..abe2c2659 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/pretty.css @@ -0,0 +1,354 @@ +/* Following are the presentation styles -- edit away! */ + +body { + background: #1077BE url(top.png) no-repeat right top; + color: #FFF; + font-family: "Gill Sans", Optima, "Lucida Grande", Lucida, Verdana, sans-serif; + font-size: 2.25em; +} + +:link, :visited { + text-decoration: none; + color: #62ccff; +} + +#controls :active { + color: #88A !important; +} + +#controls :focus { + outline: 1px dotted #227; +} + +h1, h2, h3, h4 { + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +ul, pre { + margin: 0; + line-height: 1em; +} + +html, body { + margin: 0; + padding: 0; +} + +blockquote, q { + font-style: italic; +} + +blockquote { + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p { + margin: 0; +} + +blockquote i { + font-style: normal; +} + +blockquote b { + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i { + font-style: italic; +} + +kbd { + font-weight: bold; + font-size: 1em; +} + +sup { + font-size: smaller; + line-height: 1px; +} + +.slide { + background: transparent url(druplicon.png) no-repeat 16px 16px; +} + +.slide code { + padding: 2px 0.25em; + font-weight: bold; + color: white; + font-family: "Bitstream Vera Sans Mono", Monaco, "Lucida Console", monospace; + background-color: black; +} + +.slide code.bad, code del { + color: red; +} + +.slide code.old { + color: silver; +} + +.slide pre { + font-family: "Bitstream Vera Sans Mono", Monaco, "Lucida Console", monospace; + padding: 0; + margin: 0.25em 0 0.5em 0.5em; + color: #533; + font-size: 90%; +} + +.slide pre code { + display: block; +} + +.slide ul { + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li { + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul { + line-height: 1; +} + +.slide ul ul li { + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader { + display: block; + margin: 0 auto; +} + +div#header, div#footer { + color: #fff; + font-family: "Lucida Grande", Lucida, Verdana, sans-serif; +} + +div#header { + line-height: 1px; +} + +div#footer { + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; + background: transparent url(bottom.png) repeat-x -546px top; +} + +#footer h1, #footer h2 { + display: block; + padding: 0 1em; +} + +#footer h2 { + font-style: italic; +} + +div.long { + font-size: 0.75em; +} + +.slide h1 { + position: absolute; + top: 0.7em; + width: 100%; + left: 0; + text-align: center; + z-index: 1; + margin: 0; + white-space: nowrap; + font: bold 150%/1em "Gill Sans", Optima, "Lucida Grande", Lucida, Verdana, sans-serif; + text-transform: capitalize; + color: #FFF; +} + +.slide h3 { + font-size: 130%; +} + +h1 abbr { + font-variant: small-caps; +} + +#plink { + color: #FFF; +} + + +#currentSlide { + text-align: center; + font-size: 0.5em; + color: #449; +} + +#slide0 { + background: transparent url(across.png) no-repeat; + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 { + position: static; + margin: 1em 0 0; + padding: 0; + font: bold 3em "Gill Sans", Optima, "Lucida Grande", Lucida, Verdana, sans-serif; + white-space: normal; + color: #FFF; + background-color: transparent; +} + +#slide0 h2 { + font: bold italic 1em Helvetica, sans-serif; + margin: 0.25em; +} + +#slide0 h3 { + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 { + margin-top: 0; + font-size: 1em; +} + +ul.urls { + list-style: none; + display: inline; + margin: 0; +} + +.urls li { + display: inline; + margin: 0; +} + +.note { + display: none; +} + +.external { + border-bottom: 1px dotted gray; +} + +html>body .external { + border-bottom: none; +} + +.external:after { + content: " \274F"; + font-size: smaller; + color: #62ccff; +} + +.incremental, .incremental *, .incremental *:after { + color: #DDE; + visibility: visible; +} + +img.incremental { + visibility: hidden; +} + +.slide .current { + color: #FB5; +} + + + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/print.css new file mode 100755 index 000000000..e7a71d145 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;}
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/s5-core.css new file mode 100755 index 000000000..ad1530b9c --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout, .notes {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/top.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/top.png Binary files differnew file mode 100755 index 000000000..9251f8935 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/top.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/faucet/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/blume.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/blume.jpg Binary files differnew file mode 100644 index 000000000..248743c94 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/blume.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/blumerechts.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/blumerechts.jpg Binary files differnew file mode 100644 index 000000000..430d21174 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/blumerechts.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pretty.css new file mode 100644 index 000000000..0da0ff300 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/pretty.css @@ -0,0 +1,168 @@ +/* Flower Theme 2004 by Martin Hense ::: www.lounge7.de */ + +/* Following are the presentation styles -- edit away! + Note that the 'body' font size may have to be changed if the resolution is + different than expected. */ + +body {background: #fff url(blume.jpg) no-repeat; color: #222; font-size: 2em;} +:link, :visited {text-decoration: none;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +code {padding: 2px 0.25em; font-weight: bold; color: #533;} +code.bad, code del {color: red;} +code.old {color: silver;} +pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +pre code {display: block;} +ul {margin-right: 7%; margin-left: 50px; padding: 0; list-style: circle;} +li {margin-top: 0.75em; margin-right: 0;} +ul ul {line-height: 1;} +ul ul li {margin: .2em; font-size: 85%; list-style: disc;} +img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: transparent; color: #BA9384; + font-family: Verdana, Helvetica, sans-serif;} +div#header {line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0; +border-top: 1px solid #999999; background: #FFF0CF;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide { +font-family: georgia, times, 'Times New Roman', serif; background: transparent url(blumerechts.jpg) right top no-repeat; +} +.slide h1 {position: absolute; z-index: 1; + margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap; + text-transform: capitalize; + top: 35px; left: 60px; color: #4A040A; + font: 150%/1em georgia, times, 'Times New Roman', serif; + background: transparent;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + + +#currentSlide {text-align: center; font-size: 0.5em; +color: #646587; font-family: Verdana, Helvetica, sans-serif; font-weight: bold;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 1.33em; padding: 0; + white-space: normal; + color: #000; background: transparent; + font: 2em georgia, times, 'Times New Roman', serif;} +#slide0 h3 {margin-top: 0.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.notes {display: none;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/flower/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/bg-slide.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/bg-slide.jpg Binary files differnew file mode 100755 index 000000000..6da2a0090 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/bg-slide.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/framing.css new file mode 100644 index 000000000..24b5fb0e4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/framing.css @@ -0,0 +1,23 @@ +/* The following styles size and place the slide components. + Edit them if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; left: 0; z-index: 1;} +div#footer {top: auto; bottom: 0; width: 100%; z-index: 5;} +.slide {top: 0; width: 80%; padding: 1em 9% 2em 9%; z-index: 2; height: 100%;} + +div#controls {bottom: 1.5em; left: 0; width: 100%; text-align: center; z-index: 1000;} +div#controls form {margin: 0; padding: 0;} + +#currentSlide {position: absolute; left: 0; bottom: 0.5em; z-index: 10; + width: 100%; text-align: center;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pretty.css new file mode 100644 index 000000000..80fad55d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/pretty.css @@ -0,0 +1,130 @@ +/* + Theme: Drupal S5 +*/ + +html { + height: 99%; +} + +body {background: #E5F3FC url('bg-slide.jpg'); + background-position: bottom left; + height: 100%; + color: #012C46; font: 32px Arial, sans-serif;} +a {text-decoration: none; color: #336; border-bottom: 1px dotted;} +h1, h2, h3, h4, h5, h6 {font-size: 1em; margin: 0;} +sup {font-size: 0.75em; font-weight: normal; + vertical-align: 0.5em; line-height: 1px;} +ul {margin-left: 1em; padding-left: 0;} +li {margin-bottom: 0.66em;} +li li {margin: 0.33em 0; font-size: smaller;} + +#header {background: transparent; + padding-bottom: 2em;} +#footer {color: #BBB; border-top: 0px solid #333;} +#header, #footer {font-size: 0.5em;} +#footer h1, #footer h2 { padding: 0.5em 0.75em; + font-weight: normal;} +#footer h1 {left: 0; font-size: 1em; letter-spacing: 10px;} +#footer h2 {position: absolute; bottom: 10; right: 10;} + +#navList {margin-top: 3px;} + +.slide h1 {font-size: 1.3em; line-height: 1; letter-spacing: -1px; + margin: 0 -15% 2em 0; padding: 0.25em 15% 0.06125em 0;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/s5-core.css new file mode 100644 index 000000000..3b0428edb --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, div.slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body div.slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +div.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/slides.css new file mode 100644 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/garlandica/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/LEEME.txt new file mode 100755 index 000000000..f656fa7de --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/LEEME.txt @@ -0,0 +1,32 @@ +GORILLA +(Based on the gorilla icon from the gorilla icon theme by Jakub Steiner) + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back-handout-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back-handout-print.png Binary files differnew file mode 100755 index 000000000..9e49dd625 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back-handout-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back-slide-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back-slide-print.png Binary files differnew file mode 100755 index 000000000..e8b5f9d82 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back-slide-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back_console.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back_console.png Binary files differnew file mode 100755 index 000000000..ac1708379 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/back_console.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..e007d2946 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-head.png Binary files differnew file mode 100755 index 000000000..20c90e79d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-main.png Binary files differnew file mode 100755 index 000000000..28e8eee94 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-main2.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-main2.png Binary files differnew file mode 100755 index 000000000..074709b5f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/background-main2.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..834bd85a5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/logo.png Binary files differnew file mode 100755 index 000000000..b542561d7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/table-header.png Binary files differnew file mode 100755 index 000000000..565c6fd87 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pretty.css new file mode 100755 index 000000000..aebdafd61 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/pretty.css @@ -0,0 +1,583 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left repeat; + color: #5d4e3b; font-size: 2em; +/* font-family: Trebuchet MS, Arial, Helvetica, sans-serif; */ + font-family: Arial, Helvetica, sans-serif; + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #ffca00; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:5px solid #ccc; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:200%; + width:150px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:url(pics/background-head.png) bottom left no-repeat transparent; + line-height: 1px; +} + +div#footer +{ + background:#7ea1c9 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 150%/1em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#currentSlide +{ + text-align: center; + font-size: 0.6em; + font-weight:bold; + color: #fff; +} + +#slide0 +{ + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 +{ + position: static; + margin: 1em 0 0; + padding: 0; +/* font: bold 2em Helvetica, sans-serif; */ + font-weight: bold; + font-size:2em; + white-space: normal; + color: #000; + background: transparent; +} + +#slide0 h2 +{ + font-weight: bold; + font-style: italic; + font-size: 1em; + margin: 0.25em; +} + +#slide0 h3 +{ + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 +{ + margin-top: 0; + font-size: 1em; +} + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:1px solid #5d4e3b !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #5d4e3b !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) bottom left repeat-x #6b5a45; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/gorilla/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/blank.gif Binary files differnew file mode 100644 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/finish.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/finish.gif Binary files differnew file mode 100644 index 000000000..55e1ff95e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/finish.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/fixed.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/fixed.js new file mode 100644 index 000000000..118ae7005 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/fixed.js @@ -0,0 +1 @@ +// fixed.js: fix fixed positioning and fixed backgrounds in IE/Win
// version 1.8, 08-Aug-2003
// written by Andrew Clover <and@doxdesk.com>, use freely
/*@cc_on
@if (@_win32 && @_jscript_version>4)
var fixed_positions= new Array();
var fixed_backgrounds= new Array();
var fixed_viewport;
// Initialisation. Called when the <body> tag arrives. Set up viewport so the
// rest of the script knows we're going, and add a measurer div, used to detect
// font size changes and measure image sizes for backgrounds later
function fixed_init() {
fixed_viewport= (document.compatMode=='CSS1Compat') ?
document.documentElement : document.body;
var el= document.createElement('div');
el.setAttribute('id', 'fixed-measure');
el.style.position= 'absolute';
el.style.top= '0'; el.style.left= '0';
el.style.overflow= 'hidden'; el.style.visibility= 'hidden';
el.style.fontSize= 'xx-large'; el.style.height= '5em';
el.style.setExpression('width', 'fixed_measureFont()');
document.body.insertBefore(el, document.body.firstChild);
}
// Binding. Called every time an element is added to the document, check it
// for fixed features, if found add to our lists and set initial props
function fixed_bind(el) {
var needLayout= false;
var tag= el.tagName.toLowerCase();
var st= el.style;
var cst= el.currentStyle;
var anc;
// find fixed-position elements
if (cst.position=='fixed') {
needLayout= true;
fixed_positions[fixed_positions.length]= el;
// store original positioning as we'll overwrite it
st.position= 'absolute';
st.fixedPLeft= cst.left;
st.fixedPTop= cst.top;
st.fixedPRight= cst.right;
st.fixedPBottom= cst.bottom;
st.fixedPWidth= fixed_parseLength(cst.width);
st.fixedPHeight= fixed_parseLength(cst.height);
// find element that will act as containing box, for convenience later
st.fixedCB= null;
for (anc= el; (anc= anc.parentElement).parentElement;) {
if (anc.currentStyle.position!='static') {
st.fixedCB= anc;
break;
} }
// detect nested fixed positioning (only ancestor need move)
st.fixedNest= false;
for (anc= el; anc= anc.parentElement;) {
if (anc.style.fixedNest!=null)
st.fixedNest= true;
break;
}
}
// find fixed-background elements (not body/html which IE already gets right)
if (cst.backgroundAttachment=='fixed' && tag!='body' && tag!='html') {
needLayout= true;
fixed_backgrounds[fixed_backgrounds.length]= el;
// get background offset, converting from keyword if necessary
st.fixedBLeft= fixed_parseLength(cst.backgroundPositionX);
st.fixedBTop= fixed_parseLength(cst.backgroundPositionY);
// if it's a non-zero %age, need to know size of image for layout
if (st.fixedBLeft[1]=='%' || st.fixedBTop[1]=='%') {
st.fixedBWidth= 0; st.fixedBHeight= 0;
fixed_measureBack(el);
}
}
if (needLayout) fixed_layout();
}
// Layout. On every window or font size change, recalculate positioning
// Request re-layout at next free moment
var fixed_delaying= false;
function fixed_delayout() {
if (fixed_delaying) return;
fixed_delaying= true;
window.setTimeout(fixed_layout, 0);
}
var fixed_ARBITRARY= 200;
function fixed_layout() {
fixed_delaying= false;
if (!fixed_viewport) return;
var i, el, st, j, pr, tmp, A= 'auto';
var cb, cbLeft, cbTop, cbRight, cbBottom, oLeft, oTop, oRight, oBottom;
var vpWidth=fixed_viewport.clientWidth, vpHeight=fixed_viewport.clientHeight;
// calculate initial position for fixed-position elements [black magic]
for (i= fixed_positions.length; i-->0;) {
el= fixed_positions[i]; st= el.style;
// find positioning of containing block
cb= st.fixedCB; if (!cb) cb= fixed_viewport;
cbLeft= fixed_pageLeft(cb); cbTop= fixed_pageTop(cb);
if (cb!=fixed_viewport) { cbLeft+= cb.clientLeft; cbTop+= cb.clientTop; }
cbRight= fixed_viewport.clientWidth-cbLeft-cb.clientWidth;
cbBottom= fixed_viewport.clientHeight-cbTop-cb.clientHeight;
// if size is in %, must recalculate relative to viewport
if (st.fixedPWidth[1]=='%')
st.width= Math.round(vpWidth*st.fixedPWidth[0]/100)+'px';
if (st.fixedPHeight[1]=='%')
st.height= Math.round(vpHeight*st.fixedPHeight[0]/100)+'px';
// find out offset values at max size, to account for margins
st.left= A; st.right= '0'; st.top= A; st.bottom= '0';
oRight= el.offsetLeft+el.offsetWidth; oBottom= el.offsetTop+el.offsetHeight;
st.left= '0'; st.right= A; st.top= '0'; st.bottom= A;
oLeft= el.offsetLeft; oTop= el.offsetTop;
// use this to convert all edges to pixels
st.left= A; st.right= st.fixedPRight;
st.top= A; st.bottom= st.fixedPBottom;
oRight-= el.offsetLeft+el.offsetWidth;
oBottom-= el.offsetTop+el.offsetHeight;
st.left= st.fixedPLeft; st.top= st.fixedPTop;
oLeft= el.offsetLeft-oLeft; oTop= el.offsetTop-oTop;
// edge positioning fix
if (st.fixedPWidth[1]==A && st.fixedPLeft!=A && st.fixedPRight!=A) {
tmp= el.offsetLeft; st.left= A; st.width= fixed_ARBITRARY+'px';
tmp= fixed_ARBITRARY+el.offsetLeft-tmp+cbLeft+cbRight;
st.left= st.fixedPLeft; st.width= ((tmp<1)?1:tmp)+'px';
}
if (st.fixedPHeight[1]==A && st.fixedPTop!=A && st.fixedPBottom!=A) {
tmp= el.offsetTop; st.top= A; st.height= fixed_ARBITRARY+'px';
tmp= fixed_ARBITRARY+el.offsetTop-tmp+cbTop+cbBottom;
st.top= st.fixedPTop; st.height= ((tmp<1)?1:tmp)+'px';
}
// move all non-auto edges relative to the viewport
st.fixedCLeft= (st.fixedPLeft=='auto') ? oLeft : oLeft-cbLeft;
st.fixedCTop= (st.fixedPTop=='auto') ? oTop : oTop-cbTop;
st.fixedCRight= (st.fixedPRight=='auto') ? oRight : oRight-cbRight;
st.fixedCBottom= (st.fixedPBottom=='auto') ? oBottom : oBottom-cbBottom;
// remove left-positioning of right-positioned elements
if (st.fixedPLeft=='auto' && st.fixedPRight!='auto') st.fixedCLeft= 'auto';
if (st.fixedPTop=='auto' && st.fixedPBottom!='auto') st.fixedCTop= 'auto';
}
// calculate initial positioning of fixed backgrounds
for (i= fixed_backgrounds.length; i-->0;) {
el= fixed_backgrounds[i]; st= el.style;
tmp= st.fixedBImage;
if (tmp) {
if (tmp.readyState!='uninitialized') {
st.fixedBWidth= tmp.offsetWidth;
st.fixedBHeight= tmp.offsetHeight;
st.fixedBImage= window.undefined;
}
}
st.fixedBX= fixed_length(el, st.fixedBLeft, vpWidth-st.fixedBWidth);
st.fixedBY= fixed_length(el, st.fixedBTop, vpHeight-st.fixedBHeight);
}
// now call scroll() to set the positions from the values just calculated
fixed_scroll();
}
// Scrolling. Offset fixed elements relative to viewport scrollness
var fixed_lastX, fixed_lastY;
var fixed_PATCHDELAY= 300;
var fixed_patching= false;
// callback function after a scroll, because incorrect scroll position is
// often reported first go!
function fixed_patch() {
fixed_patching= false;
var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;
if (scrollX!=fixed_lastX && scrollY!=fixed_lastY) fixed_scroll();
}
function fixed_scroll() {
if (!fixed_viewport) return;
var i, el, st, viewportX, viewportY;
var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;
fixed_lastX= scrollX; fixed_lastY= scrollY;
// move non-nested fixed-position elements
for (i= fixed_positions.length; i-->0;) {
st= fixed_positions[i].style;
viewportX= (st.fixedNest) ? 0 : scrollX;
viewportY= (st.fixedNest) ? 0 : scrollY;
if (st.fixedCLeft!='auto') st.left= (st.fixedCLeft+viewportX)+'px';
if (st.fixedCTop!='auto') st.top= (st.fixedCTop+viewportY)+'px';
viewportX= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportX;
viewportY= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportY;
st.right= (st.fixedCRight-viewportX+1)+'px'; st.right= (st.fixedCRight-viewportX)+'px';
st.bottom= (st.fixedCBottom-viewportY+1)+'px'; st.bottom= (st.fixedCBottom-viewportY)+'px';
}
// align fixed backgrounds to viewport
for (i= fixed_backgrounds.length; i-->0;) {
el= fixed_backgrounds[i]; st= el.style;
viewportX= scrollX;
viewportY= scrollY;
while (el.offsetParent) {
viewportX-= el.offsetLeft+el.clientLeft;
viewportY-= el.offsetTop +el.clientTop;
el= el.offsetParent;
}
st.backgroundPositionX= (st.fixedBX+viewportX)+'px';
st.backgroundPositionY= (st.fixedBY+viewportY)+'px';
}
// call back again in a tic
if (!fixed_patching) {
fixed_patching= true;
window.setTimeout(fixed_patch, fixed_PATCHDELAY);
}
}
// Measurement. Load bg-image into an invisible element on the page, when
// loaded write the width/height to an element's style for layout use; detect
// when font size changes
function fixed_measureBack(el) {
var measure= document.getElementById('fixed-measure');
var img= document.createElement('img');
img.setAttribute('src', fixed_parseURL(el.currentStyle.backgroundImage));
measure.appendChild(img);
el.style.fixedBImage= img;
if (img.readyState=='uninitialized')
img.attachEvent('onreadystatechange', fixed_measureBackImage_ready);
}
function fixed_measureBackImage_ready() {
var img= event.srcElement;
if (img && img.readyState!='uninitialized') {
img.detachEvent('onreadystatechange', fixed_measureBackImage_ready);
fixed_layout();
}
}
var fixed_fontsize= 0;
function fixed_measureFont() {
var fs= document.getElementById('fixed-measure').offsetHeight;
if (fixed_fontsize!=fs && fixed_fontsize!=0)
fixed_delayout();
fixed_fontsize= fs;
return '5em';
}
// Utility. General-purpose functions
// parse url() to get value inside
function fixed_parseURL(v) {
v= v.substring(4, v.length-1);
if (v.charAt(0)=='"' && v.charAt(v.length-1)=='"' ||
v.charAt(0)=="'" && v.charAt(v.length-1)=="'")
return v.substring(1, v.length-1);
else return v;
}
// parse length or auto or background-position keyword into number and unit
var fixed_numberChars= '+-0123456789.';
var fixed_ZERO= new Array(0, 'px');
var fixed_50PC= new Array(50, '%');
var fixed_100PC= new Array(100, '%');
var fixed_AUTO= new Array(0, 'auto');
function fixed_parseLength(v) {
var num, i;
if (v=='left' || v=='top') return fixed_ZERO;
if (v=='right' || v=='bottom') return fixed_100PC;
if (v=='center') return fixed_50PC;
if (v=='auto') return fixed_AUTO;
i= 0;
while (i<v.length && fixed_numberChars.indexOf(v.charAt(i))!=-1)
i++;
num= parseFloat(v.substring(0, i));
if (num==0) return fixed_ZERO;
else return new Array(num, v.substring(i));
}
// convert parsed (number, unit) into a number of pixels
function fixed_length(el, l, full) {
var tmp, x;
if (l[1]=='px') return l[0];
if (l[1]=='%') return Math.round(full*l[0]/100);
// other units - measure by setting position; this is rather inefficient
// but then these units are used for background-position so seldom...
tmp= el.currentStyle.left;
el.style.left= '0';
x= el.offsetLeft;
el.style.left= l[0]+l[1];
x= el.offsetLeft-x;
el.style.left= tmp;
return x;
}
// convert stupid IE offsetLeft/Top to page-relative values
function fixed_pageLeft(el) {
var v= 0;
while (el.offsetParent) {
v+= el.offsetLeft;
el= el.offsetParent;
}
return v;
}
function fixed_pageTop(el) {
var v= 0;
while (el.offsetParent) {
v+= el.offsetTop;
el= el.offsetParent;
}
return v;
}
// Scanning. Check document every so often until it has finished loading. Do
// nothing until <body> arrives, then call main init. Pass any new elements
// found on each scan to be bound
var fixed_SCANDELAY= 500;
function fixed_scan() {
if (!document.body) return;
if (!fixed_viewport) fixed_init();
var el;
for (var i= 0; i<document.all.length; i++) {
el= document.all[i];
if (!el.fixed_bound) {
el.fixed_bound= true;
fixed_bind(el);
} }
}
var fixed_scanner;
function fixed_stop() {
window.clearInterval(fixed_scanner);
fixed_scan();
}
fixed_scan();
fixed_scanner= window.setInterval(fixed_scan, fixed_SCANDELAY);
window.attachEvent('onload', fixed_stop);
window.attachEvent('onresize', fixed_delayout);
window.attachEvent('onscroll', fixed_scroll);
@end @*/
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/help.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/help.jpg Binary files differnew file mode 100644 index 000000000..9be4d3369 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/help.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/iepngfix.htc new file mode 100644 index 000000000..12a8b89f7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/graphic_support/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/numeric.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/numeric.png Binary files differnew file mode 100644 index 000000000..8f911e778 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/numeric.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/progress.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/progress.gif Binary files differnew file mode 100644 index 000000000..132368469 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/graphic_support/progress.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/00_head.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/00_head.txt new file mode 100644 index 000000000..2900ef421 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/00_head.txt @@ -0,0 +1,8 @@ +<!-- style sheet links --> +<link rel="stylesheet" href="ui/i18n/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> + +<!-- S5 JS --> +<script src="ui/default/slides.js" type="text/javascript"></script> diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/bg-shade.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/bg-shade.png Binary files differnew file mode 100644 index 000000000..172c914f6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/bg-shade.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/bg-slide.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/bg-slide.jpg Binary files differnew file mode 100644 index 000000000..6be0296db --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/bg-slide.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pretty.css new file mode 100644 index 000000000..f47a7b5a7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/pretty.css @@ -0,0 +1,139 @@ +/* + Theme: i18n + Eric A. Meyer (http://meyerweb.com/) + Theme placed under CC by-sa 2.0 license +*/ + +body {background: #95A7D4 url(bg-slide.jpg) 100% 100% no-repeat; color: #210; font: 28px Arial, sans-serif;} +a {text-decoration: none; color: #336; border-bottom: 1px dotted;} +h1, h2, h3, h4, h5, h6 {font-size: 1em; margin: 0;} +sup {font-size: 0.75em; font-weight: normal; + vertical-align: 0.5em; line-height: 1px;} +ul {margin-left: 1em; padding-left: 0;} +li {margin-bottom: 0.66em;} +li li {margin: 0.33em 0; font-size: smaller;} + +#header {background: url(bg-shade.png); border-bottom: 1px solid #333; + padding-bottom: 2em;} +#footer {background: url(bg-shade.png); color: #BBB; border-top: 1px solid #333;} +#header, #footer {font-size: 0.5em;} +#footer h1, #footer h2 { padding: 0.5em 0.75em; + font-weight: normal; font-style: italic;} +#footer h1 {left: 0; font-size: 1em; letter-spacing: 1px;} +#footer h2 {position: absolute; bottom: 0; right: 0;} + + +#currentSlide {font-size: 0.5em;} +#currentSlide span {font-size: 13px; color: rgb(49%,47%,66%);} +#currentSlide #csSep {display: none;} +#currentSlide #csHere {font-weight: bold;} +#currentSlide #csHere:before {content: "#"; font-weight: normal;} +#currentSlide #csTotal:before {content: " of ";} + +.slide h1 {font-size: 1.66em; line-height: 1; letter-spacing: -1px; + margin: 0 -15% 1em 0; padding: 0.5em 15% 0.06125em 0; border-bottom: 0.06125em solid rgb(90,94,120);} +#slide0 h1 {border: none; font-size: 2.25em; letter-spacing: 0; margin: 3em 0 1.5em;} +#slide0 h3 {margin: 0.5em 0 0;} +#slide0 h4 {margin-top: 0; font-size: smaller;} + +.slide .current {color: #003; text-shadow: 0 0 0.25em #9AABD7;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.notes {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/i18n/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/LEEME.txt new file mode 100755 index 000000000..c4f982126 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/LEEME.txt @@ -0,0 +1,31 @@ +MANDARINA + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back-handout-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back-handout-print.png Binary files differnew file mode 100755 index 000000000..6f68dc67e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back-handout-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back-slide-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back-slide-print.png Binary files differnew file mode 100755 index 000000000..05b3dc503 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back-slide-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back_console.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back_console.png Binary files differnew file mode 100755 index 000000000..8704104dc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/back_console.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..c5d1ffc64 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-head.png Binary files differnew file mode 100755 index 000000000..56dfae9e7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-head.xcf.7z b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-head.xcf.7z Binary files differnew file mode 100755 index 000000000..da49c8361 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-head.xcf.7z diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-main.png Binary files differnew file mode 100755 index 000000000..835c5edfc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-main2.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-main2.png Binary files differnew file mode 100755 index 000000000..1f9702ada --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/background-main2.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..075faddc7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/logo.png Binary files differnew file mode 100755 index 000000000..1db9ca08f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/table-header.png Binary files differnew file mode 100755 index 000000000..d759f1576 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pretty.css new file mode 100755 index 000000000..36bfc0a29 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/pretty.css @@ -0,0 +1,584 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #fbcd15 url(pics/background-main.png) top left no-repeat; + color: #000; font-size: 2em; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; +/* font-family: Arial, Helvetica, sans-serif; */ + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #fff; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:3px solid #f19c12; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:200%; + width:150px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#f19c12 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; +} + +div#footer +{ + background:#f19c12 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 150%/1em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + + +#currentSlide +{ + text-align: center; + font-size: 0.6em; + font-weight:bold; + color: #fff; +} + +#slide0 +{ + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 +{ + position: static; + margin: 1em 0 0; + padding: 0; +/* font: bold 2em Helvetica, sans-serif; */ + font-weight: bold; + font-size:2em; + white-space: normal; + color: #000; + background: transparent; +} + +#slide0 h2 +{ + font-weight: bold; + font-style: italic; + font-size: 1em; + margin: 0.25em; +} + +#slide0 h3 +{ + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 +{ + margin-top: 0; + font-size: 1em; +} + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:3px solid #f19c12 !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) bottom left repeat-x #f19c12; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/mandarina/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelbg.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelbg.gif Binary files differnew file mode 100644 index 000000000..a57ccb106 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelbg.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelheader.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelheader.jpg Binary files differnew file mode 100644 index 000000000..3c0f13b1e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelheader.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelslide0bg.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelslide0bg.gif Binary files differnew file mode 100644 index 000000000..fffb08a26 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pixelslide0bg.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pretty.css new file mode 100644 index 000000000..1b2107b3f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/pretty.css @@ -0,0 +1,166 @@ +/* Pixel Theme 2004 by Martin Hense ::: www.lounge7.de */ + +/* Following are the presentation styles -- edit away! + Note that the 'body' font size may have to be changed if the resolution is + different than expected. */ + +body {background: transparent url(pixelbg.gif) repeat-y; color: #08093F; font-size: 1.8em;} +:link, :visited {text-decoration: none;} +#controls :active {color: #88A !important;} +#controls :focus {outline: 1px dotted #227;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +code {padding: 2px 0.25em; font-weight: bold; color: #533;} +code.bad, code del {color: red;} +code.old {color: silver;} +pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +pre code {display: block;} +ul {margin-right: 7%; margin-left: 50px; list-style: square;} +li {margin-top: 0.75em; margin-right: 0;} +ul ul {line-height: 1;} +ul ul li {margin: .2em; font-size: 85%; list-style: square;} +img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: #005; color: #646587; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: transparent url(pixelheader.jpg) 0 0 no-repeat; height: 75px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0; border-top: 1px solid #08093F; background: #fff;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {font-style: italic;} + +div.long {font-size: 0.75em;} +.slide {font-family: Verdana, Helvetica, Arial, sans-serif;} +.slide h1 {position: absolute; z-index: 1; + margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap; + font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize; + top: 1.4em; left: 2%; + color: #08093F; background: transparent;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + + +#currentSlide {text-align: center; font-size: 0.5em; color: #646587; + font-family: Verdana, Helvetica, sans-serif; font-weight: bold;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; white-space: normal; + margin: 0; padding: 60px 60px 0 150px; text-align: right; + font: bold 2em Helvetica, sans-serif; white-space: normal; height: 281px; + color: #fff; background: transparent url(pixelslide0bg.gif) no-repeat;} +#slide0 h3 {margin-top: 0.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.notes {display: none;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/pixel/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/LEEME.txt new file mode 100755 index 000000000..d09fdc819 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/LEEME.txt @@ -0,0 +1,31 @@ +QUALITY + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/index.html new file mode 100755 index 000000000..47d9a6b83 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="images/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-handout-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-handout-print.png Binary files differnew file mode 100755 index 000000000..9e49dd625 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-handout-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-index.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-index.png Binary files differnew file mode 100755 index 000000000..e0c18c4fe --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-index.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-slide-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-slide-print.png Binary files differnew file mode 100755 index 000000000..e8b5f9d82 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back-slide-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back_console.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back_console.png Binary files differnew file mode 100755 index 000000000..ac1708379 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/back_console.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..af3be4e6b --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-head.png Binary files differnew file mode 100755 index 000000000..12d6402ee --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-main.png Binary files differnew file mode 100755 index 000000000..3d7595d78 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..f1cdf0d62 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/logo.png Binary files differnew file mode 100755 index 000000000..dce12c815 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/table-header.png Binary files differnew file mode 100755 index 000000000..2f8795842 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pretty.css new file mode 100755 index 000000000..05d30adaf --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/pretty.css @@ -0,0 +1,585 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left no-repeat; + color: #000; font-size: 2em; + font-family: Interstate-LightCondensed, Arial, Helvetica, sans-serif; +/* font-family: Interstate-RegularCondensed, Arial, Helvetica, sans-serif; */ +/* font-family: Arial, Helvetica, sans-serif; */ + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ +/* color: #DDE; */ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #ffca00; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:5px solid #ccc; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:100%; + width:50px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#a80231 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; +} + +div#footer +{ + background:#a80231 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 150%/1em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#currentSlide +{ + text-align: center; + font-size: 0.6em; + font-weight:bold; + color: #fff; +} + +#slide0 +{ + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 +{ + position: static; + margin: 1em 0 0; + padding: 0; +/* font: bold 2em Helvetica, sans-serif; */ + font-weight: bold; + font-size:2em; + white-space: normal; + color: #000; + background: transparent; +} + +#slide0 h2 +{ + font-weight: bold; + font-style: italic; + font-size: 1em; + margin: 0.25em; +} + +#slide0 h3 +{ + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 +{ + margin-top: 0; + font-size: 1em; +} + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) top left repeat-x #a70131; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/quality/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/s5-notes.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/s5-notes.html new file mode 100644 index 000000000..902901b1d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/s5-notes.html @@ -0,0 +1,157 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!-- Do not edit this document! The system will likely break if you do. -->
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title>Notes</title>
+<style type="text/css" media="all"> +body { + margin: 0; + padding: 1.0em; + background: #333; + color: #FFF; + font: 2em/1.4em 'Lucida Grande', Verdana, sans-serif; +} +div.timers { + background: #FFF; + color: #333; + border: 0.08em solid #222; + border-top-width: 1px; + border-left-width: 1px; + float: left; + padding: 0.2em; + margin: 0 0 0.5em; + position: relative; +} +div.timers h1 { + text-align: left; + font-size: 0.6em; + line-height: 1.4em; + background-color: #FF9; + padding: 0 0.75em; + margin: 0.25em 0 0; + border: 1px solid #EE8; +} +div.timers div.controls { + position: absolute; + right: 0.25em; + top: 0.1em; + line-height: 1em; +} +div.timers h1 a { + text-decoration: none; + color: #000; +} +div.timers div.controls a { + font-size: 0.5em; + padding: 0; + color: #330; +} +div.timers a.control { + position: absolute; + text-decoration: none; + padding: 0 0.25em; + color: #AAA; + outline: 0; +} +a.headctrl { + outline: none; + text-decoration: none; + font-weight: bold; +} +#minus {left: 0.25em;} +#plus {right: 0.25em;} +.overtime { + background: yellow; + color: red; + border: 3px solid; + padding: 0.1em 0.25em; + font-weight: bold; +} +div.timers h2 { + font-size: 0.6em; + line-height: 1.0em; + font-weight: normal; + margin: 0 0 -0.25em; + padding-top: 0.5em; + color: #666; +} +div.timers p {margin: 0; padding: 0 0.5em;} +div.timers form {margin: 0;} +div.timers span.clock {font-family: monospace;} +div.timers ul {margin: 0; padding: 0; list-style: none;} +div.timers li {float: left; width: 5em; margin: 0; padding: 0 0.5em; text-align: center;} +div#elapsed {width: 12.1em;} +div#remaining {clear: left; width: 12.1em;} +div#remaining p {text-align: center;} +#slide, #next, #notes, #nextnotes { + font-size: 0.75em; + line-height: 1.4em; + clear: left; +/* max-width: 30.0em; */ + text-shadow: 0.1em 0.1em 0.1em #111; +} +#next {margin-top: 2.5em;} +#next, #nextnotes {color: #999; font-size: 0.66em;} +em.disclaimer {color: #666;} +div.collapsed h1 {display: block; font-size: 0.33em;} +div.collapsed h1 a {display: inline;} +div.collapsed * {display: none;}
+</style>
+<script type="text/javascript">
+// <![CDATA[
+ document.onkeyup = opener.keys;
+ document.onkeypress = opener.trap;
+ document.onclick = opener.clicker;
+// ]]>
+</script>
+</head>
+
+<body onload="opener.s5NotesWindowLoaded=true;" onunload="opener.s5NotesWindowLoaded=false;">
+
+
+<div class="timers" id="elapsed">
+<h1>
+<a href="#" onclick="opener.minimizeTimer('elapsed'); return false;">Elapsed Time</a>
+</h1>
+<ul>
+<li>
+<h2>Presentation</h2>
+<span class="clock" id="elapsed-presentation">00:00:00</span>
+</li>
+<li>
+<h2>Current Slide</h2>
+<span class="clock" id="elapsed-slide">00:00:00</span>
+</li>
+</ul>
+<div class="controls">
+<a href="#reset-elapsed" class="headctrl" onclick="opener.resetElapsedTime(); return false;" title="Reset Elapsed Time">|<</a>
+</div>
+</div>
+
+<div class="timers" id="remaining">
+<h1>
+<a href="#" onclick="opener.minimizeTimer('remaining'); return false;">Remaining Time</a>
+</h1>
+<p>
+<a href="#subtract-remaining" class="control" id="minus" onclick="opener.alterRemainingTime('-5'); return false;" title="Subtract 5 Minutes">-</a>
+<span class="clock" id="timeLeft">00:00:00</span>
+<a href="#add-remaining" class="control" id="plus" onclick="opener.alterRemainingTime('5'); return false;" title="Add 5 Minutes">+</a>
+</p>
+<div class="controls">
+<form action="#" onsubmit="opener.resetRemainingTime(); return false;">
+<input type="text" class="text" id="startFrom" value="0" size="4" maxlength="4" />
+<a href="#toggle-remaining" class="headctrl" onclick="opener.toggleRemainingTime(); return false;" title="Pause/Run Remaining Time">||</a>
+<a href="#reset-remaining" class="headctrl" onclick="opener.resetRemainingTime(); return false;" title="Reset Remaining Time">|<</a>
+</form>
+</div>
+</div>
+
+<h2 id="slide">...</h2>
+<div id="notes"></div>
+
+<h2 id="next">...</h2>
+<div id="nextnotes"></div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/backgrnd.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/backgrnd.jpg Binary files differnew file mode 100644 index 000000000..0602a0249 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/backgrnd.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/chalks.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/chalks.png Binary files differnew file mode 100644 index 000000000..5ba8d53db --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/chalks.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/footer.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/footer.png Binary files differnew file mode 100644 index 000000000..804e16147 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/footer.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/framing.css new file mode 100644 index 000000000..e54061c3e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/framing.css @@ -0,0 +1,22 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {text-align: right; width: 100%; margin: 0;} +#currentSlide {position: absolute; width: 12%; left: 44%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/header.png Binary files differnew file mode 100644 index 000000000..8453dc395 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/opera.css new file mode 100644 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/outline.css new file mode 100644 index 000000000..c04f5006a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/outline.css @@ -0,0 +1,14 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.hide, .layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #sheet {display: block; visibility: visible; margin: 0; padding: 0;} +#sheet {float: right; padding: 0.5em;} +html>body #sheet {position: fixed; top: 0; right: 0;} + + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#sheet {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pretty.css new file mode 100644 index 000000000..41a5f5b3d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/pretty.css @@ -0,0 +1,162 @@ +/* Following are the presentation styles -- edit away! */ + +body {background: #FFF url(backgrnd.jpg) repeat fixed; color: #cfc; font-family: 'Comic Sans MS', 'Comic Sans', Arial, Helvetica, sans-serif; font-size: 2.25em;} +a:link, a:visited {text-decoration: none; color: #F93;} +a:focus, a:hover {color: #f33 !important;} + +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +h1 {text-shadow: 0.1em 0.1em 0.1em #363; background-color: transparent;} + +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +img {border: 0; } +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;} +.slide code.bad, code del {color: red;} +.slide code.old {color: silver;} +.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;} +.slide pre code {display: block;} +.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +.slide li {margin-top: 0.75em; margin-right: 0;} +.slide ul ul {line-height: 1;} +.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;} +.slide img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: transparent; color: #AAA; font-family: Verdana, Arial, Helvetica, sans-serif;} +div#header {background: transparent url(header.png) bottom; line-height: 1px;} +div#footer {background: transparent url(footer.png) top; color: #fff; font-size: 0.5em; font-weight: bold; padding: 1em 0;} +#footer h1, #footer h2 {display: block; padding: 0; position:absolute; bottom:0.5em;} +#footer h1 {left:1em; text-shadow: 0.2em 0.2em #000;} +#footer h2 {right:1em; text-shadow: 0.2em 0.2em #000; font-style: italic;} + +div#logo +{ + position:absolute; + top:0%; + left:0%; + background:transparent url(triangle.png) 50% 50% no-repeat; + height:456px; + width:240px; +} +div#logo_bottom +{ + position:absolute; + bottom:50%; + right:0%; + background:url(chalks.png) 25% 25% no-repeat; + height:20px; + width:160px; +} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.9em; left: 1.25em; z-index: 1; margin: 0; padding: 0.35em 0 0 50px; white-space: nowrap; font: bold 150%/1em 'Comic Sans MS', 'Comic Sans', Verdana, Arial, Helvetica, sans-serif; text-transform: capitalize; color: #DDD; background-color: transparent;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #ccc;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 3em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #363; white-space: normal; color: #000; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #F93;} + +.incremental, .incremental *, .incremental *:after {color: #2A5A36; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #0F6;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/print.css new file mode 100644 index 000000000..5affe5da6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/print.css @@ -0,0 +1,3 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul, p {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;} +img {page-break-inside: avoid; page-break-after: avoid;} +/*.slide {page-break-after: always;}*/
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.hide, .layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/s5-core.css new file mode 100644 index 000000000..8ed9c1e20 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/s5-core.css @@ -0,0 +1,8 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, html>body div#controls, html>body .slide {position: fixed;} +.handout, .notes, .hide {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/slides.css new file mode 100644 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/triangle.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/triangle.png Binary files differnew file mode 100644 index 000000000..79a243385 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/triangle.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/school/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/backgrnd.png Binary files differnew file mode 100644 index 000000000..e28d6f102 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/bank.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/bank.png Binary files differnew file mode 100644 index 000000000..063973f7f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/bank.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/footer.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/footer.png Binary files differnew file mode 100644 index 000000000..4f3ba14c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/footer.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/framing.css new file mode 100644 index 000000000..5f0f5daa4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/framing.css @@ -0,0 +1,22 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {text-align: right; width: 100%; margin: 0;} +#currentSlide {position: absolute; width: 14%; left: 43%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/opera.css new file mode 100644 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/outline.css new file mode 100644 index 000000000..c04f5006a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/outline.css @@ -0,0 +1,14 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.hide, .layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #sheet {display: block; visibility: visible; margin: 0; padding: 0;} +#sheet {float: right; padding: 0.5em;} +html>body #sheet {position: fixed; top: 0; right: 0;} + + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#sheet {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pattern.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pattern.png Binary files differnew file mode 100644 index 000000000..6258f024b --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pattern.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pretty.css new file mode 100755 index 000000000..866b03735 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/pretty.css @@ -0,0 +1,163 @@ +/* Following are the presentation styles -- edit away! */ +/* S5 1.3beta7 (29-Mar-2007) advanced version by C. Effenberger */ + +body {background: #FFF url(backgrnd.png) repeat-x fixed; color: #333; font-family: Georgia, "Times New Roman", Times, serif; font-size: 2.25em;} +a:link, a:visited {text-decoration: none; color: #F93; text-shadow: 0.1em 0.1em 0.1em #000;} +a:focus, a:hover {color: #f33 !important;} + +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +h1 {text-shadow: 0.1em 0.1em 0.1em #333; background-color: transparent;} + +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +img {border: 0; } +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +.slide code {padding: 2px 0.25em; font-weight: bold; color: green;} +.slide code.bad, code del {color: red;} +.slide code.old {color: silver;} +.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: green; font-size: 90%;} +.slide pre code {display: block;} +.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;} +.slide li {margin-top: 0.75em; margin-right: 0;} +.slide ul ul {line-height: 1;} +.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;} +.slide img.leader {display: block; margin: 0 auto;} + +div#header, div#footer {background: transparent; color: #AAA; font-family: Verdana, Arial, Helvetica, sans-serif;} +div#header {line-height: 1px;} +div#footer {background: transparent url(footer.png) top; color: #fff; font-size: 0.5em; font-weight: bold; padding: 1em 0;} +#footer h1, #footer h2 {display: block; padding: 0; position:absolute; bottom:0.5em;} +#footer h1 {left:1em; text-shadow: 0.2em 0.2em #000;} +#footer h2 {right:1em; text-shadow: 0.2em 0.2em #000; font-style: italic;} + +div#logo +{ + position:absolute; + top:0%; + left:0%; + background:url(sun.png) 50% 50% no-repeat; + height:256px; + width:256px; +} +div#logo_bottom +{ + position:absolute; + bottom:50%; + right:0%; + background:url(bank.png) 50% 50% no-repeat; + height:205px; + width:138px; +} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.9em; left: 1.25em; z-index: 1; margin: 0; padding: 0.35em 0 0 50px; white-space: nowrap; font: bold 150%/1em Verdana, Arial, Helvetica, sans-serif; text-transform: capitalize; color: #DDD; background-color: transparent;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: #7BB81B; color: #fff;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 3em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.note {display: none;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #F93;} + +.incremental, .incremental *, .incremental *:after {color: #39f; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/print.css new file mode 100644 index 000000000..5affe5da6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/print.css @@ -0,0 +1,3 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul, p {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;} +img {page-break-inside: avoid; page-break-after: avoid;} +/*.slide {page-break-after: always;}*/
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.hide, .layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/s5-core.css new file mode 100644 index 000000000..8ed9c1e20 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/s5-core.css @@ -0,0 +1,8 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, html>body div#controls, html>body .slide {position: fixed;} +.handout, .notes, .hide {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/slides.css new file mode 100644 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/sun.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/sun.png Binary files differnew file mode 100644 index 000000000..f06b1d393 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/sun.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/sunny/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/LEEME.txt new file mode 100755 index 000000000..db32b3854 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/LEEME.txt @@ -0,0 +1,31 @@ +TANGO + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back-handout-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back-handout-print.png Binary files differnew file mode 100755 index 000000000..9e49dd625 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back-handout-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back-slide-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back-slide-print.png Binary files differnew file mode 100755 index 000000000..e8b5f9d82 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back-slide-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back_console.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back_console.png Binary files differnew file mode 100755 index 000000000..ac1708379 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/back_console.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..c44e44f2c --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-head.png Binary files differnew file mode 100755 index 000000000..713900b92 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-main.png Binary files differnew file mode 100755 index 000000000..c7e1d71b7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..138568ed4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/logo.png Binary files differnew file mode 100755 index 000000000..662b919f1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/table-header.png Binary files differnew file mode 100755 index 000000000..4c3a86b44 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pretty.css new file mode 100755 index 000000000..8e807b108 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/pretty.css @@ -0,0 +1,583 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left repeat; + color: #000; font-size: 2em; +/* font-family: Trebuchet MS, Arial, Helvetica, sans-serif; */ + font-family: Arial, Helvetica, sans-serif; + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #ffca00; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:5px solid #ccc; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:200%; + width:150px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#7ea1c9 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; +} + +div#footer +{ + background:#7ea1c9 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 150%/1em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#currentSlide +{ + text-align: center; + font-size: 0.6em; + font-weight:bold; + color: #fff; +} + +#slide0 +{ + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 +{ + position: static; + margin: 1em 0 0; + padding: 0; +/* font: bold 2em Helvetica, sans-serif; */ + font-weight: bold; + font-size:2em; + white-space: normal; + color: #000; + background: transparent; +} + +#slide0 h2 +{ + font-weight: bold; + font-style: italic; + font-size: 1em; + margin: 0.25em; +} + +#slide0 h3 +{ + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 +{ + margin-top: 0; + font-size: 1em; +} + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:1px solid #31447b !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #31447b !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) top left repeat-x #7ea1c9; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tango/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/LEEME.txt new file mode 100755 index 000000000..fb08e2004 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/LEEME.txt @@ -0,0 +1,36 @@ +TANGO-DEVWEB + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Modificaciones a partir del tema TANGO por john Edisson Ortiz Roman (laguaza AT gmail.com) + + + + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/index.html new file mode 100755 index 000000000..39d8f46ad --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..5b29fb303 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-head.png Binary files differnew file mode 100755 index 000000000..f36ad1acb --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-main.png Binary files differnew file mode 100755 index 000000000..cb5106987 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..8de7eb42b --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/logo.png Binary files differnew file mode 100755 index 000000000..51e5173be --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/table-header.png Binary files differnew file mode 100755 index 000000000..4c3a86b44 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pretty.css new file mode 100755 index 000000000..8e807b108 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/pretty.css @@ -0,0 +1,583 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left repeat; + color: #000; font-size: 2em; +/* font-family: Trebuchet MS, Arial, Helvetica, sans-serif; */ + font-family: Arial, Helvetica, sans-serif; + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #ffca00; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:5px solid #ccc; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:200%; + width:150px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#7ea1c9 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; +} + +div#footer +{ + background:#7ea1c9 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 150%/1em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#currentSlide +{ + text-align: center; + font-size: 0.6em; + font-weight:bold; + color: #fff; +} + +#slide0 +{ + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 +{ + position: static; + margin: 1em 0 0; + padding: 0; +/* font: bold 2em Helvetica, sans-serif; */ + font-weight: bold; + font-size:2em; + white-space: normal; + color: #000; + background: transparent; +} + +#slide0 h2 +{ + font-weight: bold; + font-style: italic; + font-size: 1em; + margin: 0.25em; +} + +#slide0 h3 +{ + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 +{ + margin-top: 0; + font-size: 1em; +} + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:1px solid #31447b !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #31447b !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) top left repeat-x #7ea1c9; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/tangodevweb/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/LEEME.txt new file mode 100755 index 000000000..5c00e8abd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/LEEME.txt @@ -0,0 +1,31 @@ +EXECUTIVE + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +/ui/default/pics + +con el nombre favicon.ico + + + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/index.php b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/index.php new file mode 100755 index 000000000..a24118054 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/index.php @@ -0,0 +1,102 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="ui/default/pics/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+<?php
+$page_owner = page_owner_entity();
+?>
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo" style="background:url(<?php echo $page_owner->getIcon('medium'); ?>) no-repeat;"><!-- NO EDITAR --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back-handout-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back-handout-print.png Binary files differnew file mode 100755 index 000000000..9e49dd625 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back-handout-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back-slide-print.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back-slide-print.png Binary files differnew file mode 100755 index 000000000..e8b5f9d82 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back-slide-print.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back_console.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back_console.png Binary files differnew file mode 100755 index 000000000..ac1708379 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/back_console.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..811b676bf --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-head.png Binary files differnew file mode 100755 index 000000000..c1df59a15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-head.xcf b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-head.xcf Binary files differnew file mode 100755 index 000000000..ff6497417 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-head.xcf diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-main.png Binary files differnew file mode 100755 index 000000000..9ed390d97 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/favicon.ico Binary files differnew file mode 100755 index 000000000..10ee10936 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/logo.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/logo.jpg Binary files differnew file mode 100644 index 000000000..923639a20 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/logo.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/table-background.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/table-background.png Binary files differnew file mode 100755 index 000000000..89a7e4fa2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/table-background.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/table-header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/table-header.png Binary files differnew file mode 100755 index 000000000..1001624dd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pics/table-header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pretty.css new file mode 100755 index 000000000..a4bddd7fb --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/pretty.css @@ -0,0 +1,525 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left repeat; + color: #000; font-size: 2em; +/* font-family: Trebuchet MS, Arial, Helvetica, sans-serif; */ + font-family: Arial, Helvetica, sans-serif; +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ + border-bottom: 1px dotted gray; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + content: " \274F"; + font-size: smaller; + color: #fff; +} + +.incremental, .incremental *, .incremental *:after +{ + color: #fff; + visibility: visible; +} + +img.incremental +{ + visibility: hidden; +} + + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + + color: #ffca00; + display:block; + font-weight:bold; + font-family: Arial, Sans-Serif !important; + font-size:41.5%; + line-height:1.5em; + background:#2e3436 url(pics/back_console.png) right bottom no-repeat ; + border:5px solid #ccc; + padding:1em 1em 1em 1em; + + +} + +.slide pre code +{ + font-family: Arial, Sans-Serif !important; + display:block; + margin:0; + padding:0; +} + + + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; +} + +.slide ul ul +{ + line-height: 1; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; + list-style: square; +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:5%; + right:1%; + /*background:url(pics/logo.jpg) no-repeat;*/ + height:96px; + width:96px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#000 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; + height: 10%; +} + +#currentSlide {position:absolute; left: 33%; text-align: right; top: 1%; font-size: 0.75em; width: 54%; height:100px; background-color: transparent; color: #999;} + +div#footer {background:#000 url(pics/background-foot.png) top left repeat-x; color: #fff; font-size: 0.5em; font-weight: bold; padding: 1em 0; height: 2%;} +#footer h1, #footer h2, #footer h3 {display: block; padding: 0; position:absolute; bottom:0.7em;} +#footer h1 {left:1em; text-shadow: 0.2em 0.2em #000;} +#footer h2 {right:1em; text-shadow: 0.2em 0.2em #000; font-style: italic; visibility: hidden;} +#footer h3 {right:1em; text-shadow: 0.2em 0.2em #000; font-style: italic; visibility: visible;} + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide {padding-top: 2em;} + +.slide h1 +{ + position: absolute; + top: 0.3em; + left: 0px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 1.2em; + + text-transform: capitalize; + color: #fff; + background: transparent; +} + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#controls :active +{ + color: #fff !important; +} + +#controls :focus +{ + outline: 1px dotted #227; +} + + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.rotulo2 +{ + font-size:200%; + text-align:center; + font-weight:bolder; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; + margin:0; +} + +/* ========================= */ +/* === TABLAS === */ +/* ========================= */ + +table +{ + background:url(pics/table-background.png) bottom left repeat-x #fff; + margin-right:1em; + font-size:70%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +table td +{ + padding:0.5em; + font-size:90%; + border:1px solid #d2d7cf !important; + border-spacing: 0; + text-align:center; +} + +th +{ + background:url(pics/table-header.png) bottom left repeat-x #000; + color:#fff; +} + +th a +{ + color:#fff !important; +} + + + +table caption +{ + margin-bottom:1em; + margin-top:1em; + margin-left:-7em; + + +} + + +display-none +{ + display:none; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/slides.js new file mode 100644 index 000000000..7cb810d51 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/slides.js @@ -0,0 +1,2846 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} +var sectionNames= new Array(); +var sectionTimes= new Array(); +var sectionTitle = ""; +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + + fd = ""; + ss = ""; + at = ""; + try { + for (var dat in sectionNames) { + if(dat==snum) sectionTitle = sectionNames[dat]; + } + } catch (exc1) {} + try { + for (var dat in sectionTimes) { + if(dat==snum+1) { + playDelay = parseInt(sectionTimes[dat])*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } + } + } + } catch (exc2) {} + var secTitle = sectionTitle; + if (secTitle != "") secTitle += "<BR>"; + cs.innerHTML = secTitle+'<div id="plink" nowrap="nowrap">' + + '<span id="csFade">' + fd + ss + '<\/span>' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span>' + + '<span id="csAuto">' + at + '<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/thesis/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/LEEME.txt b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/LEEME.txt new file mode 100755 index 000000000..4c601efec --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/LEEME.txt @@ -0,0 +1,32 @@ +ULTRAVIOLET + +Tema para S5, creado originalmente por jEsuSdA 8) +http://www.jesusda.com + +Más temas en: http://www.jesusda.com/projects/presentaciones_s5 + + + +Para customizar este tema modifica el archivo CSS: + +s5-ultraviolet/ui/default/pretty.css + + + +Los archivos gráficos referentes al tema están en la carpeta: + +s5-ultraviolet/ui/default/pics + + +Puedes personalizar el favicon copiando el tuyo en la carpeta: + +s5-ultraviolet/images/ + +con el nombre favicon.ico + + +Te recomiendo que pongas todas las imágenes que uses en tu presentación dentro de esa misma carpteta. + +Para cualquier sugerencia e idea, por favor, contacta conmigo a través de mi web. ;) + +--jEsuSdA 8)
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/blank.gif Binary files differnew file mode 100755 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/iepngfix.htc new file mode 100755 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/images/favicon.ico b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/images/favicon.ico Binary files differnew file mode 100755 index 000000000..61ab58a16 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/images/favicon.ico diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/index.html b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/index.html new file mode 100755 index 000000000..ffa2037aa --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/index.html @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es-es" >
+
+
+<head>
+
+ <title>[TÃtulo de la presentación aquÃ]</title>
+ <!-- metadata -->
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <meta http-equiv="content-language" content="es" />
+
+ <!--titulo y datos de publicación de la presentación-->
+
+ <meta name="description" content="[TÃtulo de la presentación aquÃ]" />
+
+ <meta name="keywords" content="[keywords aquÃ]" />
+ <meta name="presdate" content="[Aquà la fecha de publicación en formato aaaammdd]" />
+
+ <meta name="author" lang="es" content="[Nombre del autor de la presentación aquÃ]" />
+ <meta name="company" content="[Organización del autor de la presentación aquÃ]" />
+
+ <link rel="shortcut icon" href="images/favicon.ico" />
+
+ <meta name="generator" content="S5" />
+ <meta name="progid" content="quanta+" />
+ <meta name="version" content="S5 · jEsuSdA · 1.1" />
+ <!--Versión adaptada del estandard S5 1.1 por jEsuSdA-->
+
+ <meta name="robots" content="all" />
+
+ <!-- configuration parameters -->
+ <meta name="defaultView" content="slideshow" />
+ <meta name="controlVis" content="hidden" />
+
+ <!-- style sheet links -->
+ <link rel="stylesheet" href="ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+ <link rel="stylesheet" href="ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+ <link rel="stylesheet" href="ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+ <link rel="stylesheet" href="ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+
+ <!-- S5 JS -->
+ <script src="ui/default/slides.js" type="text/javascript"></script>
+
+</head>
+
+<body>
+
+ <div class="layout">
+ <div id="controls"><!-- NO EDITAR --></div>
+ <div id="currentSlide"><!-- NO EDITAR --></div>
+
+ <div id="header">
+ <div id="logo"><!-- DO NOT EDIT --></div>
+ </div>
+
+ </div>
+
+ <div id="footer">
+ <h1>[Lugar/Fecha de la presentación aquÃ]</h1>
+ <h2>[TÃtulo de la presentación aquÃ]</h2>
+ </div>
+
+
+
+
+<div class="presentation">
+
+ <div class="slide">
+ <h1>[TÃtulo de la presentación aquÃ]</h1>
+ <h3>[Nombre del ponente aquÃ]</h3>
+ <h4>[Datos extra aquÃ]</h4>
+ </div>
+
+
+ <div class="slide">
+ <h1>[TÃtulo de la diapositiva]</h1>
+
+ <ul>
+ <li>[Punto uno]</li>
+ <li>[Punto dos]</li>
+ <li>[Punto tres]</li>
+ <li>[Punto cuatro]</li>
+ <li>[Punto cinco]</li>
+ </ul>
+
+ <div class="handout">
+
+ [Añade aquà cualquier nota o información que desees mostrar en la versión impresa, pero no en la versión en pantalla]
+
+ </div>
+
+ </div>
+ <!--fin slide-->
+
+</div>
+
+</body>
+</html>
diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-foot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-foot.png Binary files differnew file mode 100755 index 000000000..a1de38829 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-foot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-head.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-head.png Binary files differnew file mode 100755 index 000000000..d64801d93 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-head.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-main.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-main.png Binary files differnew file mode 100755 index 000000000..7a5ce5971 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/background-main.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/dot.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/dot.png Binary files differnew file mode 100755 index 000000000..4f466baaf --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/dot.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/dot2.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/dot2.png Binary files differnew file mode 100755 index 000000000..77c1eb9bc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/dot2.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/h1icon.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/h1icon.png Binary files differnew file mode 100755 index 000000000..ff68fc4f5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/h1icon.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/link.png Binary files differnew file mode 100755 index 000000000..c51f5d675 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/logo.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/logo.png Binary files differnew file mode 100755 index 000000000..0f5e534d5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/logo.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/mail.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/mail.png Binary files differnew file mode 100755 index 000000000..09f67dbd9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pics/mail.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pretty.css new file mode 100755 index 000000000..ac95cf929 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/pretty.css @@ -0,0 +1,543 @@ +/* Following are the presentation styles -- edit away! */ + +body +{ + background: #FFF url(pics/background-main.png) top left no-repeat; + color: #000; font-size: 2em; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; +/* font-family: Arial, Helvetica, sans-serif; */ + +} + +:link, :visited +{ + text-decoration: none; + color: #00C; +} + + + +h1, h2, h3, h4 +{ + font-size: 100%; + margin: 0; + padding: 0; + font-weight: inherit; +} + +h1 abbr +{ + font-variant: small-caps; +} + +ul, pre +{ + margin: 0; + line-height: 1em; +} + +html, body +{ + margin: 0; + padding: 0; +} + +blockquote, q +{ + font-style: italic; +} + +blockquote +{ + padding: 0 2em 0.5em; + margin: 0 1.5em 0.5em; + text-align: center; + font-size: 1em; +} + +blockquote p +{ + margin: 0; +} + +blockquote i +{ + font-style: normal; +} + +blockquote b +{ + display: block; + margin-top: 0.5em; + font-weight: normal; + font-size: smaller; + font-style: normal; +} + +blockquote b i +{ + font-style: italic; +} + +kbd +{ + font-weight: bold; + font-size: 1em; +} + +sup +{ + font-size: smaller; + line-height: 1px; +} + + +ul.urls +{ + list-style: none; + display: inline; + margin: 0; +} + +.urls li +{ + display: inline; + margin: 0; +} + +.notes +{ + display: none; +} + +.external +{ +/* border-bottom: 1px dashed #0404cd !important; */ + border-bottom: 1px dashed #0404cd; + + background:url(pics/link.png) right bottom no-repeat; + padding-right:0.5em; +} + +html>body .external +{ + border-bottom: none; +} + +.external:after +{ + +/* content: " \274F"; */ + font-size: smaller; + color: #8f89c0; +} + +.mail +{ + background:url(pics/mail.png) right bottom no-repeat; + padding-right:0.8em; + +} + +.incremental, .incremental * , .incremental *:after +{ + color: #fff; + visibility: visible; + list-style: none !important; +} + +img.incremental +{ + visibility: hidden; +} + +.slide .current +{ + color: #fff; +/* visibility: hidden; */ + /*jesusda añadido */ +} + + +/* ============== */ +/* === SLIDES === */ +/* ============== */ + +.slide code +{ + padding: 2px 0.25em; + font-weight: bold; + color: #533; +} + +.slide code.bad, code del +{ + color: red; +} + +.slide code.old +{ + color: silver; +} + +.slide pre +{ + padding: 0; + margin: 0.25em 0 0.5em 0.5em; + color: #533; + font-size: 90%; +} + +.slide pre code +{ + display: block; +} + +.slide ul +{ + margin-left: 5%; + margin-right: 7%; + margin-top:1em; + list-style: disc; +} + +.slide li +{ + margin-top: 0.75em; + margin-right: 0; + list-style-image:url(pics/dot.png); +} + +.slide ul ul +{ + line-height: 1.5; +} + +.slide ul ul li +{ + margin: .2em; + font-size: 85%; +/* list-style: square; */ + list-style-image:url(pics/dot2.png); + +} + +.slide img.leader +{ + display: block; + margin: 0 auto; +} + + +/* ========================= */ +/* === HEADER AND FOOTER === */ +/* ========================= */ + +div#logo +{ + position:absolute; + top:0%; + right:0%; + background:url(pics/logo.png) 50% 50% no-repeat; + height:250%; + width:250px; +} + +div#header, div#footer +{ + background: #a80231; + color: #FFF; +} + + +div#header +{ + background:#5c3566 url(pics/background-head.png) bottom left repeat-x; + line-height: 1px; +} + +div#footer +{ + background:#5c3566 url(pics/background-foot.png) top left repeat-x; + font-size: 0.5em; + font-weight: bold; + padding: 1em 0; +} + + + + + +#footer h1, #footer h2 +{ + display: block; + padding: 0 1em; +} + +#footer h2 +{ + font-style: italic; +} + + + +/* ============== */ +/* === CLASES === */ +/* ============== */ + +div.long +{ + font-size: 0.75em; +} + +.slide h1 +{ + position: absolute; + top: 0.7em; + left: 87px; + z-index: 1; + margin: 0; + padding: 0.3em 0 0 50px; + white-space: nowrap; + font-weight: bold; + font-size: 150%/1em; + + text-transform: capitalize; + color: #fff; + + background: url(pics/h1icon.png) left bottom no-repeat transparent; + + +} + +.slide h2 +{ + font-size: 130%; + color:#5b3566; +} + + +.slide h3 +{ + font-size: 130%; +} + +/* ================ */ +/* === CONTROLS === */ +/* ================ */ + +#currentSlide +{ + text-align: center; + font-size: 0.6em; + font-weight:bold; + color: #fff; + +} + +#slide0 +{ + padding-top: 3.5em; + font-size: 90%; +} + +#slide0 h1 +{ + position: static; + margin: 1em 0 0; + padding: 0; + /*font: bold 2em Helvetica, sans-serif;*/ + font-weight: bold; + font-size:2em; + white-space: normal; + color: #000; + background: transparent; +} + +#slide0 h2 +{ + font-weight: bold; + font-style: italic; + font-size: 1em; + margin: 0.25em; +} + +#slide0 h3 +{ + margin-top: 1.5em; + font-size: 1.5em; +} + +#slide0 h4 +{ + margin-top: 0; + font-size: 1em; +} + +/* ================ */ +/* === JESUSDA === */ +/* ================ */ + +.first-pic +{ + + float:right; + margin-top:-2em; +} + +/* ================ */ + +.align-center +{ + text-align:center; +} +/* ================ */ + +.float-left , .left-column +{ + float:left !important; + width:49% !important; +} + +.float-right , .right-column +{ + float:right !important; + width:49% !important; +} +/* ================ */ +.fullscreen +{ + z-index:1000 !important; + position:fixed !important; + top:0; + left:0; + width:100% !important; + height:100% !important; + + background: #fff url(pics/background-main.png) top left no-repeat; + + text-align:center; + margin-left:-1.65em; + +} + +.fullscreen h1 +{ + display:none; +} + +.rotulo +{ + font-size:800%; + text-align:center; + margin-top:-0.05em; + +} + +.align-center img +{ + margin:auto; + text-align:center; +} + +/* ================ */ + + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/print.css new file mode 100755 index 000000000..e7a71d145 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;}
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/ultraviolet/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/bkgr.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/bkgr.jpg Binary files differnew file mode 100644 index 000000000..bf03b4ece --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/bkgr.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/blank.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/blank.gif Binary files differnew file mode 100644 index 000000000..75b945d25 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/blank.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/bodybg.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/bodybg.gif Binary files differnew file mode 100644 index 000000000..5f448a16f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/bodybg.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/buzzsaw.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/buzzsaw.gif Binary files differnew file mode 100644 index 000000000..24f086168 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/buzzsaw.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/buzzsaw.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/buzzsaw.png Binary files differnew file mode 100644 index 000000000..4b2864ea2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/buzzsaw.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/framing.css new file mode 100644 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/iepngfix.htc b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/iepngfix.htc new file mode 100644 index 000000000..bba2db756 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/iepngfix.htc @@ -0,0 +1,42 @@ +<public:component>
+<public:attach event="onpropertychange" onevent="doFix()" />
+
+<script>
+
+// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
+// Free usage permitted as long as this notice remains intact.
+
+// This must be a path to a blank image. That's all the configuration you need here.
+var blankImg = 'ui/default/blank.gif';
+
+var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
+
+function filt(s, m) {
+ if (filters[f]) {
+ filters[f].enabled = s ? true : false;
+ if (s) with (filters[f]) { src = s; sizingMethod = m }
+ } else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
+}
+
+function doFix() {
+ if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
+ (event && !/(background|src)/.test(event.propertyName))) return;
+
+ if (tagName == 'IMG') {
+ if ((/\.png$/i).test(src)) {
+ filt(src, 'image'); // was 'scale'
+ src = blankImg;
+ } else if (src.indexOf(blankImg) < 0) filt();
+ } else if (style.backgroundImage) {
+ if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
+ var s = RegExp.$1;
+ style.backgroundImage = '';
+ filt(s, 'crop');
+ } else filt();
+ }
+}
+
+doFix();
+
+</script>
+</public:component>
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/opera.css new file mode 100644 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/outline.css new file mode 100644 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pretty.css new file mode 100644 index 000000000..1fe145578 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/pretty.css @@ -0,0 +1 @@ +/* Following are the presentation styles -- edit away! */
body {background: #F6EAD2 url(bkgr.jpg) left top no-repeat; color: #000; font-size: 2em;}
:link, :visited {text-decoration: none; color: #00C;}
#controls :active {color: #88A !important;}
#controls :focus {outline: 1px dotted #227;}
h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;}
ul, pre {margin: 0; line-height: 1em;}
html, body {margin: 0; padding: 0;}
blockquote, q {font-style: italic;}
blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;}
blockquote p {margin: 0;}
blockquote i {font-style: normal;}
blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;}
blockquote b i {font-style: italic;}
kbd {font-weight: bold; font-size: 1em;}
sup {font-size: smaller; line-height: 1px;}
.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;}
.slide code.bad, code del {color: red;}
.slide code.old {color: silver;}
.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;}
.slide pre code {display: block;}
.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;}
.slide li {margin-top: 0.75em; margin-right: 0;}
.slide ul ul {line-height: 1;}
.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;}
.slide img.leader {display: block; margin: 0 auto;}
div#header, div#footer {background: #000; color: #fdf6e7;
font-family: Verdana, Helvetica, sans-serif;}
div#header {background: #000 url(buzzsaw.gif) left top no-repeat;
line-height: 1px;}
div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;}
#footer h1, #footer h2 {display: block; padding: 0 1em;}
#footer h2 {}
div.long {font-size: 0.75em;}
.slide h1 {position: absolute; top: 0.4em; left: 150px; z-index: 1;
margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap;
font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize;
color: #DDE; background: #000;}
.slide h3 {font-size: 130%;}
h1 abbr {font-variant: small-caps;}
div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;}
html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;}
#controls #sheet {display: none;}
#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;}
#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;}
#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;}
#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;}
#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;}
#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;}
#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;}
#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;}
#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;}
#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;}
#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;}
#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;}
#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;}
#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;}
#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;}
#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;}
#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;}
#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;}
#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;}
#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;}
#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;}
#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;}
#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;}
#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;}
#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;}
#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;}
#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;}
#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;}
#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;}
#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;}
#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;}
#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;}
#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;}
#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;}
#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;}
#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;}
#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;}
#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;}
#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;}
#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;}
#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;}
#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;}
#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;}
#slide0 {padding-top: 3.5em; font-size: 90%;}
#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;}
#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;}
#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;}
#slide0 h4 {margin-top: 0; font-size: 1em;}
ul.urls {list-style: none; display: inline; margin: 0;}
.urls li {display: inline; margin: 0;}
.external {border-bottom: 1px dotted gray;}
html>body .external {border-bottom: none;}
.external:after {content: " \274F"; font-size: smaller; color: #999;}
.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;}
img.incremental, canvas.incremental {visibility: hidden;}
.slide .current {color: #B02;}
/* diagnostics
li:after {content: " [" attr(class) "]"; color: #F88;}
*/
table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; }
table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; }
table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; }
table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; }
table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; }
table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; }
table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; }
table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; }
#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;}
#soundmanager-debug code {font-size: 11px;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/print.css new file mode 100644 index 000000000..e7a71d145 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;}
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout * {display: none !important;}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/s5-core.css new file mode 100644 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/slides.css new file mode 100644 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/vmc/zero_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_link.png Binary files differnew file mode 100644 index 000000000..daa740c40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_on.png Binary files differnew file mode 100644 index 000000000..cd590aae9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_over.png Binary files differnew file mode 100644 index 000000000..cf537a008 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/audio_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_link.png Binary files differnew file mode 100644 index 000000000..1c2ca4817 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_on.png Binary files differnew file mode 100644 index 000000000..4b0c923b8 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_over.png Binary files differnew file mode 100644 index 000000000..dbea88975 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/auto_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/backgrnd.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/backgrnd.png Binary files differnew file mode 100644 index 000000000..0e48413d3 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/backgrnd.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/bodybg.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/bodybg.gif Binary files differnew file mode 100644 index 000000000..941489d40 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/bodybg.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/button.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/button.gif Binary files differnew file mode 100644 index 000000000..af280dea2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/button.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/delay_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/delay_link.png Binary files differnew file mode 100644 index 000000000..c4d99cd57 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/delay_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/exit_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/exit_link.png Binary files differnew file mode 100644 index 000000000..1bfd38790 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/exit_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/exit_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/exit_over.png Binary files differnew file mode 100644 index 000000000..0fdd1c605 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/exit_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_link.png Binary files differnew file mode 100644 index 000000000..482e4d53e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_on.png Binary files differnew file mode 100644 index 000000000..e12561fb2 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_over.png Binary files differnew file mode 100644 index 000000000..fb8943c98 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/fade_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/footer.jpg b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/footer.jpg Binary files differnew file mode 100644 index 000000000..49370dbba --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/footer.jpg diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/framing.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/framing.css new file mode 100755 index 000000000..14d8509e9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/framing.css @@ -0,0 +1,23 @@ +/* The following styles size, place, and layer the slide components. + Edit these if you want to change the overall slide layout. + The commented lines can be uncommented (and modified, if necessary) + to help you with the rearrangement process. */ + +/* target = 1024x768 */ + +div#header, div#footer, .slide {width: 100%; top: 0; left: 0;} +div#header {top: 0; height: 3em; z-index: 1;} +div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;} +.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;} +div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;} +div#controls form {position: absolute; bottom: 0; right: 0; width: 100%; + margin: 0;} +#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;} +html>body #currentSlide {position: fixed;} + +/* +div#header {background: #FCC;} +div#footer {background: #CCF;} +div#controls {background: #BBD;} +div#currentSlide {background: #FFC;} +*/ diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/head.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/head.gif Binary files differnew file mode 100644 index 000000000..cd6910106 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/head.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/header.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/header.png Binary files differnew file mode 100644 index 000000000..929dabba1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/header.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/last_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/last_link.png Binary files differnew file mode 100644 index 000000000..4f158d35d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/last_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/last_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/last_over.png Binary files differnew file mode 100644 index 000000000..a7b629995 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/last_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/list_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/list_link.png Binary files differnew file mode 100644 index 000000000..7e299bb50 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/list_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_link.png Binary files differnew file mode 100644 index 000000000..41e12cb15 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_on.png Binary files differnew file mode 100644 index 000000000..2ffcacae1 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_over.png Binary files differnew file mode 100644 index 000000000..9fe420153 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/loop_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/next_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/next_link.png Binary files differnew file mode 100644 index 000000000..2b9f44c4d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/next_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/next_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/next_over.png Binary files differnew file mode 100644 index 000000000..25788124d --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/next_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/notes_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/notes_link.png Binary files differnew file mode 100644 index 000000000..bb4a8ae37 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/notes_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/notes_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/notes_over.png Binary files differnew file mode 100644 index 000000000..c6bfe69fc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/notes_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/opera.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/opera.css new file mode 100755 index 000000000..9e9d2a3c5 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/opera.css @@ -0,0 +1,7 @@ +/* DO NOT CHANGE THESE unless you really want to break Opera Show */ +.slide { + visibility: visible !important; + position: static !important; + page-break-before: always; +} +#slide0 {page-break-before: avoid;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/outline.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/outline.css new file mode 100755 index 000000000..62db519ed --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/outline.css @@ -0,0 +1,15 @@ +/* don't change this unless you want the layout stuff to show up in the outline view! */ + +.layout div, #footer *, #controlForm * {display: none;} +#footer, #controls, #controlForm, #navLinks, #toggle { + display: block; visibility: visible; margin: 0; padding: 0;} +#toggle {float: right; padding: 0.5em;} +html>body #toggle {position: fixed; top: 0; right: 0;} + +/* making the outline look pretty-ish */ + +#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;} +#slide0 h1 {padding-top: 1.5em;} +.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em; + border-top: 1px solid #888; border-bottom: 1px solid #AAA;} +#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_link.png Binary files differnew file mode 100644 index 000000000..2561cb4a4 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_on.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_on.png Binary files differnew file mode 100644 index 000000000..2fc9c4a4a --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_on.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_over.png Binary files differnew file mode 100644 index 000000000..7a7c80ddc --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pause_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pretty.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pretty.css new file mode 100644 index 000000000..75f69c3f7 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/pretty.css @@ -0,0 +1,221 @@ +/* Following are the presentation styles -- edit away! + Note that the 'body' font size may have to be changed if the resolution is + different than expected. */ + +body {background: #f3f3f3 url(bodybg.gif); color: #000; font-size: 2em; font-family: Verdana, Arial, sans-serif;} + +a { + color: #c30; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +:link, :visited {text-decoration: none;} +#controls :active {color: #333 !important;} +#controls :focus {outline: none;} +h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;} +ul, pre {margin: 0; line-height: 1em;} +html, body {margin: 0; padding: 0;} + +blockquote, q {font-style: italic;} +blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;} +blockquote p {margin: 0;} +blockquote i {font-style: normal;} +blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;} +blockquote b i {font-style: italic;} + +kbd {font-weight: bold; font-size: 1em;} +sup {font-size: smaller; line-height: 1px;} + +code {padding: 2px 0.25em; font-weight: bold; color: #555;} +code.bad, code del {color: red;} +code.old {color: silver;} +pre {font-size: .7em; + margin: 0 auto; + background-color: #f3f3f3; + border: 1px solid #d5d5d5; + width: 80%; + padding: 20px;} +pre code {display: block;} +pre code span { + font-weight: normal; + font-size: 0.98em; +} +ul {margin-left: 85px; margin-right: 3%; list-style: disc; padding: 0;} +li {margin-top: 5px; margin-right: 0;} +ul ul {line-height: 1;} +ul ul li {margin: .2em; font-size: 85%; list-style: square;} +p, li { + line-height: 1.2; +} +img.leader {display: block; margin: 0 auto;} + + +div#header, div#footer {color: #AAB; + font-family: Verdana, Helvetica, sans-serif;} +div#header {background: #f3f3f3 url(head.gif) repeat-x top; + line-height: 1px;} +div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0; color: #666;} +#footer h1, #footer h2 {display: block; padding: 0 1em;} +#footer h2 {margin-top: 0.5em;} + +div.long {font-size: 0.75em;} +.slide h1 {position: absolute; top: 0.8em; left: 0; z-index: 1; + margin-left: 85px; padding: 0; white-space: nowrap; + font-weight: bold; font-size: 150%; line-height: 1; + color: #f3f3f3;} +.slide h3 {font-size: 130%;} +h1 abbr {font-variant: small-caps;} + +#toggle, #prev, #next { + display: block; + width: 35px; height: 35px; + line-height: 35px; + float: left; + background: url(button.gif) no-repeat 0 0; +} +#toggle { + +} +#next { + text-align: left; +} + +#currentSlide {text-align: center; font-size: 0.5em; color: #666; font-weight: bold;} +#currentSlide span {display: none;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 1.33em; padding: 5px 0 5px 20px; + font: bold 2.2em Arial, Verdana, sans-serif; white-space: normal; + color: #000; background: transparent url(slide0h1.gif) no-repeat left bottom; + text-transform: none; } +#slide0 h3 {margin-top: 0.3em; font-size: 1.2em;} +#slide0 h4 {margin:0; font-size: 0.9em;} + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.notes {display: none;} + +acronym { + font-size: 90%; +} + +div.image { + margin: 0 auto; + text-align: center; + background-color: #f3f3f3; + border: 1px solid #000; + font-size: 0.66%; + width: 400px; + padding: 20px; +} + +p { + margin-left: 85px; +} + +div.image p, #slide0 p { + margin-left: 0; +} + +div#controls {position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; font: bold 1em Verdana, Arial, Helvetica, sans-serif;} +html>body div#controls {background: transparent; position: fixed; padding: 0; top: auto; text-align: center;} +#controls #sheet {display: none;} +#controls #controlForm {height: 32px; width: 100%; text-align: center; vertical-align: middle;} +#controls #navLinks {border-top: 1px solid #999; overflow: hidden; padding: 0; margin: 0; height: 32px; width: 100%; background-color: #808080; text-align: center; vertical-align: middle; white-space: nowrap;} +#controls #navLinks ul {margin: 0 auto; padding: 0; height: 32px; width: 500px; white-space: nowrap; text-align: center;} +#controls #navLinks ul li {list-style: none; display: inline; margin: 0; padding: 0; float: left; height: 32px; width: 32px; text-align: center; background-color: transparent;} +#controls #navLinks ul li.vr {list-style: none; display: inline; margin: 0px 2px; padding: 0; float: left; height: 32px; width: 1px; text-align: center; background-color: #606060;} +#controls #navLinks ul li a {margin: 0; padding: 0; float: left; height: 32px; width: 32px; background-color: transparent;} + +#controls #navLinks ul li#exit {background: url(exit_link.png) no-repeat top left;} +#controls #navLinks ul li#exit a:hover {background: url(exit_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#toggle {background: url(toggle_link.png) no-repeat top left;} +#controls #navLinks ul li#toggle a:hover {background: url(toggle_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#show-notes {background: url(notes_link.png) no-repeat top left;} +#controls #navLinks ul li#show-notes a:hover {background: url(notes_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#zero {background: url(zero_link.png) no-repeat top left;} +#controls #navLinks ul li#zero a:hover {background: url(zero_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#prev {background: url(prev_link.png) no-repeat top left;} +#controls #navLinks ul li#prev a:hover {background: url(prev_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#next {background: url(next_link.png) no-repeat top left;} +#controls #navLinks ul li#next a:hover {background: url(next_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#last {background: url(last_link.png) no-repeat top left;} +#controls #navLinks ul li#last a:hover {background: url(last_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#lst {background: url(list_link.png) no-repeat top left;} + +#controls #navLinks ul li#fade a.isoff {background: url(fade_link.png) no-repeat top left;} +#controls #navLinks ul li#fade a.ison {background: url(fade_on.png) no-repeat top right;} +#controls #navLinks ul li#fade a:hover {background: url(fade_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#audio {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.isoff {background: url(audio_link.png) no-repeat top left;} +#controls #navLinks ul li#audio a.ison {background: url(audio_on.png) no-repeat top right;} +#controls #navLinks ul li#audio a:hover {background: url(audio_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#vol {background: url(volume_link.png) no-repeat top left;} + +#controls #navLinks ul li#auto a.isoff {background: url(auto_link.png) no-repeat top left;} +#controls #navLinks ul li#auto a.ison {background: url(auto_on.png) no-repeat top right;} +#controls #navLinks ul li#auto a:hover {background: url(auto_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#pause a.isoff {background: url(pause_link.png) no-repeat top left;} +#controls #navLinks ul li#pause a.ison {background: url(pause_on.png) no-repeat top right;} +#controls #navLinks ul li#pause a:hover {background: url(pause_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#loop a.isoff {background: url(loop_link.png) no-repeat top left;} +#controls #navLinks ul li#loop a.ison {background: url(loop_on.png) no-repeat top right;} +#controls #navLinks ul li#loop a:hover {background: url(loop_over.png) no-repeat bottom left;} + +#controls #navLinks ul li#del {background: url(delay_link.png) no-repeat top left;} + +#jumplist, #volumelist, #delaylist {padding: 0; margin: 0; width: 32px; height: 32px; cursor: n-resize;} + +#guru {position: absolute; visibility: visible; left: 0px; top: 0px; padding: 4px; width: 99%; height: auto; text-align: center; background-color: black; z-index: 10;} +#guru div {border: solid 3px red; padding: 4px; font-family: monospace; font-size: 60%; width: auto; height: auto; color: red; text-align: center;} + +/* +#currentSlide {white-space: nowrap; text-align: center; margin-bottom: -0.5em; font-size: 0.5em; background-color: transparent; color: #999;} + +#slide0 {padding-top: 3.5em; font-size: 90%;} +#slide0 h1 {position: static; margin: 1em 0 0; padding: 0; font: bold 2em Verdana, Arial, Helvetica, sans-serif; font-variant: small-caps; text-shadow: 0.1em 0.1em 0.1em #666; white-space: normal; color: #222; background-color: transparent;} +#slide0 h2 {font: bold italic 1em Arial, Helvetica, sans-serif; margin: 0.25em;} +#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;} +#slide0 h4 {margin-top: 0; font-size: 1em;} +*/ + +ul.urls {list-style: none; display: inline; margin: 0;} +.urls li {display: inline; margin: 0;} +.external {border-bottom: 1px dotted gray;} +html>body .external {border-bottom: none;} +.external:after {content: " \274F"; font-size: smaller; color: #999;} + +.incremental, .incremental *, .incremental *:after {color: #ccc; visibility: visible;} +img.incremental, canvas.incremental {visibility: hidden;} +.slide .current {color: #B02;} + +/* diagnostics +li:after {content: " [" attr(class) "]"; color: #F88;} +*/ + +table.piechart, table.barchart, table.linechart { border-spacing: 0.3em 0.15em; } +table.piechart tr th, table.barchart tr th, table.linechart tr th { white-space: nowrap; } +table.piechart tr td, table.barchart tr td, table.linechart tr td { vertical-align: top; white-space: nowrap; } +table.piechart tr td.col, table.barchart tr td.col, table.linechart tr td.col { border-bottom: 1px solid #555; border-right: 1px solid #555; } +table.fs90 tr td, table.fs90 tr th, div.fs90, pre.fs90, p.fs90 ,ul.fs90 {font-size: 0.9em; } +table.fs75 tr td, table.fs75 tr th, div.fs75, pre.fs75, p.fs75 ,ul.fs75 {font-size: 0.75em; } +table.fs66 tr td, table.fs66 tr th, div.fs66, pre.fs66, p.fs66 ,ul.fs66 {font-size: 0.66em; } +table.fs50 tr td, table.fs50 tr th, div.fs50, pre.fs50, p.fs50 ,ul.fs50 {font-size: 0.5em; } + +#soundmanager-debug {position:fixed; top:0px; right:0px; width:30em; height:20em; overflow:auto; border:1px solid red; padding:1em; margin:2em; font-family:"sans serif"; font-size: 12px;color: black; background-color:#f6f6f6; z-index: 100;} +#soundmanager-debug code {font-size: 11px;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/prev_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/prev_link.png Binary files differnew file mode 100644 index 000000000..c31d21350 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/prev_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/prev_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/prev_over.png Binary files differnew file mode 100644 index 000000000..6fef4fa52 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/prev_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/print.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/print.css new file mode 100755 index 000000000..220083260 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/print.css @@ -0,0 +1 @@ +/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul
{
page-break-inside: avoid;
visibility: visible !important;
}
h1
{
page-break-after: avoid;
}
html
{
width:100%;
overflow:hidden;
}
body
{
font-size: 12pt;
background: white;
width:100%;
}
*
{
color: black;
}
#slide0 h1
{
font-size: 200%;
border: none;
margin: 0.5em 0 0.25em;
}
#slide0 h3
{
margin: 0;
padding: 0;
}
#slide0 h4
{
margin: 0 0 0.5em;
padding: 0;
}
#slide0
{
margin-bottom: 3em;
}
h1
{
border-top: 2pt solid gray;
border-bottom: 1px dotted silver;
padding:0.2em 0 0.3em 0;
}
.extra
{
background: transparent !important;
}
div.extra, pre.extra, .example
{
font-size: 10pt; color: #333;
}
ul.extra a
{
font-weight: bold;
}
p.example
{
display: none;
}
#header
{
display: none;
}
#footer h1
{
margin: 0;
border-bottom: 1px solid;
color: gray;
font-style: italic;
}
#footer h2, #controls
{
display: none;
}
div.handout
{
display:block;
border-top: 2px dotted #ccc;
background:url(pics/back-handout-print.png) top right no-repeat #fff;
min-height:6em;
padding-right:6em;
margin-bottom:1em;
}
.slide
{
display:block;
background:url(pics/back-slide-print.png) top right no-repeat #fff;
min-height:6em;
margin-bottom:1em;
}
table
{
display:block;
/* display:none; */
font-size:90%;
overflow:hidden;
margin-top:1em;
margin-bottom:1em;
}
pre , code
{
margin:0;
font-size:1pt;
overflow:auto;
}
img
{
max-width:100% !important;
}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout *
{
display: none !important;
}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/s5-core.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/s5-core.css new file mode 100755 index 000000000..86444e041 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/s5-core.css @@ -0,0 +1,9 @@ +/* Do not edit or override these styles! The system will likely break if you do. */ + +div#header, div#footer, div#controls, .slide {position: absolute;} +html>body div#header, html>body div#footer, + html>body div#controls, html>body .slide {position: fixed;} +.handout {display: none;} +.layout {display: block;} +.slide, .hideme, .incremental {visibility: hidden;} +#slide0 {visibility: visible;} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slide0h1.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slide0h1.gif Binary files differnew file mode 100644 index 000000000..886235eb9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slide0h1.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slides.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slides.css new file mode 100755 index 000000000..0786d7dbd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slides.css @@ -0,0 +1,3 @@ +@import url(s5-core.css); /* required to make the slide show run at all */ +@import url(framing.css); /* sets basic placement and size of slide components */ +@import url(pretty.css); /* stuff that makes the slides look better than blah */
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slides.js b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slides.js new file mode 100644 index 000000000..510a04c0e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/slides.js @@ -0,0 +1,2812 @@ +// S5 1.3beta7 (18-Apr-2007) advanced version by C. Effenberger +// Please see http://s5.netzgesta.de/ for more information +// based on S5 v1.2a1 slides.js -- released into the Public Domain +// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information +// about all the wonderful and talented contributors to this code! +// audio extension: soundmanager2 is NOT Public Domain +// Please see http://www.schillmania.com/projects/soundmanager2/ for information + +var undef; +var slideCSS = ''; +var snum = 0; +var smax = 1; +var incpos = 0; +var number = undef; +var firstTime = 1; +var s5mode = true; +var helpmode = false; +var defaultView = 'slideshow'; //outline +var controlVis = 'visible'; +var s5Path = 'lib/plugins/s5reloaded/'; + +// scalable images extension +var empx = 0; +var images = new Array(); +var canvas = new Array(); +var medias = new Array(); +var piecharts = new Array(); +var barcharts = new Array(); +var linecharts = new Array(); +// scalable images extension + +// transition extension +var tranSitions = false; +var fadeModus = false; +var fadeDuration = 500; +var incrDuration = 250; +var opac = 1; +var cid = ''; +var nid = ''; +var tid = ''; +var jl = ''; +// transition extension + +// autoplay extension +var autoMatic = false; +var playLoop = false; +var playPause = false; +var autoRun = false; +var playDelay = 5000; +var remainDer = 0; +var incrDelay = 0; +// autoplay extension + +// audio extension +var sound = new Array(); +var audioSupport = false; +var audioVolume = 100; +var audioError = false; +var swfUnloaded = true; +var bgSoundItem = 9999; +var curSoundID = -1; +// audio extension + +// panel extension +var imgWidth = 32; +var imgHeight = 32; +// panel extension + +// canvas chart extension +var canvasSupport = false; +var ChartData = new Array(); +var colorSlice = new Array(); +var font = document.createElement("img"); +font.setAttribute("src", s5Path+"ui/graphic_support/numeric.png"); +signs = { + '0': {sx: 0, sy: 0, sw: 48, sh: 64}, + '1': {sx: 48, sy: 0, sw: 48, sh: 64}, + '2': {sx: 96, sy: 0, sw: 48, sh: 64}, + '3': {sx: 144, sy: 0, sw: 48, sh: 64}, + '4': {sx: 192, sy: 0, sw: 48, sh: 64}, + '5': {sx: 240, sy: 0, sw: 48, sh: 64}, + '6': {sx: 288, sy: 0, sw: 48, sh: 64}, + '7': {sx: 336, sy: 0, sw: 48, sh: 64}, + '8': {sx: 384, sy: 0, sw: 48, sh: 64}, + '9': {sx: 432, sy: 0, sw: 48, sh: 64}, + '%': {sx: 480, sy: 0, sw: 48, sh: 64}, + '.': {sx: 528, sy: 0, sw: 24, sh: 64} +}; +var colorNames= new Array(); +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"; +var canvas_bgcolor = ""; +var canvas_width = 200; +var canvas_height = 200; +var canvas_noshade = 0; +var canvas_nofill = 0; +var canvas_noshadow = 0; +var canvas_htmltext = 0; +var canvas_imgtext = 0; +var canvas_notext = 0; +// canvas chart extension + +var s5NotesWindow; +var s5NotesWindowLoaded = false; +var previousSlide = 0; +var presentationStart = new Date(); +var slideStart = new Date(); + +var countdown = { + timer: 0, + state: 'pause', + start: new Date(), + end: 0, + remaining: 0 +}; + +var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0; +if(isIE) var notIE7 = parseInt(navigator.appVersion) < 7 ? 1 : 0; +var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0; +var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0; +var isS2 = navigator.userAgent.indexOf('Safari') >= 2 ? 1 : 0; + +function hasClass(object, className) { + if (!object.className) return false; + return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1); +} + +function hasValue(object, value) { + if (!object) return false; + return (object.search('(^|\\s)' + value + '(\\s|$)') != -1); +} + +function removeClass(object,className) { + if (!object || !hasClass(object,className)) return; + object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2); +} + +function addClass(object,className) { + if (!object || hasClass(object, className)) return; + if (object.className) { + object.className += ' '+className; + } else { + object.className = className; + } +} + +function changeClass(object,className) { + if (!object) return; + object.firstChild.className = className; +} + +function GetElementsWithClassName(elementName,className) { + var allElements = document.getElementsByTagName(elementName); + var elemColl = new Array(); + for (var i = 0; i< allElements.length; i++) { + if (hasClass(allElements[i], className)) { + elemColl[elemColl.length] = allElements[i]; + } + } + return elemColl; +} + +function isParentOrSelf(element, id) { + if (element == null || element.nodeName=='BODY') return false; + else if (element.id == id) return true; + else return isParentOrSelf(element.parentNode, id); +} + +function nodeValue(node) { + var result = ""; + if (node.nodeType == 1) { + var children = node.childNodes; + for (var i = 0; i < children.length; ++i) { + result += nodeValue(children[i]); + } + } + else if (node.nodeType == 3) { + result = node.nodeValue; + } + return(result); +} + +function slideLabel() { + var slideColl = GetElementsWithClassName('*','slide'); + var list = document.getElementById('jumplist'); + smax = slideColl.length; + for (var n = 0; n < smax; n++) { + var obj = slideColl[n]; + var did = 'slide' + n.toString(); + obj.setAttribute('id',did); + var otext = ''; + var menu = obj.firstChild; + if (!menu) continue; // to cope with empty slides + while (menu && menu.nodeType == 3) { + menu = menu.nextSibling; + } + if (!menu) continue; // to cope with slides with only text nodes + var menunodes = menu.childNodes; + for (var o = 0; o < menunodes.length; o++) { + otext += nodeValue(menunodes[o]); + } + list.options[list.length] = new Option(n + ' : ' + otext, n); + } +} + +function currentSlide() { + var cs, at, fd, ss; + if (document.getElementById) { + cs = document.getElementById('currentSlide'); + } else { + cs = document.currentSlide; + } + fd = fadeModus?"F":"–"; + ss = audioSupport?"S":"–"; + at = (autoMatic?(playPause?"||":(playLoop?">0":">|")):"––"); + cs.innerHTML = '<div id="plink" nowrap="nowrap">' + + '<span id="csFade">[' + fd + ss + ']<\/span> ' + + '<span id="csHere"><strong>' + snum + '<\/strong><\/span>' + + '<span id="csSep">\/<\/span>' + + '<span id="csTotal">' + (smax-1) + '<\/span> ' + + '<span id="csAuto">[' + at + ']<\/span>' + + '<\/div>'; + + if (snum == 0) { + cs.style.visibility = 'hidden'; + } else { + cs.style.visibility = 'visible'; + } +} + +function go(step) { + if (document.getElementById('slideProj').disabled || step == 0) return; + jl = document.getElementById('jumplist'); + cid = 'slide' + snum; + var ce = document.getElementById(cid); + if (incrementals[snum].length > 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + removeClass(incrementals[snum][i], 'current'); + removeClass(incrementals[snum][i], 'incremental'); + } + } + if (step != 'j') { + snum += step; + lmax = smax - 1; + if (snum > lmax) snum = lmax; + if (snum < 0) snum = 0; + }else { + snum = parseInt(jl.value); + } + nid = 'slide' + snum; + var ne = document.getElementById(nid); + if (!ne) { + ne = document.getElementById('slide0'); + nid = 'slide0'; + snum = 0; + } + if (step < 0) { + incpos = incrementals[snum].length + }else { + incpos = 0; + } + if (incrementals[snum].length > 0 && incpos == 0) { + for (var i = 0; i < incrementals[snum].length; i++) { + if (hasClass(incrementals[snum][i], 'current')) { + incpos = i + 1; + }else { + addClass(incrementals[snum][i], 'incremental'); + } + } + } + if (incrementals[snum].length > 0 && incpos > 0) { + addClass(incrementals[snum][incpos - 1], 'current'); + } + var guru = document.getElementById('guru'); + if(guru && snum==0) { + guru.style.visibility = 'visible'; + }else if(guru && snum>0) { + guru.style.visibility = 'hidden'; + } + if(tranSitions && s5mode && fadeModus) { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {fadeoutSound(curSoundID,true); } // audio support + } + changeOpac(0,nid); + changeOpac(100,cid); + ce.style.visibility = 'visible'; + shiftOpacity(cid,fadeDuration); + window.setTimeout("changeSlides()",fadeDuration); + }else { + if(curSoundID != getSoundID(nid)) { + if(curSoundID == bgSoundItem && !sound[getSoundID(nid)]) { + }else {stopSound(curSoundID); } // audio support + } + ce.style.visibility = 'hidden'; + if (isOp) location.hash = nid; + ne.style.visibility = 'visible'; + finishSlides(); + } +} + +function changeSlides() { + if(nid != cid) changeOpac(100,cid); + document.getElementById(cid).style.visibility = 'hidden'; + document.getElementById(nid).style.visibility = 'visible'; + if (isOp) location.hash = nid; + shiftOpacity(nid,fadeDuration); + window.setTimeout("finishSlides()",fadeDuration); +} + +function finishSlides() { + jl.selectedIndex = snum; + currentSlide(); + loadNote(); + permaLink(); + number = undef; + if(sound[getSoundID(nid)]) { + playSound(nid); // audio support + }else if(sound[bgSoundItem] && curSoundID != bgSoundItem) { + playSound(bgSoundItem); // audio support + } +} + +function goTo(target) { + if (target >= smax || target == snum) return; + go(target - snum); +} + +function subgo(step) { + if (step > 0) { + removeClass(incrementals[snum][incpos - 1],'current'); + removeClass(incrementals[snum][incpos], 'incremental'); + if(tranSitions && s5mode && fadeModus) { + if(!incrementals[snum][incpos].id) { + var tmp = new Date(); tid = "inc" + String(tmp.getTime()); + incrementals[snum][incpos].id = tid; + }else { + tid = incrementals[snum][incpos].id; + } + if(typeof(incrementals[snum][incpos].src) != "undefined" || incrementals[snum][incpos].getContext) { + changeOpac(0,tid); + addClass(incrementals[snum][incpos],'current'); + shiftOpacity(tid,incrDuration); + setTimeout("nextInc()",incrDuration); + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + }else { + addClass(incrementals[snum][incpos],'current'); + nextInc(); + } + } else { + incpos--; + removeClass(incrementals[snum][incpos],'current'); + addClass(incrementals[snum][incpos], 'incremental'); + addClass(incrementals[snum][incpos - 1],'current'); + loadNote(); + } +} + +function nextInc() { + incpos++; + loadNote(); +} + +function toggle() { + var slideColl = GetElementsWithClassName('*','slide'); + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + var guru = document.getElementById('guru'); + if (!slides.disabled) { + stopPlay(); + if(audioSupport && !swfUnloaded) stopAllSounds(); + slides.disabled = true; + outline.disabled = false; + s5mode = false; + fontSize(1,'em'); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'visible'; + } + if(guru) guru.style.visibility = 'hidden'; + } else { + slides.disabled = false; + outline.disabled = true; + s5mode = true; + fontScale(); + for (var n = 0; n < smax; n++) { + var slide = slideColl[n]; + slide.style.visibility = 'hidden'; + } + slideColl[snum].style.visibility = 'visible'; + if(guru && snum==0) guru.style.visibility = 'visible'; + } +} + +function showHide(action) { + var obj = GetElementsWithClassName('*','hideme')[0]; + switch (action) { + case 's': + obj.style.visibility = 'visible'; + break; + case 'h': + obj.style.visibility = 'hidden'; + break; + case 'k': + if (obj.style.visibility != 'visible') { + obj.style.visibility = 'visible'; + } else { + obj.style.visibility = 'hidden'; + } + break; + } +} + +function keys(key) { + if (!key) { + key = event; + key.which = key.keyCode; + } + if (helpmode) { + dumpHelpReq(); + return; + } + if (key.which == 84 && !isOp) { + toggle(); + return; + } + if (s5mode) { + if (autoMatic) { + switch (key.which) { + case 70: // f/ading on/off + switchFade(); + break; + case 83: // s/ound on/off + toggleSounds(); + break; + case 67: // c + showHide('k'); + break; + case 65: // a/utoplay on/off + stopPlay(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 80: // p/ause + case 32: // spacebar + pausePlay(); + break; + } + }else { + switch (key.which) { + case 8: // backspace = HELP + createHelpReq(); + break; + case 10: // return + case 13: // enter + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + if(number != undef) { + goTo(number); + break; + } + case 32: // spacebar + case 34: // page down + case 39: // rightkey + case 40: // downkey + if(number != undef) { + go(number); + } else if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + break; + case 33: // page up + case 37: // leftkey + case 38: // upkey + if(number != undef) { + go(-1 * number); + } else if (!incrementals[snum] || incpos <= 0) { + go(-1); + } else { + subgo(-1); + } + break; + case 65: // a/utoplay + startPlay(); + break; + case 72: // h + case 36: // home + goTo(0); + break; + case 69: // e + case 35: // end + goTo(smax-1); + break; + case 70: // f/ade transitions on/off + switchFade(); + break; + case 76: // l/ooping on/off + switchLoop(); + break; + case 83: // s/ound support on/off + toggleSounds(); + break; + case 27: // escape + case 81: // q + if(!isOp) byby(); + break; + case 67: // c + showHide('k'); + break; + case 78: // n + createNotesWindow(); + break; + } + if (key.which < 48 || key.which > 57) { + number = undef; + } else { + if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return; + if (key.target && isParentOrSelf(key.target, 'controls')) return; + number = (((number != undef) ? number : 0) * 10) + (key.which - 48); + } + } + } + return false; +} + +function clicker(e) { + number = undef; + var target; + if (window.event) { + target = window.event.srcElement; + e = window.event; + } else { + target = e.target; + } + if (target.href != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true; + if (!helpmode) { + if (!e.which || e.which == 1) { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + } else { + subgo(1); + } + } + } else { + dumpHelpReq(); + } +} + +function findSlide(hash) { + var target = null; + var slides = GetElementsWithClassName('*','slide'); + for (var i = 0; i < slides.length; i++) { + var targetSlide = slides[i]; + if ( (targetSlide.name && targetSlide.name == hash) + || (targetSlide.id && targetSlide.id == hash) ) { + target = targetSlide; + break; + } + } + while(target != null && target.nodeName != 'BODY') { + if (hasClass(target, 'slide')) { + return parseInt(target.id.slice(5)); + } + target = target.parentNode; + } + return null; +} + +function slideJump() { + if (window.location.hash == null) return; + var sregex = /^#slide(\d+)$/; + var matches = sregex.exec(window.location.hash); + var dest = null; + if (matches != null) { + dest = parseInt(matches[1]); + } else { + dest = findSlide(window.location.hash.slice(1)); + } + if (dest != null) + go(dest - snum); +} + +function fixLinks() { + var thisUri = window.location.href; + thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length); + var aelements = document.getElementsByTagName('A'); + for (var i = 0; i < aelements.length; i++) { + var a = aelements[i].href; + var slideID = a.match('\#slide[0-9]{1,2}'); + if ((slideID) && (slideID[0].slice(0,1) == '#')) { + var dest = findSlide(slideID[0].slice(1)); + if (dest != null) { + if (aelements[i].addEventListener) { + aelements[i].addEventListener("click", new Function("e", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "if (e.preventDefault) e.preventDefault();"), true); + } else if (aelements[i].attachEvent) { + aelements[i].attachEvent("onclick", new Function("", + "if (document.getElementById('slideProj').disabled) return;" + + "go("+dest+" - snum); " + + "event.returnValue = false;")); + } + } + } + } +} + +function externalLinks() { + if (!document.getElementsByTagName) return; + var anchors = document.getElementsByTagName('a'); + for (var i=0; i<anchors.length; i++) { + var anchor = anchors[i]; + if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) { + anchor.target = '_blank'; + addClass(anchor,'external'); + } + } +} + +function permaLink() { + document.getElementById('plink').href = window.location.pathname + '#slide' + snum; +} + +function createControls() { + var controlsDiv = document.getElementById("controls"); + if (!controlsDiv) return; + var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"'; + var hideDiv, hideList = ''; + if (controlVis == 'hidden') { + hideDiv = hider; + } else { + hideList = hider; + } + if(isOp) { + var str = ''; + }else { + var str = '<a accesskey="t" id="sheet" title="toggle CSS" href="javascript:toggle();">±<\/a>'; + } + if(isIE) { + var tmp = "move around&xA0;until the color&xA0;change to red!"; + }else if(isS2) { + var tmp = "move around\r\nuntil the color\r\nchange to red!"; + }else { + var tmp = "move around until color change to red!"; + } + if(isIE) { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] for keyboard help!"><ul>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<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>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul><\/div><\/form>'; + }else { + controlsDiv.innerHTML = str + + '<form action="#" id="controlForm"' + hideDiv + '>' + + '<div id="navLinks" title="press [backspace] or double click this area for keyboard help!" ondblclick="createHelpReq();"><ul>' + + '<li id="exit"><a href="javascript:byby();" accesskey="q" title="exit Show"><\/a><\/li>' + + '<li id="show-notes"><a href="javascript:createNotesWindow();" accesskey="n" title="show Notes"><\/a><\/li>' + + '<li id="toggle"><a href="javascript:toggle();" accesskey="t" title="toggle CSS"><\/a><\/li>' + + '<li class="vr"><\/li>' + + '<li id="zero"><a href="javascript:goTo(0);" accesskey="h" title="goto Start Slide"><\/a><\/li>' + + '<li id="prev"><a href="javascript:go(-1);" accesskey="y" title="previous Slide"><\/a><\/li>' + + '<li id="next"><a href="javascript:go(1);" accesskey="x" title="next Slide"><\/a><\/li>' + + '<li id="last"><a href="javascript:goTo(smax-1);" accesskey="e" title="goto Last Slide"><\/a><\/li>' + + '<li id="lst"><a id="list" style="cursor:wait;" title="' + tmp + '"><\/a><select id="jumplist" title="select named Slide" onchange="go(\'j\');"><\/select><\/li>' + + '<li id="fadeLinks" class="vr"><\/li>' + + '<li id="fade"><a class="isoff" href="javascript:switchFade();" accesskey="f" title="Transions"><\/a><\/li>' + + '<li id="audioLinks" class="vr"><\/li>' + + '<li id="audio"><a class="isoff" href="javascript:toggleSounds();" accesskey="s" title="Sounds" ><\/a><\/li>' + + '<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>' + + '<li id="autoLinks" class="vr"><\/li>' + + '<li id="auto"><a class="isoff" href="javascript:togglePlay();" accesskey="a" title="Auto Play"><\/a><\/li>' + + '<li id="pause"><a class="isoff" href="javascript:pausePlay();" accesskey="p" title="Pause"><\/a><\/li>' + + '<li id="loop"><a class="isoff" href="javascript:switchLoop();" accesskey="l" title="Loop"><\/a><\/li>' + + '<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>' + + '<\/ul>' + + '<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>' + + '<\/div><\/form>'; + } + if (controlVis == 'hidden') { + var hidden = document.getElementById('navLinks'); + } else { + var hidden = document.getElementById('jumplist'); + } + addClass(hidden,'hideme'); +} + +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 + if (!s5mode && !isOp) return false; + var hScreen = screen.width; var vScreen = screen.height; + var vWindow = window.outerHeight; var hWindow = window.outerWidth; + if (isOp && s5mode && defaultView=='slideshow' && ((hScreen != hWindow) || (vScreen != vWindow))) { + toggle(); + return false; + } + if (isOp && !s5mode && ((hScreen != hWindow) || (vScreen != vWindow))) return false; + if (isOp && !s5mode && (hScreen == hWindow) && (vScreen == vWindow)) toggle(); + var vScale = 48; // both yield 16 (the usual browser default) at 1024x768 + var hScale = 64; // perhaps should auto-calculate based on theme's declared value? + if (window.innerHeight) { + var vSize = window.innerHeight; + var hSize = window.innerWidth; + } else if (document.documentElement.clientHeight) { + var vSize = document.documentElement.clientHeight; + var hSize = document.documentElement.clientWidth; + } else if (document.body.clientHeight) { + var vSize = document.body.clientHeight; + var hSize = document.body.clientWidth; + } else { + var vSize = 700; // assuming 1024x768, minus chrome and such equals 8:5 + var hSize = 1024; // these do not account for kiosk mode or Opera Show + } + var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale)); + extendImgSizes(newSize); // scalable images extension + extendCanSizes(newSize); // scalable canvas extension + extendObjSizes(newSize); // scalable object extension + fontSize(newSize,"px"); + if(!isS2 || firstTime==0) { + generateCanvas(); // dynamic canvas extension + } + if (isGe) { // hack to counter incremental reflow bugs + var obj = document.getElementsByTagName('body')[0]; + obj.style.visibility = 'hidden'; + obj.style.display = 'none'; + obj.style.display = 'block'; + obj.style.visibility = 'visible'; + changeOpac(100,'slide' + snum); + shiftOpacity('slide' + snum,10); + window.setTimeout("fixReflow()",10); + }else { + setListPos(); // invisible select extension + } +} + +function fixReflow() { + shiftOpacity('slide' + snum,10); + window.setTimeout("finishReflow()",10); +} +function finishReflow() { + setListPos(); // invisible select extension +} + +function fontSize(val,fmt) { + var value = val + fmt; + if (!(s5ss = document.getElementById('s5ss'))) { + if (!document.createStyleSheet) { + document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style')); + s5ss.setAttribute('media','screen, projection'); + s5ss.setAttribute('id','s5ss'); + } else { + document.createStyleSheet(); + document.s5ss = document.styleSheets[document.styleSheets.length - 1]; + } + } + if (!(document.s5ss && document.s5ss.addRule)) { + while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild); + s5ss.appendChild(document.createTextNode('html {font-size: ' + value + ' !important;}')); + } else { + document.s5ss.addRule('html','font-size: ' + value + ' !important;'); + } +} + +function windowChange() { + fontScale(); +} + +function notOperaFix() { + slideCSS = document.getElementById('slideProj').href; + var slides = document.getElementById('slideProj'); + var outline = document.getElementById('outlineStyle'); + slides.setAttribute('media','screen'); + outline.disabled = true; + if (isGe) { + slides.setAttribute('href','null'); // Gecko fix + slides.setAttribute('href',slideCSS); // Gecko fix + } + if ((isIE && notIE7) && document.styleSheets && document.styleSheets[0]) { + document.styleSheets[0].addRule('img', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('div', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + document.styleSheets[0].addRule('.slide', 'behavior: url('+s5Path+'ui/graphic_support/iepngfix.htc)'); + } +} + +function getIncrementals(obj) { + var incrementals = new Array(); + if (!obj) + return incrementals; + var children = obj.childNodes; + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (hasClass(child, 'incremental')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'incremental'); + for (var j = 0; j < child.childNodes.length; j++) { + if (child.childNodes[j].nodeType == 1) { + addClass(child.childNodes[j], 'incremental'); + } + } + } else { + incrementals[incrementals.length] = child; + removeClass(child,'incremental'); + } + } + if (hasClass(child, 'show-first')) { + if (child.nodeName == 'OL' || child.nodeName == 'UL') { + removeClass(child, 'show-first'); + if (child.childNodes[isGe].nodeType == 1) { + removeClass(child.childNodes[isGe], 'incremental'); + } + } else { + incrementals[incrementals.length] = child; + } + } + incrementals = incrementals.concat(getIncrementals(child)); + } + return incrementals; +} + +function createIncrementals() { + var incrementals = new Array(); + for (var i = 0; i < smax; i++) { + incrementals[i] = getIncrementals(document.getElementById('slide'+i)); + } + return incrementals; +} + +function trap(e) { + if (!e) { + e = event; + e.which = e.keyCode; + } + try { + modifierKey = e.ctrlKey || e.altKey || e.metaKey; + } + catch(e) { + modifierKey = false; + } + return modifierKey || e.which == 0; +} + +// notes extension +function noteLabel() { // Gives notes id's to match parent slides + var notes = GetElementsWithClassName('div','notes'); + for (var i = 0; i < notes.length; i++) { + var note = notes[i]; + var id = 'note' + note.parentNode.id.substring(5); + note.setAttribute('id',id); + } + resetElapsedSlide(); + resetRemainingTime(); + window.setInterval('updateElaspedTime()', 1000); +} + +function createNotesWindow() { // creates a window for our notes + if (!s5NotesWindow || s5NotesWindow.closed) { // Create the window if it doesn't exist + s5NotesWindowLoaded = false; + // Note: Safari has a tendency to ignore window options preferring to default to the settings of the parent window, grr. + s5NotesWindow = window.open(s5Path+'ui/s5-notes.html', 's5NotesWindow', 'top=0,left=0'); + } + if (s5NotesWindowLoaded) { // Load the current note if the Note HTML has loaded + loadNote(); + } else { // Keep trying... + window.setTimeout('createNotesWindow()', 50); + } +} + +function loadNote() { +// Loads a note into the note window + var notes = nextNotes = '<em class="disclaimer">There are no notes for this slide.</em>'; + if (document.getElementById('note' + snum)) { + notes = document.getElementById('note' + snum).innerHTML; + } + if (document.getElementById('note' + (snum + 1))) { + nextNotes = document.getElementById('note' + (snum + 1)).innerHTML; + } + + var jl = document.getElementById('jumplist'); + var slideTitle = jl.options[jl.selectedIndex].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex) ? ' (' + jl.selectedIndex + '/' + (smax - 1) + ')' : ''); + if (incrementals[snum].length > 0) { + slideTitle += ' <small>[' + incpos + '/' + incrementals[snum].length + ']</small>'; + } + if (jl.selectedIndex < smax - 1) { + var nextTitle = jl.options[jl.selectedIndex + 1].text.replace(/^\d+\s+:\s+/, '') + ((jl.selectedIndex + 1) ? ' (' + (jl.selectedIndex + 1) + '/' + (smax - 1) + ')' : ''); + } else { + var nextTitle = '[end of slide show]'; + } + + if (s5NotesWindow && !s5NotesWindow.closed && s5NotesWindow.document) { + s5NotesWindow.document.getElementById('slide').innerHTML = slideTitle; + s5NotesWindow.document.getElementById('notes').innerHTML = notes; + s5NotesWindow.document.getElementById('next').innerHTML = nextTitle; + s5NotesWindow.document.getElementById('nextnotes').innerHTML = nextNotes; + } + resetElapsedSlide(); +} + +function minimizeTimer(id) { + var obj = s5NotesWindow.document.getElementById(id); + if (hasClass(obj,'collapsed')) { + removeClass(obj,'collapsed'); + } else { + addClass(obj,'collapsed'); + } +} + +function resetElapsedTime() { + presentationStart = new Date(); + slideStart = new Date(); + updateElaspedTime(); +} + +function resetElapsedSlide() { + if (snum != previousSlide) { + slideStart = new Date(); + previousSlide = snum; + updateElaspedTime(); + } +} + +function updateElaspedTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var now = new Date(); + var ep = s5NotesWindow.document.getElementById('elapsed-presentation'); + var es = s5NotesWindow.document.getElementById('elapsed-slide'); + ep.innerHTML = formatTime(now.valueOf() - presentationStart.valueOf()); + es.innerHTML = formatTime(now.valueOf() - slideStart.valueOf()); +} + +function resetRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var startField = s5NotesWindow.document.getElementById('startFrom'); + startFrom = readTime(startField.value); + countdown.remaining = startFrom * 60000; // convert to msecs + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var timeLeft = formatTime(countdown.remaining); + tl.innerHTML = timeLeft; +} + +function updateRemainingTime() { + if (!s5NotesWindowLoaded || !s5NotesWindow || s5NotesWindow.closed) return; + var tl = s5NotesWindow.document.getElementById('timeLeft'); + var now = new Date(); + if (countdown.state == 'run') { + countdown.remaining = countdown.end - now; + } + tl.style.color = ''; + tl.style.backgroundColor = ''; + if (countdown.remaining >= 0) { + var timeLeft = formatTime(countdown.remaining); + removeClass(tl,'overtime'); + if (countdown.remaining < 300000) { + tl.style.color = 'rgb(' + (255-Math.round(countdown.remaining/2000)) + ',0,0)'; + tl.style.backgroundColor = 'rgb(255,255,' + (Math.round(countdown.remaining/2000)) + ')'; + } + } else { + var timeLeft = '-' + formatTime(-countdown.remaining); + addClass(tl,'overtime'); + } + tl.innerHTML = timeLeft; +} + +function toggleRemainingTime() { + if (countdown.state == 'pause') countdown.state = 'run'; else countdown.state = 'pause'; + if (countdown.state == 'pause') { + window.clearInterval(countdown.timer); + } + if (countdown.state == 'run') { + countdown.start = new Date().valueOf(); + countdown.end = countdown.start + countdown.remaining; + countdown.timer = window.setInterval('updateRemainingTime()', 1000); + } +} + +function alterRemainingTime(amt) { + var change = amt * 60000; // convert to msecs + countdown.end += change; + countdown.remaining += change; + updateRemainingTime(); +} + +function formatTime(msecs) { + var time = new Date(msecs); + + 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... + hrs = (hrs < 10) ? '0'+hrs : hrs; + if (hrs == 'NaN' || isNaN(hrs)) hrs = '--'; + + var min = time.getUTCMinutes(); + min = (min < 10) ? '0'+min : min; + if (min == 'NaN' || isNaN(min)) min = '--'; + + var sec = time.getUTCSeconds(); + sec = (sec < 10) ? '0'+sec : sec; + if (sec == 'NaN' || isNaN(sec)) sec = '--'; + + return hrs + ':' + min + ':' + sec; +} + +function readTime(val) { + var sregex = /:/; + var matches = sregex.exec(val); + if (matches == null) { + return val; + } else { + var times = val.split(':'); + var hours = parseInt(times[0]); + var mins = parseInt(times[1]); + var total = (hours * 60) + mins; + return total; + } +} +// notes extension + +// startup process +function createSlideShow() { + defaultCheck(); + if(!isIE) createDetector(); // (degrade IE) scalable images extension + if(opac!=0 || isIE) { // &&!isIE (degrade IE) + tranSitions = false; + fadeModus = false; + } + if(tranSitions && document.getElementById && document.createElement){ + createProgress(); + var nop=document.getElementById('StartupControl'); + nop.onload = dumpProgress; + }else { + startup(); + showAll(); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; + } +} + +function defaultCheck() { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'defaultView') { + defaultView = allMetas[i].content; + } + if (allMetas[i].name == 'controlVis') { + controlVis = allMetas[i].content; + } + if (allMetas[i].name == 'tranSitions') { + tranSitions = (allMetas[i].content == "true") ? true : false; + fadeModus = (tranSitions == true) ? true : false; + } + if (allMetas[i].name == 'fadeDuration') { + var tmp = parseInt(allMetas[i].content); + fadeDuration = Math.max(200,Math.min(tmp,2000)); + } + if (allMetas[i].name == 'incrDuration') { + var tmp = parseInt(allMetas[i].content); + incrDuration = Math.max(50,Math.min(tmp,500)); + } + if (allMetas[i].name == 'autoMatic') { + autoMatic = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playLoop') { + playLoop = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'playDelay') { + var tmp = parseInt(allMetas[i].content); + playDelay = Math.max(5,Math.min(tmp,90))*1000; + playDelay = (fadeModus == true) ? (playDelay+(2*fadeDuration)) : playDelay; + } + if (allMetas[i].name == 'audioSupport') { + audioSupport = (allMetas[i].content == "true") ? true : false; + } + if (allMetas[i].name == 'audioVolume') { + var tmp = parseInt(allMetas[i].content); + audioVolume = Math.max(0,Math.min(tmp,100)); + } + if (allMetas[i].name == 'audioError') { + audioError = (allMetas[i].content == "true") ? true : false; + } + } +} + +function createProgress() { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "StartupProgress"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=100)"; + }else { + pg.style.opacity = 1.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/progress.gif)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + + var im = document.createElement('img'); + im.id = "StartupControl"; + im.src = s5Path+"ui/graphic_support/blank.gif?" + new Date().valueOf(); + document.getElementsByTagName("body")[0].appendChild(im); +} + +function startup() { + createControls(); // hallvord + slideLabel(); + incrementals = createIncrementals(); + noteLabel(); // [SI:060104] must follow slideLabel() + loadNote(); + fixLinks(); + externalLinks(); + fontScale(); + if (!isOp) { + if(isIE) { + document.getElementById('lst').style.backgroundImage = 'none'; + document.getElementById('del').style.backgroundImage = 'none'; + }else { + document.getElementById('audio').style.backgroundImage = 'none'; + } + notOperaFix(); + }else if(isOp) { + var obj = document.getElementById('exit'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('exit').style.opacity = 0.5; + obj = document.getElementById('toggle'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('toggle').style.opacity = 0.5; + document.getElementById('jumplist').style.visibility = 'hidden'; + document.getElementById('list').style.visibility = 'hidden'; + document.getElementById('lst').style.opacity = 0.5; + obj = document.getElementById('audio'); + obj.firstChild.style.visibility = 'hidden'; + document.getElementById('audio').style.opacity = 0.5; + document.getElementById('volumelist').style.visibility = 'hidden'; + document.getElementById('volume').style.visibility = 'hidden'; + document.getElementById('vol').style.opacity = 0.5; + document.getElementById('delaylist').style.visibility = 'hidden'; + document.getElementById('delay').style.visibility = 'hidden'; + document.getElementById('del').style.opacity = 0.5; + } + slideJump(); + if (defaultView == 'outline') toggle(); + document.onkeyup = keys; + document.onkeypress = trap; + document.onclick = clicker; +} + +function preloadImgages() { + var temp = ''; + var objects = document.getElementsByTagName('img'); + for (var i=0; i < objects.length; i++) { + if(objects[i].src != '') { + temp = new Image(); + temp.src = objects[i].src; + } + } +} + +function showAll() { + var obj1 = GetElementsWithClassName('div','presentation')[0]; + if(!obj1) var obj1 = GetElementsWithClassName('ol','presentation')[0]; + var obj2 = GetElementsWithClassName('div','layout')[0]; + if(!obj1){}else {obj1.style.display = 'block'}; + if(!obj2){}else {obj2.style.display = 'block'}; +} + +function dumpProgress() { + document.body.removeChild(document.getElementById('StartupControl')); + startup(); + preloadImgages(); + showAll(); + createSoundManagerScript(); + shiftOpacity('StartupProgress',1000); + window.setTimeout("removeProgress()",1000); +} + +function removeProgress() { + document.body.removeChild(document.getElementById('StartupProgress')); + setListPos(true); // invisible select extension + panelSetup(); + audioSetup(); // audio extension + if(isS2 && firstTime>=1) { + generateCanvas(); // dynamic canvas extension + } firstTime = 0; +} +function panelSetup() { + if(playPause) { + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + if(playLoop) { + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + if(audioSupport && !isIE && !isOp) { + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + } + if(fadeModus && !isIE) { + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + if(autoMatic) { + var obj = document.getElementById('auto'); changeClass(obj,'ison'); + startPlay(); + } + if(audioVolume && !isIE && !isOp) { + var idx = 0; + if(audioVolume >= 95 && audioVolume <= 100) {idx = 0;} + else if(audioVolume >= 85 && audioVolume < 95) {idx = 1;} + else if(audioVolume >= 75 && audioVolume < 85) {idx = 2;} + else if(audioVolume >= 65 && audioVolume < 75) {idx = 3;} + else if(audioVolume >= 55 && audioVolume < 65) {idx = 4;} + else if(audioVolume >= 45 && audioVolume < 55) {idx = 5;} + else if(audioVolume >= 35 && audioVolume < 45) {idx = 6;} + else if(audioVolume >= 25 && audioVolume < 35) {idx = 7;} + else if(audioVolume >= 15 && audioVolume < 25) {idx = 8;} + else if(audioVolume >= 5 && audioVolume < 15) {idx = 9;} + else {idx = 10;} + document.getElementById('volumelist').selectedIndex = idx; + } + if(playDelay && !isOp) { + var idx = 0; var vol = parseInt(playDelay/1000); + if(vol >= 83 && vol <= 90) {idx = 0;} + else if(vol >= 68 && vol < 83) {idx = 1;} + else if(vol >= 53 && vol < 68) {idx = 2;} + else if(vol >= 38 && vol < 53) {idx = 3;} + else if(vol >= 25 && vol < 38) {idx = 4;} + else if(vol >= 18 && vol < 25) {idx = 5;} + else if(vol >= 13 && vol < 18) {idx = 6;} + else if(vol >= 8 && vol < 13) {idx = 7;} + else {idx = 8;} + document.getElementById('delaylist').selectedIndex = idx; + } +} +// startup process + +// shutdown process +function byby() { + stopPlay(); + if(tranSitions && fadeModus && s5mode && !isOp) { + fadeoutSound(curSoundID,true); // audio support + var pg = document.createElement('div'); + pg.id = "GoodBy"; + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=0)"; + }else { + pg.style.opacity = 0.0; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(255, 255, 255)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/finish.gif)"; + document.getElementsByTagName("body")[0].appendChild(pg); + shiftOpacity('GoodBy',1000); + window.setTimeout("history.back()",1000); + }else { + stopSound(curSoundID); + history.back(); + } +} +// shutdown process + +// scalable images extension +function createDetector() { + var em = document.createElement('div'); + em.id='EMSizeControl'; em.style.position="absolute"; em.style.left="-999px"; + em.style.width="1em"; em.style.height="1em"; em.style.opacity=0.0; + document.getElementsByTagName("body")[0].appendChild(em); + var nop=document.getElementById('EMSizeControl'); + if(!nop||findPosX(nop)!=-999) {}else { + opac=document.getElementById('EMSizeControl').style.opacity; + empx=document.getElementById('EMSizeControl').offsetHeight; + document.body.removeChild(document.getElementById('EMSizeControl')); + var objects = document.getElementsByTagName('img'); + var j = 0; var i = 0; var k = 0; var d; var obj; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + images[j] = objects[i]; + ++j; + } + } + var objects = document.getElementsByTagName('canvas'); j = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + canvas[objects[i].id] = objects[i]; + if(j==0) { + if(objects[i].getContext) { + canvasSupport = true; + } + ++j; + } + } + } + if(canvasSupport!=true) { + for (d in canvas) { + try { + canvas[d].setAttribute("width",1); + canvas[d].setAttribute("height",1); + } catch (e) { + } + } + } + var objects = document.getElementsByTagName('table'); + j = 0; k = 0; l = 0; var w; var h; var tmp; var cnt; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^piechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + piecharts[j] = objects[i]; + em = piecharts[j].getAttribute("summary"); + if(em != "") em = "," + em; + piecharts[j].setAttribute("summary", w + "," + h + em); + ++j; + } + } + } + if(objects[i].className.match(/^barchart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + barcharts[k] = objects[i]; + em = barcharts[k].getAttribute("summary"); + if(em != "") em = "," + em; + barcharts[k].setAttribute("summary", w + "," + h + em); + ++k; + } + } + } + if(objects[i].className.match(/^linechart/i)) { + tmp = objects[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + if(canvas[obj]) { + w = canvas[obj].getAttribute("width"); + h = canvas[obj].getAttribute("height"); + if(w>0&&h>0) { + linecharts[l] = objects[i]; + em = linecharts[l].getAttribute("summary"); + if(em != "") em = "," + em; + linecharts[l].setAttribute("summary", w + "," + h + em); + ++l; + } + } + } + } + objects = document.getElementsByTagName('object'); j = 0; i = 0; + for (i=0; i < objects.length; i++) { + if(objects[i].className.match(/^scale/i)) { + medias[j] = objects[i]; ++j; + if(!isIE) { + if(objects[i].getAttributeNode("classid")) objects[i].removeAttributeNode(objects[i].getAttributeNode("classid")); + if(objects[i].getAttributeNode("codebase")) objects[i].removeAttributeNode(objects[i].getAttributeNode("codebase")); + } + } + } + } +} +function extendImgSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < images.length; i++) { + w=images[i].getAttribute("width",0); + h=images[i].getAttribute("height",0); + if(w>0&&h>0) { + images[i].style.width=Math.floor(w*q)+"px"; + images[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} + +function extendCanSizes(f) { + if(empx>0 && canvasSupport) { + var q = (f/empx); var w = 0; var h = 0; var tmp = ""; var cnt; var obj; + for(var i=0; i < piecharts.length; i++) { + if(piecharts[i].getAttribute("summary")) { + tmp = piecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = piecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < barcharts.length; i++) { + if(barcharts[i].getAttribute("summary")) { + tmp = barcharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = barcharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + for(var i=0; i < linecharts.length; i++) { + if(linecharts[i].getAttribute("summary")) { + tmp = linecharts[i].getAttribute("summary"); + cnt = tmp.split(","); + if(cnt[0].match(/^[1-9][0-9]+/)) w = parseInt(cnt[0]); + if(cnt[1].match(/^[1-9][0-9]+/)) h = parseInt(cnt[1]); + if(w>0&&h>0) { + tmp = linecharts[i].id; + cnt = tmp.split("_"); + obj = cnt[0] + "_canvas"; + canvas[obj].setAttribute("width",Math.floor(w*q)); + canvas[obj].setAttribute("height",Math.floor(h*q)); + canvas[obj].style.width=Math.floor(w*q)+"px"; + canvas[obj].style.height=Math.floor(h*q)+"px"; + } + } + } + } +} +function extendObjSizes(f) { + if(empx>0) { + var q = (f/empx); var w = 0; var h = 0; + for(var i=0; i < medias.length; i++) { + w=medias[i].getAttribute("width",0); + h=medias[i].getAttribute("height",0); + if(w>0&&h>0) { + medias[i].style.width=Math.floor(w*q)+"px"; + medias[i].style.height=Math.floor(h*q)+"px"; + } + } + } +} +function findPosX(obj) { + var posLeft = 0; + while (obj.offsetParent) { + posLeft += obj.offsetLeft; + obj = obj.offsetParent; + } + return posLeft; +} +function findPosY(obj) { + var posTop = 0; + while (obj.offsetParent) { + posTop += obj.offsetTop; + obj = obj.offsetParent; + } + return posTop; +} +// scalable images extension + +// canvas chart extension +function deg2rad(degrees) { + return Math.PI *degrees/180; +} +function rad2deg(radians) { + return 180.0 *radians/Math.PI; +} +function circle_point_x(radians, diameter) { + var x = Math.cos(radians)*(diameter/2); + return x; +} +function circle_point_y(radians, diameter) { + var y = Math.sin(radians)*(diameter/2); + return y; +} +function roundTo(val,dig) { + var num = val; + if (val > 8191 && val < 10485) { + val = val-5000; + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + num = num+5000; + } else { + num = Math.round(val*Math.pow(10,dig))/Math.pow(10,dig); + } + return num; +} +function searchColor(value) { + for (var dat in colorNames) { + if(dat==value) return colorNames[dat]; + } + return false; +} +function scanColor(value) { + if(value.match(/^#[0-9a-f][0-9a-f][0-9a-f]$/i)) { + var val1 = value.substr(1,1).toLowerCase(); + var val2 = value.substr(2,1).toLowerCase(); + var val3 = value.substr(3,1).toLowerCase(); + value = '#' + val1 + val1 + val2 + val2 + val3 + val3; + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + var tmp = searchColor(value.toLowerCase()); + if(!tmp) {}else{value = tmp;} + } + if(!value.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) { + value = '#000000'; + } + return value.toLowerCase(); +} +function hex2rgb(val,trans) { + if(val.length==7) { + var tp1 = Math.max(0,Math.min(parseInt(val.substr(1,2),16),255)); + var tp2 = Math.max(0,Math.min(parseInt(val.substr(3,2),16),255)); + var tp3 = Math.max(0,Math.min(parseInt(val.substr(5,2),16),255)); + return 'rgba(' + tp1 + ',' + tp2 + ',' + tp3 + ',' + trans + ')'; + } +} +function trim(str) { + return (str.replace(/\s+$/,"").replace(/^\s+/,"")); +} +function roundedRect(ctx,x,y,width,height,radius){ + ctx.beginPath(); + ctx.moveTo(x,y+radius); + ctx.lineTo(x,y+height-radius); + ctx.quadraticCurveTo(x,y+height,x+radius,y+height); + ctx.lineTo(x+width-radius,y+height); + ctx.quadraticCurveTo(x+width,y+height,x+width,y+height-radius); + ctx.lineTo(x+width,y+radius); + ctx.quadraticCurveTo(x+width,y,x+width-radius,y); + ctx.lineTo(x+radius,y); + ctx.quadraticCurveTo(x,y,x,y+radius); + ctx.closePath(); +} +function drawString(ctx, text, fc, tx, ty) { + var xp = 0; var c = ""; + ctx.beginPath(); + for (var i = 0; i < text.length; i++) { + c = text[i]; + 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); + xp += (signs[c].sw*fc); + } + ctx.closePath(); +} +function strokeString(ctx, txt, col, fh, tx, ty) { + var fw = fh*0.666666; var lw = fh*0.125; + var ls = lw/2; var cr = lw; var xp = 0; + ctx.lineCap = "round"; ctx.lineJoin = "round" + ctx.lineWidth = lw; ctx.strokeStyle = col; + for (var i = 0; i < txt.length; i++) { + strokeSymbol(ctx, txt[i], ls, tx+xp, ty, fw, fh); + xp += (txt[i]!="."?fw+cr:(fw/2)+cr); + } +} +function strokeSymbol(ctx, symbol, fc, cx, cy, cw, ch) { + ctx.beginPath(); + switch (symbol) { + case "0": + ctx.moveTo(cx+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+(cw/2),(cw/2)-fc,deg2rad(180),0, false); + ctx.arc(cx+(cw/2),(cy+ch)-(cw/2),(cw/2)-fc,0,deg2rad(180), false); + ctx.closePath(); + break; + case "1": + ctx.moveTo(cx+(cw*0.1)+fc,cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.moveTo(cx+(cw*0.666666),cy+ch-fc); + ctx.lineTo(cx+(cw*0.666666),cy+fc); + ctx.lineTo(cx+(cw*0.25),cy+(ch*0.25)); + break; + case "2": + ctx.moveTo(cx+cw-fc,cy+(ch*0.8)); + ctx.lineTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+fc,cy+ch-fc); + ctx.arc(cx+(cw/2),cy+(cw*0.425),(cw*0.425)-fc,deg2rad(45),deg2rad(-180), true); + break; + case "3": + ctx.moveTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.9)-fc,cy+fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-90),deg2rad(180), false); + break; + case "4": + ctx.moveTo(cx+(cw*0.75),cy+ch-fc); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+(ch*0.666666)); + ctx.lineTo(cx+fc,cy+(ch*0.666666)); + ctx.lineTo(cx+(cw*0.75),cy+fc); + ctx.moveTo(cx+cw-fc,cy+ch-fc); + ctx.lineTo(cx+(cw*0.5),cy+ch-fc); + break; + case "5": + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.333333)); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-80),deg2rad(180), false); + break; + case "6": + ctx.moveTo(cx+fc,cy+ch-(cw*0.5)-fc); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-180),deg2rad(180), false); + ctx.bezierCurveTo(cx+fc,cy+fc,cx+fc,cy+fc,cx+(cw*0.9)-fc,cy+fc); + ctx.moveTo(cx+(cw*0.9)-fc,cy+fc); + break; + case "7": + ctx.moveTo(cx+(cw*0.5),cy+ch-fc); + ctx.lineTo(cx+cw-fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+fc); + ctx.lineTo(cx+(cw*0.1)+fc,cy+(ch*0.25)-fc); + break; + case "8": + ctx.moveTo(cx+(cw*0.92)-fc,cy+(cw*0.59)); + ctx.arc(cx+(cw/2),cy+(cw*0.45),(cw*0.45)-fc,deg2rad(25),deg2rad(-205), true); + ctx.arc(cx+(cw/2),cy+ch-(cw*0.5),(cw*0.5)-fc,deg2rad(-135),deg2rad(-45), true); + ctx.closePath(); + ctx.moveTo(cx+(cw*0.79),cy+(ch*0.47)); + ctx.lineTo(cx+(cw*0.21),cy+(ch*0.47)); + break; + case "9": + ctx.moveTo(cx+cw-fc,cy+(cw*0.5)); + ctx.arc(cx+(cw/2),cy+(cw*0.5),(cw*0.5)-fc,deg2rad(0),deg2rad(360), false); + ctx.bezierCurveTo(cx+cw-fc,cy+ch-fc,cx+cw-fc,cy+ch-fc,cx+(cw*0.1)+fc,cy+ch-fc); + break; + case "%": + ctx.moveTo(cx+fc,cy+(ch*0.75)); + ctx.lineTo(cx+cw-fc,cy+(ch*0.25)); + ctx.moveTo(cx+(cw*0.505),cy+(cw*0.3)); + ctx.arc(cx+(cw*0.3),cy+(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + ctx.moveTo(cx+(cw*0.905),cy+ch-(cw*0.3)); + ctx.arc(cx+(cw*0.7),cy+ch-(cw*0.3),(cw*0.3)-fc,deg2rad(0),deg2rad(360), false); + break; + case ".": + ctx.moveTo(cx+(cw*0.25),cy+ch-fc-fc); + ctx.arc(cx+(cw*0.25),cy+ch-fc-fc,fc,deg2rad(0),deg2rad(360), false); + ctx.closePath(); + break; + default: + break; + } + ctx.stroke(); +} +function drawBar(ctx,x,y,width,height,color,value,textdiv){ + var rw = width/2; var rh = rw/2; + height = Math.max(height,rw); + var dh = Math.max(height-(2*rh),0.1); var S2L; + var xx = rw/8; var yy = rh/4; + var yo = rh/2; y = y - yy; + if(canvas_noshadow <= 0 && canvas_noshade <= 0) { + ctx.save(); + S2L = ctx.createRadialGradient(x+rw+rh,y+height-rw+yy+rh,0,x+rw,y+height-rw+yy,rw); + S2L.addColorStop(0, 'rgba(0,0,0,0.5)'); + S2L.addColorStop(0.7, 'rgba(0,0,0,0.25)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = S2L; + ctx.scale(1,0.5); + ctx.translate(xx,y+height+yy); + if(isOp){ + ctx.fillRect(x,y+yy+height-width,width,width); + }else { + ctx.arc(x+rw,y+yy+height-width,width,0,deg2rad(360), false); + ctx.fill(); + } + ctx.restore(); + }else if(canvas_noshadow <= 0 && canvas_noshade >= 1) { + ctx.fillStyle = 'rgba(0,0,0,0.2)'; + ctx.fillRect(x+yo,y+rh+yo+yo,width,dh); + } + + if(canvas_noshade <= 0) { + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x,y+(height/2),x+width,y+(height/2)); + S2L.addColorStop(0, 'rgba(255,255,255,0.75)'); + S2L.addColorStop(0.2, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.3, 'rgba(0,0,0,0)'); + S2L.addColorStop(0.5, 'rgba(0,0,0,0.1)'); + S2L.addColorStop(0.9, 'rgba(0,0,0,0.35)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x,y+rh); + ctx.lineTo(x,y+rh+dh); + ctx.bezierCurveTo(x,y+height,x+width,y+height,x+width,y+rh+dh) + ctx.lineTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = color; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.3)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.fillStyle = S2L; + ctx.fill(); + S2L = ctx.createLinearGradient(x+rw-(width*0.15),y-2,x+rw+(width*0.15),y+(2.1*rh)); + S2L.addColorStop(0, 'rgba(255,255,255,0.9)'); + S2L.addColorStop(0.5, 'rgba(255,255,255,0)'); + S2L.addColorStop(0.6, 'rgba(0,0,0,0)'); + S2L.addColorStop(1, 'rgba(0,0,0,0.1)'); + ctx.beginPath(); + ctx.moveTo(x+width,y+rh); + ctx.bezierCurveTo(x+width,y,x,y,x,y+rh) + ctx.bezierCurveTo(x,y+(rh*2),x+width,y+(rh*2),x+width,y+rh) + ctx.closePath(); + ctx.strokeStyle = S2L; + ctx.stroke(); + }else { + ctx.fillStyle = color; + ctx.fillRect(x,y+rh+yo,width,dh); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var bw = width; var bh = bw/4; + var th = roundTo(bh*0.75,0); var tf = bh/80; + var c; var w; + if(canvas_notext <= 0) { + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,x+(width/2)-(bw/2),y,bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext <= 0) { + strokeString(ctx, value + "%","rgba(48,48,48,1)", th, x+(width/2)-(w/2), y+((bh-th)/2)); + }else { + drawString(ctx, value + "%", tf, x+(width/2)-(w/2), y+((bh-th)/2.2)); + } + }else { + var bh = bw/3; var th = roundTo(bh*0.75,0); + roundedRect(ctx,x,y,bw,bh,bh/4); + ctx.fill(); + var obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = x + "px"; + obj.style.top = y+((bh-th)/2.2) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + + } +} +function drawLine(ctx,x,y,width,height,dist,array,factor,color,fill){ + if(fill <= 0){ + var style = hex2rgb(color,0.5); + ctx.lineJoin = "miter"; + ctx.beginPath(); + ctx.moveTo(x,y+height); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.lineTo(x+width,y+height); + ctx.lineTo(x,y+height); + ctx.closePath(); + ctx.fillStyle = style; + ctx.fill(); + } + ctx.lineJoin = "round"; + ctx.beginPath(); + ctx.moveTo(x,y+height-(array[0]*factor)); + for (var i = 0; i < array.length; i++) { + ctx.lineTo(x+(i*dist),y+height-(array[i]*factor)); + } + ctx.strokeStyle = color; + ctx.stroke(); +} +function setDataURL(cid) { + if(cid.toDataURL) { + var obj = document.getElementById(cid.id + "_link"); + if(obj) { + obj.setAttribute("title", "To Data URL"); + obj.setAttribute("target", "_blank"); + obj.setAttribute("href", cid.toDataURL()); + } + } +} +function get_input(dataobj,canvasobj,linechart) { + var table = document.getElementById(dataobj); + var canvas = document.getElementById(canvasobj); + var row; var clm; var cnt = 0; var val = 0; var nme = ""; var col = ""; + if(canvas.getContext) { + canvas_width = parseInt(canvas.style.width); + canvas_height = parseInt(canvas.style.height); + if(canvas_width >= 16 && canvas_height >= 16) { + var tmp = table.getAttribute("summary"); + canvas_noshade = 0; canvas_noshadow = 0; + canvas_notext = 0; canvas_imgtext = 0; + canvas_htmltext = 0; canvas_nofill = 0; + if(tmp.search(/noshadow/) != -1) canvas_noshadow = 1; + if(tmp.search(/noshade/) != -1) canvas_noshade = 1; + if(tmp.search(/nofill/) != -1) canvas_nofill = 1; + if(tmp.search(/notext/) != -1) canvas_notext = 1; + if(tmp.search(/htmltext/) != -1) canvas_htmltext = 1; + if(tmp.search(/imgtext/) != -1) canvas_imgtext = 1; + if(table.getAttribute("bgcolor")) { + canvas_bgcolor = scanColor(table.getAttribute("bgcolor")); + } + ChartData = new Array(); colorSlice = new Array(); + if(table.getElementsByTagName("tr")[0].getElementsByTagName("th")[0]) cnt = 1; + for(var r = cnt; r < table.getElementsByTagName("tr").length; r++) { + row = table.getElementsByTagName("tr")[r]; + clm = row.getElementsByTagName("td").length; + if(row.getElementsByTagName("td")[0].getAttribute("bgcolor")) { + col = scanColor(row.getElementsByTagName("td")[0].getAttribute("bgcolor")); val = 0; + nme = trim(row.getElementsByTagName("td")[1].innerHTML.replace(/<[^>]+>/g,"")); + if(!linechart) { + if(clm > 3) { + for(var z = 2; z < clm; z++) { + val += parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,"")); + } + }else { + val = parseFloat(row.getElementsByTagName("td")[2].innerHTML.replace(/<[^>]+>/g,"")); + } + if(!isNaN(val) && val > 0 && nme != '') { + colorSlice[r-cnt] = col; ChartData[nme] = Math.abs(val); + }else { + break; + } + }else { + val = 0; i = 0; + if(clm > 3 && nme != '') { + ChartData[r-cnt] = new Array(); + colorSlice[r-cnt] = col; + for(var z = 2; z < clm; z++) { + val = Math.abs(parseFloat(row.getElementsByTagName("td")[z].innerHTML.replace(/<[^>]+>/g,""))); + if(!isNaN(val) && val >= 0) { + ChartData[r-cnt][i] = val; i++; + }else { + ChartData[r-cnt][i] = 0; i++; + } + } + }else { + break; + } + } + }else { + break; + } + } + } + } +} +function setPieChart(canvasobj,textobj) { + var cd = (Math.min(canvas_width,canvas_height)/110)*100; + var cp = cd*0.1; var cr = cd/2; + var sr = cr*0.93; var cw = cd+cp; var ch = cw; + var cx = (cd/2)+(cp/2); var cy = cx; var ct = 0; + for (var data in ChartData) { + ct += ChartData[data]; + } + var poc = ct/100; + var canvas = document.getElementById(canvasobj); + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + } + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,cw,ch); + }else { + ctx.clearRect(0,0,cw,ch); + } + if(canvas_noshadow <= 0) { + if(!isOp) { + ctx.beginPath(); + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),cr,cx+(cr*0.1),cy+(cr*0.1),sr*0.9); + B2B.addColorStop(0, 'rgba(0,0,0,0)'); + B2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.arc(cx+(cr*0.1),cy+(cr*0.1),cr,0,deg2rad(360), false); + ctx.closePath(); + ctx.fillStyle = B2B; + ctx.fill(); + }else { + var B2B = ctx.createRadialGradient(cx+(cr*0.1),cy+(cr*0.1),0,cx+(cr*0.1),cy+(cr*0.1),cr); + B2B.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(0.87, 'rgba(0,0,0,0.5)'); + B2B.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.fillStyle = B2B; + ctx.fillRect(0,0,cw,ch); + } + } + var val = 0; var deg = 0; var idx = 0; var data; + for (data in ChartData) { + val = ChartData[data]; sdeg = deg; + deg += (val/ct)*deg2rad(360); edeg = deg; + ctx.beginPath(); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr,sdeg,edeg, false); + ctx.lineTo(cx,cy); + ctx.closePath(); + ctx.fillStyle = colorSlice[(idx++)]; + ctx.fill(); + } + if(canvas_noshade <= 0) { + ctx.beginPath(); + var W2T = ctx.createLinearGradient(cp*2,cp*2,cx,cy); + W2T.addColorStop(0, 'rgba(255,255,255,0.8)'); + W2T.addColorStop(1, 'rgba(255,255,255,0)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.fillStyle = W2T; + ctx.fill(); + ctx.beginPath(); + var T2B = ctx.createLinearGradient(cx,cy,cw-(cp*2),ch-(cp*2)); + T2B.addColorStop(0, 'rgba(0,0,0,0)'); + T2B.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,sr,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.fillStyle = T2B; + ctx.fill(); + ctx.beginPath(); + var B2T = ctx.createLinearGradient(cx,cy,cw-(cp*1.9),ch-(cp*1.9)); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(-45),deg2rad(135), false); + ctx.closePath(); + ctx.strokeStyle = B2T; + ctx.stroke(); + ctx.beginPath(); + var T2W = ctx.createLinearGradient(cx,cy,(cp*1.9),(cp*1.9)); + T2W.addColorStop(0, 'rgba(255,255,255,0)'); + T2W.addColorStop(1, 'rgba(255,255,255,0.6)'); + ctx.lineWidth = cr*0.07; + ctx.lineCap = "round"; + ctx.moveTo(cx,cy); + ctx.arc(cx,cy,cr*0.965,deg2rad(135),deg2rad(315), false); + ctx.closePath(); + ctx.strokeStyle = T2W; + ctx.stroke(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = 1; + ctx.fillStyle = 'rgba(255,255,255,0.5)'; + var mpos = 0; var per = 0; var gx = 0; + var gy = 0; var tx = 0; var ty = 0; + var obj = ""; var w = 0; var c = 0; + var bw = cr*0.45; var bh = cr*0.125; + var th = roundTo(bh*0.75,0); var tf = bh/80; + if(canvas_notext <= 0) { + if(canvas_htmltext >= 1) { + bw = (cr*0.365); + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + for (data in ChartData) { + val = ChartData[data]; + sdeg = deg; mpos = deg+(((val/2)/ct)*deg2rad(360)); + deg += (val/ct)*deg2rad(360); edeg = deg; + per = roundTo(val/poc,2); + gx = circle_point_x(mpos, cd); + gy = circle_point_y(mpos, cd); + tx = parseFloat((cx+(2*Math.floor(cx + gx)))/3); + ty = (cy+(2*Math.floor(cy + gy)))/3; + if(canvas_htmltext <= 0) { + w = '"' + per + '"'; + if(w.indexOf(".")!=-1) { + c = w.length+0.5; + w = parseFloat(c-2)*parseFloat(48*tf); + bw = parseFloat(c-1)*parseFloat(48*tf); + }else { + c = w.length; + w = parseFloat(c-1)*parseFloat(48*tf); + bw = parseFloat(c)*parseFloat(48*tf); + } + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + if(canvas_imgtext >= 1) { + drawString(ctx, per + "%", tf, tx-(w/2), ty-(th/1.8)); + }else { + strokeString(ctx, per + "%","rgba(48,48,48,1)", th, tx-(w/2), ty-(th/2)); + } + }else { + roundedRect(ctx,(tx-(bw/2)),ty-(bh/2),bw,bh,bh/4); + ctx.fill(); + obj = document.createElement('div'); + obj.style.position = "absolute"; + obj.style.overflow = "hidden"; + obj.style.textAlign = "center"; + obj.style.width = bw + "px"; + obj.style.left = (tx-(bw/2)) + "px"; + obj.style.top = ty-(th/1.8) + "px"; + obj.appendChild(document.createTextNode(per + "%")); + textdiv.appendChild(obj); + } + } + } + } +} +function setBarChart(canvasobj,textobj) { + var iw = canvas_width*0.9; var ih = canvas_height*0.9; + var pw = canvas_width*0.05; var ph = canvas_height*0.05; + var cm = 0; var ct = 0; + for (var data in ChartData) { + cm = Math.max(cm,ChartData[data]); + ct += ChartData[data]; + } + var hf = ih/cm; var bs = colorSlice.length; + var bw = iw/(bs*1.1); var poc = ct/100; + var th = roundTo((bw/3)*0.75,0); + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_htmltext >= 1) { + if(document.getElementById(textobj)) { + canvas.parentNode.removeChild(canvas.parentNode.lastChild); + } + canvas.parentNode.style.position = "relative"; + if(!document.getElementById(textobj)) { + var obj = document.createElement('div'); + obj.id = textobj; + obj.style.color = "rgb(0,0,0)"; + obj.style.fontFamily = "Arial,sans-serif"; + obj.style.fontSize = th + "px"; + obj.style.zIndex = 11; + canvas.parentNode.appendChild(obj); + } + var textdiv = document.getElementById(obj.id); + } + var cc = ""; var bh = 0; var idx = 0; var t = 0; per = 0; + for (var data in ChartData) { + per = roundTo(ChartData[data]/poc,2); + bh = ChartData[data]*hf; + drawBar(ctx,pw+(t*(bw*1.1)),ph+ih-bh,bw,bh,colorSlice[(idx++)],per,textdiv); + t++; + } + } +} +function setLineChart(canvasobj,textobj) { + var iw = canvas_width*0.9; + var ih = canvas_height*0.9; + var pw = canvas_width*0.05; + var ph = canvas_height*0.05; + var cm = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + cm = Math.max(cm,ChartData[i][j]); + } + } + var hf = (ih*0.95)/cm; var bw = iw; + var dw = iw/(ChartData[0].length-1) + var dh = ih/(ChartData[0].length-1) + var ps = Math.min(pw,ph); lw = ps/4; + var B2T; + var canvas = document.getElementById(canvasobj); + if(canvas.getContext) { + var ctx = canvas.getContext('2d'); + if(canvas_bgcolor != "") { + ctx.fillStyle = canvas_bgcolor; + ctx.fillRect(0,0,canvas_width,canvas_height); + }else { + ctx.clearRect(0,0,canvas_width,canvas_height); + } + if(canvas_noshadow <= 0) { + B2T = ctx.createLinearGradient(pw+ps,ph+ih+1,pw+ps+ps,ph+ih+1); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.5)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps,ph+ih); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.lineTo(pw+ps+ps,ph+ih); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+ps+ps,ph+ih,pw+ps+ps,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.5)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+ps+ps,ph+ih); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+ps+iw,ph+ih+ps); + ctx.lineTo(pw+ps,ph+ih+ps); + ctx.closePath(); + ctx.fill(); + var B2T = ctx.createLinearGradient(pw+iw+1,ph+ps,pw+iw+1,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.0)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.35)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps); + ctx.lineTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + B2T = ctx.createLinearGradient(pw+iw,ph+ps+ps,pw+iw+ps,ph+ps+ps); + B2T.addColorStop(0, 'rgba(0,0,0,0.35)'); + B2T.addColorStop(1, 'rgba(0,0,0,0.0)'); + ctx.fillStyle = B2T; + ctx.beginPath(); + ctx.moveTo(pw+iw,ph+ps+ps); + ctx.lineTo(pw+iw,ph+ih); + ctx.lineTo(pw+iw+ps,ph+ih+ps); + ctx.lineTo(pw+iw+ps,ph+ps); + ctx.closePath(); + ctx.fill(); + } + ctx.lineCap = "butt"; + ctx.lineWidth = lw/2; + ctx.strokeStyle = "rgba(255,255,255,0.25)"; + if(canvas_nofill <= 0) { + ctx.fillStyle = "rgba(240,240,240,0.8)"; + ctx.strokeStyle = "rgba(255,255,255,1)"; + ctx.fillRect(pw,ph,iw,ih); + } + for (var i = 0; i < ChartData[0].length-1; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph); + ctx.lineTo(pw+(i*dw),ph+ih); + ctx.stroke(); + } + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw,ph+(i*dh)); + ctx.lineTo(pw+iw,ph+(i*dh)); + ctx.stroke(); + } + ctx.lineWidth = lw; + var cc = ""; var bh = 0; var idx = 0; var t = 0; + for (var i = 0; i < ChartData.length; i++) { + for (var j = 0; j < ChartData[i].length; j++) { + t = Math.max(t,ChartData[i][j]); + } + bh = t*hf; cc = colorSlice[(idx++)]; + drawLine(ctx,pw,ph+ih-bh,bw,bh,dw,ChartData[i],hf,cc,canvas_nofill); + } + ctx.beginPath(); + ctx.moveTo(pw,ph); + ctx.lineTo(pw,ph+ih); + ctx.lineTo(pw+iw+(lw/2),ph+ih); + ctx.strokeStyle = "rgba(48,48,48,1)"; + ctx.stroke(); + ctx.lineWidth = lw/2; + B2T = ctx.createLinearGradient(pw,ph+ih,pw,ph+ih+ps); + B2T.addColorStop(0, 'rgba(0,0,0,1)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,0)'); + ctx.strokeStyle = B2T; + for (var i = 0; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw+(i*dw),ph+ih); + ctx.lineTo(pw+(i*dw),ph+ih+ps); + ctx.stroke(); + } + B2T = ctx.createLinearGradient(pw-ps,ph,pw,ph); + B2T.addColorStop(0, 'rgba(0,0,0,0)'); + B2T.addColorStop(0.5, 'rgba(0,0,0,1)'); + B2T.addColorStop(1, 'rgba(0,0,0,1)'); + ctx.strokeStyle = B2T; + for (var i = 1; i < ChartData[0].length; i++) { + ctx.beginPath(); + ctx.moveTo(pw-ps,ph+(i*dh)); + ctx.lineTo(pw,ph+(i*dh)); + ctx.stroke(); + } + } +} +function generateCanvas() { + if(canvasSupport) { + var canvasID; var tdataID; var textID; + var tmp; var dat; var i; var j; + for(i=0; i < piecharts.length; i++) { + tmp = piecharts[i].id.split("_"); + tdataID = piecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setPieChart(canvasID,textID); + } + } + } + } + for(i=0; i < barcharts.length; i++) { + tmp = barcharts[i].id.split("_"); + tdataID = barcharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID); + if(colorSlice.length > 0) { + j = 0; dat = ""; for(dat in ChartData) {j++; } + if(j > 0 && j == colorSlice.length) { + setBarChart(canvasID,textID); + } + } + } + } + for(i=0; i < linecharts.length; i++) { + tmp = linecharts[i].id.split("_"); + tdataID = linecharts[i].id; + canvasID = tmp[0] + "_canvas"; + textID = tmp[0] + "_text"; + if(document.getElementById(tdataID)) { + get_input(tdataID,canvasID,true); + if(colorSlice.length > 0) { + if(ChartData.length == colorSlice.length) { + setLineChart(canvasID,textID); + } + } + } + } + } +} +// canvas chart extension + +// invisible select extension +function setListPos(opt) { + if(!isIE) { //(degrade IE) + var ref = document.getElementById('list'); + var x = findPosX(ref); var y = findPosY(ref); + var obj = document.getElementById('jumplist'); + obj.style.position = 'fixed'; obj.style.left = x + 'px'; obj.style.top = y + 'px'; + var vol = document.getElementById('volumelist'); + ref = document.getElementById('volume'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + vol.style.position = 'fixed'; vol.style.left = x + 'px'; vol.style.top = y + 'px'; + var del = document.getElementById('delaylist'); + ref = document.getElementById('delay'); + x = findPosX(ref); if(isOp) {y = window.innerHeight-imgHeight; }else {y = findPosY(ref);} + del.style.position = 'fixed'; del.style.left = x + 'px'; del.style.top = y + 'px'; + var pnl = document.getElementById('navLinks'); + } + if(opt) { + if(isIE) { + //(degrade IE) + //pnl.style.filter = "alpha(opacity=80)"; + }else { + obj.style.opacity = 0.0; + vol.style.opacity = 0.0; + del.style.opacity = 0.0; + pnl.style.opacity = 0.8; + } + } +} +// invisible select extension + +// transition extension +function switchFade() { + if(tranSitions && s5mode && fadeModus) { + fadeModus = false; + playDelay = playDelay-(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'isoff'); + }else if(tranSitions && s5mode && !fadeModus) { + fadeModus = true; + playDelay = playDelay+(2*fadeDuration); + var obj = document.getElementById('fade'); changeClass(obj,'ison'); + } + currentSlide(); +} +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++; + } + } +} +function changeOpac(opacity, ids) { + var obj = document.getElementById(ids); + if (isIE) { + 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; + } else { + var currentOpac = 0; + } + if(currentOpac == 0) { + opacity(ids, currentOpac, 100, millisec); + } else if(currentOpac > 0) { + opacity(ids, currentOpac, 0, millisec); + } +} +// transition extension + +// autoplay extension +function autoPlay() { + if (s5mode && autoMatic && !playPause) { + if ((snum >= (smax-1)) && playLoop) { + goTo(0); + autoRun = setTimeout('autoPlay();',playDelay); + }else if ((snum >= (smax-1)) && !playLoop) { + stopPlay(); + }else { + if (!incrementals[snum] || incpos >= incrementals[snum].length) { + go(1); + if (incrementals[snum].length >0) { + clearTimeout(autoRun); autoRun = null; + incrDelay = parseInt(playDelay/(incrementals[snum].length+1)); + remainDer = parseInt(playDelay-(incrDelay*incrementals[snum].length)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + } else { + clearTimeout(autoRun); autoRun = null; + incrDelay = incrDuration; + remainDer = parseInt(playDelay-(incrementals[snum].length*incrDuration)); + autoRun = setTimeout('autoPlayIncr()',incrDelay); + } + autoRun = setTimeout('autoPlay();',playDelay); + } + } +} +function autoPlayIncr() { + if (incpos < incrementals[snum].length) { + subgo(1); + autoRun = setTimeout('autoPlayIncr();',incrDelay); + }else { + autoRun = setTimeout('nop();',remainDer); + } +} +function nop() { + // no operation dummy +} +function togglePlay() { + if (autoRun && s5mode) { + stopPlay(); + }else if (!autoRun && s5mode) { + startPlay(); + } +} +function stopPlay() { + if (autoRun && s5mode) { + clearTimeout(autoRun); autoRun = null; + autoMatic = false; playPause = false; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'isoff'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + currentSlide(); + } +} +function startPlay() { + if (!autoRun && s5mode) { + playPause = false; autoMatic = true; var obj = ''; + obj = document.getElementById('auto'); changeClass(obj,'ison'); + obj = document.getElementById('pause'); changeClass(obj,'isoff'); + autoRun = setTimeout('autoPlay();',playDelay); + currentSlide(); + } +} +function pausePlay() { + if (s5mode && autoMatic) { + if (playPause) { + playPause = false; autoRun = setTimeout('autoPlay();',playDelay); + var obj = document.getElementById('pause'); changeClass(obj,'isoff'); + }else { + if (autoRun){ + clearTimeout(autoRun); autoRun = null; playPause = true; + var obj = document.getElementById('pause'); changeClass(obj,'ison'); + } + } + currentSlide(); + } +} +function switchLoop() { + if(s5mode) { + if (playLoop) { + playLoop = false; + var obj = document.getElementById('loop'); changeClass(obj,'isoff'); + }else { + playLoop = true; + var obj = document.getElementById('loop'); changeClass(obj,'ison'); + } + } + currentSlide(); +} +function setDelay() { + var val = document.getElementById('delaylist'); + if(s5mode) { + var delay = Math.max(5,Math.min(parseInt(val.value),300)); + playDelay = (fadeModus == true) ? ((delay*1000)+(2*fadeDuration)) : (delay*1000); + } +} +// autoplay extension + +// audio extension +function createSoundManagerScript() { + if(typeof soundManager=="undefined") { + onerrorSM2(); + }else { + var script=document.createElement('SCRIPT'); + var tx=document.createTextNode("soundManager.createMovie();"); + script.appendChild(tx); + document.getElementsByTagName("body")[0].appendChild(script); + } +} +//soundManager.onload = function() { +function onloadSM2() { + if(!isIE) { //(degrade IE) + swfUnloaded = false; + preloadSounds(); + } +} +//soundManager.onerror = function() { +function onerrorSM2() { + if(typeof soundManager!="undefined") { + soundManager.destruct; + delete soundManager; + } + audioSupport = false; swfUnloaded = true; + if(audioError && !isIE && !isOp) { + var dv = document.createElement('div'); dv.id = "guru"; + var d2=document.createElement('div'); dv.appendChild(d2); + var tx=document.createTextNode('Guru Meditation - SoundManager failed to load/initialize!'); + d2.appendChild(tx); document.getElementById('slide0').appendChild(dv); + } +} +function audioSetup() { + if(sound[0]) { + playSound(0); + }else if(sound[bgSoundItem] && !sound[0]) { + playSound(bgSoundItem); + } +} +function fadeoutSound(ids, option) { + if(curSoundID >= 0 && !swfUnloaded) { + if(isNaN(ids)) { + if(ids == "bgSound") { + var cnum = parseInt(bgSoundItem); + }else { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && ids == sound[i]["id"]) { + var cnum = i; + break; + } + } + } + }else { + var cnum = ids; + ids = sound[cnum]["id"]; + } + var vol = getMaxVolume(sound[cnum]["volume"]); + var millisec = fadeDuration; + var speed = Math.round(millisec / vol); + var timer = 0; + for(var i = vol; i > 0; i--) { + setTimeout("fadeout(" + i + ",'" + ids + "')",(timer * speed)); + timer++; + } + if(option) setTimeout("stopSound('"+ids+"')",millisec); + } +} +function fadeout(volume, id) { + soundManager.setVolume(id,volume); +} +function stopSound(ids) { + var sid; + if(isNaN(ids)) { + sid = ids; + }else if(sound[ids]) { + sid = sound[ids]["id"]; + } + if(sid!='' && curSoundID >= 0) { + soundManager.stop(sid); + curSoundID = -1; + } +} +function toggleSounds() { + if(audioSupport && !swfUnloaded) { + stopAllSounds(); + }else if (!audioSupport && !swfUnloaded) { + allowSounds(); + } +} +function allowSounds() { + if(!swfUnloaded) { + audioSupport = true; + var obj = document.getElementById('audio'); changeClass(obj,'ison'); + currentSlide(); + } +} +function stopAllSounds() { + if(curSoundID >= 0) { + stopSound(curSoundID); + }else { + soundManager.stopAll(); + curSoundID = -1; + } + audioSupport = false; + var obj = document.getElementById('audio'); changeClass(obj,'isoff'); + currentSlide(); +} +function playSound(id) { + if(audioSupport && !swfUnloaded) { + var url, sid, vol, lps, cnum; + if(isNaN(id)) { + sid = id; + if(sid == "bgSound") { + cnum = parseInt(bgSoundItem); + }else { + cnum = getSoundID(id); + } + }else { + cnum = parseInt(id); + if(sound[cnum]) sid = sound[cnum]["id"]; + } + if(sound[cnum] && sound[cnum]["url"]!='' && sid!=''){ + url = sound[cnum]["url"]; + vol = (sound[cnum]["volume"]!='')?getMaxVolume(sound[cnum]["volume"]):getMaxVolume(100); + lps = (sound[cnum]["loops"])?true:false; + if(lps) { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){soundManager.play(sid,{volume:getMaxVolume(sound[cnum]["volume"])});}}); + }else { + soundManager.play(sid,{volume:vol,onplay:function(){curSoundID=cnum;},onfinish:function(){curSoundID=-1;}}); + } + } + } +} +function getSoundID(str) { + for (var i = 0; i < (sound.length-1); i++) { + if(sound[i] && str == sound[i]["id"]) { + var id = i; + break; + } + } + return id; +} +function setVolume() { + var vol = document.getElementById('volumelist'); + if(audioSupport && !swfUnloaded) { + audioVolume = parseInt(vol.value); + if(curSoundID >= 0) { + if(sound[curSoundID]) { + var sid = sound[curSoundID]["id"]; + var vid = getMaxVolume(sound[curSoundID]["volume"]); + soundManager.setVolume(sid,vid); + } + } + } +} +function getMaxVolume(value) { + if(audioVolume>0) {var factor = audioVolume/100;}else {var factor = 0;} + return Math.max(0,Math.min(parseInt(value*factor),audioVolume)); +} +function preloadSounds() { + var temp = ''; var parm = ''; var t = ''; var cl = ''; + var objects = document.getElementsByTagName('object'); + for (var i=0; i < objects.length; i++) { + if(objects[i].type.toLowerCase() == 'audio/mp3' && objects[i].data != '') { + objects[i].width = 0; objects[i].height = 0; + if(objects[i].parentNode.tagName == 'DIV') { + cl = objects[i].parentNode.className.toLowerCase(); + if(cl == 'presentation' || cl == 'slide') { + if(cl == 'presentation') { + t = parseInt(bgSoundItem); + }else { + t = parseInt(objects[i].parentNode.id.slice(5, objects[i].parentNode.id.length)); + } + sound[t] = new Object(); + if(t < bgSoundItem) { + sound[t]["id"] = objects[i].parentNode.id; + }else { + sound[t]["id"] = "bgSound"; + } + sound[t]["url"] = objects[i].data; + sound[t]["volume"] = 100; sound[t]["loops"] = false; + if(objects[i].archive != '') { + parm = objects[i].archive.toLowerCase().split(','); + for (var j=0; j < parm.length; j++) { + if(parm[j] == 'loop') sound[t]["loops"] = true; + if(parm[j].search(/^volume/) != -1) { + var tmp = parm[j].split(':'); + sound[t]["volume"] = parseInt(tmp[1]); + } + } + } + soundManager.createSound(sound[t]["id"],sound[t]["url"]); + } + } + } + } +} +// audio extension + +// help extension +function createHelpReq() { + if(!document.getElementById("HelpReq")) { + var obj = document.getElementsByTagName("body")[0].firstChild; + var pg = document.createElement('div'); + pg.id = "HelpReq"; + if (pg.addEventListener) { + pg.addEventListener("onclick",dumpHelpReq,false); + } else if (pg.attachEvent) { + pg.attachEvent("onclick",dumpHelpReq); + } + pg.style.position = 'absolute'; + pg.style.left = 0 + 'px'; + pg.style.top = 0 + 'px'; + pg.style.width = 100 + '%'; + pg.style.height = 100 + '%'; + pg.style.margin = 0 + 'px'; + pg.style.padding = 0 + 'px'; + if (isIE) { + pg.style.filter = "alpha(opacity=90)"; + } else { + pg.style.opacity = 0.9; + } + pg.style.zIndex = 9999; + pg.style.backgroundColor="rgb(64,64,64)"; + pg.style.textAlign = "center"; + pg.style.verticalAlign = "middle"; + pg.style.backgroundPosition="center center"; + pg.style.backgroundRepeat="no-repeat"; + pg.style.backgroundImage="url("+s5Path+"ui/graphic_support/help.jpg)"; + document.getElementsByTagName("body")[0].insertBefore(pg,obj); + if(document.getElementById("HelpReq")) { + helpmode = true; + } + } +} +function dumpHelpReq() { + if(document.getElementById("HelpReq")) { + document.body.removeChild(document.getElementById('HelpReq')); + helpmode = false; + } +} +// help extension + +//DEBUG +function ConsoleLog(value) { + if(window.console) { + window.console.log(value); + } +} +//DEBUG + +document.write('<style type="text/css" media="screen" id="blockStyle">.presentation, .layout {display: none; }</style>'); + +if(!isIE && !isOp) { + document.write('<script type="text/javascript" src="'+s5Path+'ui/audio_support/soundmanager2.js"></script>'); + if(typeof soundManager!="undefined") { + var allMetas = document.getElementsByTagName('meta'); + for (var i = 0; i< allMetas.length; i++) { + if (allMetas[i].name == 'audioDebug') { + var audioDebug = (allMetas[i].content == "true") ? true : false; + soundManager.defaultOptions.debugMode = audioDebug; + } + } + } +} + +window.onload = createSlideShow; +window.onresize = function(){setTimeout('windowChange()',5);}
\ No newline at end of file diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle.gif b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle.gif Binary files differnew file mode 100644 index 000000000..1e531e9dd --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle.gif diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle_link.png Binary files differnew file mode 100644 index 000000000..4588e2514 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle_over.png Binary files differnew file mode 100644 index 000000000..400f613b6 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/toggle_over.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/volume_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/volume_link.png Binary files differnew file mode 100644 index 000000000..f362acd1f --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/volume_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/wrap.css b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/wrap.css new file mode 100644 index 000000000..a37315552 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/wrap.css @@ -0,0 +1,410 @@ +/******************************************************************** +Screen and Print Styles for the Wrap Plugin +********************************************************************/ + +/* tables in columns and boxes should span the whole width */ +.wrap_column table, +.wrap_left table, .wrap_right table, .wrap_center table, +.wrap_box table, +.wrap_info table, .wrap_important table, .wrap_alert table, .wrap_tip table, .wrap_help table, .wrap_todo table, .wrap_download table { + width: 100%; +} +/* emulate a headline */ +.wrap_column em strong, +.wrap_left em strong, .wrap_right em strong, .wrap_center em strong, +.wrap_box em strong, +.wrap_info em strong, .wrap_important em strong, .wrap_alert em strong, .wrap_tip em strong, .wrap_help em strong, .wrap_todo em strong, .wrap_download em strong { + font-size: 130%; + font-weight: bold; + font-style: normal; + display: block; +} +/* emulate a bigger headline with a bottom border */ +.wrap_column em strong em.u, +.wrap_left em strong em.u, .wrap_right em strong em.u, .wrap_center em strong em.u, +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + font-size: 115%; + border-bottom: 1px solid __border__; + font-style: normal; + text-decoration: none; + display: block; +} +/* different bigger headline for safety notes */ +.wrap_danger em strong em.u, .wrap_warning em strong em.u, .wrap_caution em strong em.u, .wrap_notice em strong em.u, .wrap_safety em strong em.u { + font-size: 115%; + font-style: normal; + text-decoration: none; + display: block; + text-transform: uppercase; + border-bottom-width: 0; +} +/* change border colour of emulated headlines inside boxes to something more neutral + (to match all the different background colours) */ +.wrap_box em strong em.u, +.wrap_info em strong em.u, .wrap_important em strong em.u, .wrap_alert em strong em.u, .wrap_tip em strong em.u, .wrap_help em strong em.u, .wrap_todo em strong em.u, .wrap_download em strong em.u { + border-bottom-color: #999; +} + + +/* columns +********************************************************************/ + +.wrap_left, +.wrap_column { + float: left; + margin-right: 1.5em; +} +.wrap_right { + float: right; + margin-left: 1.5em; +} +.wrap_center { + display: block; + margin-left: auto; + margin-right: auto; +} +/* +.wrap_column, +.wrap_left, +.wrap_right { + overflow: hidden; +} +*/ +.wrap_container { + margin-right: -1.5em; +} + + +/* alignments +********************************************************************/ + +.wrap_leftalign { + text-align: left; +} +.wrap_centeralign { + text-align: center; +} +.wrap_rightalign { + text-align: right; +} +.wrap_justify { + text-align: justify; +} + + +/* box +********************************************************************/ + +/* see styles for boxes and notes with icons in style.css */ + +/*____________ rounded corners ____________*/ +/* (only for modern browsers) */ + +div.wrap_round { + border-radius: 20px; + -moz-border-radius: 20px; + -webkit-border-radius: 20px; + -khtml-border-radius: 20px; +} +span.wrap_round { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -khtml-border-radius: 2px; +} + + +/* mark +********************************************************************/ + +div.wrap_lo { + color: __text_neu__; + font-size: 85%; +} +div.wrap_em { + color: #c00; + font-weight: bold; +} + +/* see styles for highlighted text in style.css */ + + +/* typography +********************************************************************/ + +/*____________ fonts ____________*/ + +div.wrap_sansserif { + font-family: Verdana,Tahoma,Geneva,"DejaVu Sans","Bitstream Vera Sans","Liberation Sans", Arial,Helvetica,FreeSans,"Liberation Sans","Nimbus Sans L", sans-serif; +} +div.wrap_serif { + font-family: Georgia,Garamond,"Palatino Linotype","Book Antiqua",Palatino,Palladio,"URW Palladio L","Liberation Serif",Didot,Gentium,"Bitstream Charter","Century Schoolbook L", "Times New Roman",Times,"Nimbus Roman No9 L","FreeSerif", serif; +} +div.wrap_monospace { + font-family: Courier,"Courier New",FreeMono,"Nimbus Mono L","Liberation Mono", "Lucida Console",Monaco,"DejaVu Sans Mono","Bitstream Vera Sans Mono", monospace; +} + +/*____________ font size ____________*/ + +div.wrap_bigger { + font-size: 125%; +} +div.wrap_muchbigger { + font-size: 200%; +} +div.wrap_smaller { + font-size: 75%; +} + +/*____________ font colours ____________*/ + +div.wrap_fgred { + color: #900; +} +div.wrap_fggreen { + color: #090; +} +div.wrap_fgblue { + color: #009; +} +div.wrap_fgcyan { + color: #099; +} +div.wrap_fgviolet { + color: #909; +} +div.wrap_fgyellow { + color: #990; +} +div.wrap_fggrey { + color: #666; +} +div.wrap_fgblack { + color: #000; +} + +/* see styles for background colours and white font colour in style.css */ + + +/* miscellaneous +********************************************************************/ + +/*____________ indent ____________*/ + +div.wrap_indent { + padding-left: 1.5em; +} + +/*____________ outdent ____________*/ + +div.wrap_outdent { + margin-left: -1.5em; +} + +/*____________ word wrapping in pre ____________*/ + +divdiv.wrap_prewrap pre { + white-space: pre-wrap; + word-wrap: break-word;/* for IE < 8 */ + /* white-space: -moz-pre-wrap; for FF < 3 */ +} + +/*____________ spoiler ____________*/ + +divdiv.wrap_spoiler { + margin-bottom: 1.5em; +} +/* see rest of spoiler styles in style.css */ + +/*____________ clear float ____________*/ + +div.wrap_clear { + clear: both; + line-height: 0; + height: 0; + font-size: 1px; + visibility: hidden; + overflow: hidden; +} + +/*____________ hide ____________*/ + +div.wrap_hide { + display: none; +} + + +/* STYLE.CSS */ + +/* box +********************************************************************/ + +.wrap_box { + background: __background_alt__; + color: __text__; +/* + overflow: hidden; +*/ +} +div.wrap_box, +div.wrap_danger, div.wrap_warning, div.wrap_caution, div.wrap_notice, div.wrap_safety { + padding: 1em 1em .5em; + margin-bottom: 1.5em; +} +span.wrap_box, +span.wrap_danger, span.wrap_warning, span.wrap_caution, span.wrap_notice, span.wrap_safety { + padding: 0 .3em; +} + +/*____________ notes with icons ____________*/ + +/* general styles for all note divs */ +div.wrap_info, div.wrap_important, div.wrap_alert, div.wrap_tip, div.wrap_help, div.wrap_todo, div.wrap_download { + padding: 1em 1em .5em 70px; + margin-bottom: 1.5em; + min-height: 68px; + background-position: 10px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html div.wrap_info, * html div.wrap_important, * html div.wrap_alert, * html div.wrap_tip, * html div.wrap_help, * html div.wrap_todo, * html div.wrap_download { + height: 68px; +} +/* general styles for all note spans */ +span.wrap_info, span.wrap_important, span.wrap_alert, span.wrap_tip, span.wrap_help, span.wrap_todo, span.wrap_download { + padding: 0 2px 0 20px; + min-height: 20px; + background-position: 2px 50%; + background-repeat: no-repeat; + color: #000; +} +/* special treatment for IE6 */ +* html span.wrap_info, * html span.wrap_important, * html span.wrap_alert, * html span.wrap_tip, * html span.wrap_help, * html span.wrap_todo, * html span.wrap_download { + height: 20px; +} + +/*____________ info ____________*/ +.wrap_info { background-color: #d1d7df; } +div.wrap_info { background-image: url(../../../wrap/images/note/48/info.png); } +span.wrap_info { background-image: url(../../../wrap/images/note/16/info.png); } + +/*____________ important ____________*/ +.wrap_important { background-color: #ffd39f; } +div.wrap_important { background-image: url(../../../wrap/images/note/48/important.png); } +span.wrap_important { background-image: url(../../../wrap/images/note/16/important.png); } + +/*____________ alert ____________*/ +.wrap_alert { background-color: #ffbcaf; } +div.wrap_alert { background-image: url(../../../wrap/images/note/48/alert.png); } +span.wrap_alert { background-image: url(../../../wrap/images/note/16/alert.png); } + +/*____________ tip ____________*/ +.wrap_tip { background-color: #fff79f; } +div.wrap_tip { background-image: url(../../../wrap/images/note/48/tip.png); } +span.wrap_tip { background-image: url(../../../wrap/images/note/16/tip.png); } + +/*____________ help ____________*/ +.wrap_help { background-color: #dcc2ef; } +div.wrap_help { background-image: url(../../../wrap/images/note/48/help.png); } +span.wrap_help { background-image: url(../../../wrap/images/note/16/help.png); } + +/*____________ todo ____________*/ +.wrap_todo { background-color: #c2efdd; } +div.wrap_todo { background-image: url(../../../wrap/images/note/48/todo.png); } +span.wrap_todo { background-image: url(../../../wrap/images/note/16/todo.png); } + +/*____________ download ____________*/ +.wrap_download { background-color: #d6efc2; } +div.wrap_download { background-image: url(../../../wrap/images/note/48/download.png); } +span.wrap_download { background-image: url(../../../wrap/images/note/16/download.png); } + + +/*____________ safety notes ____________*/ + +.wrap_danger { + background-color: #c00; + color: #fff; +} +.wrap_warning { + background-color: #f60; + color: #000; +} +.wrap_caution { + background-color: #ff0; + color: #000; +} +.wrap_notice { + background-color: #06f; + color: #fff; +} +.wrap_safety { + background-color: #090; + color: #fff; +} + + +/* mark +********************************************************************/ + +div.wrap_hi { + background-color: #ff9; +} + +/* typography +********************************************************************/ + +/*____________ font colours ____________*/ + +div.wrap_fgwhite { + color: #fff; +} + +/*____________ background colours ____________*/ + +div.wrap_bgred { + background-color: #fcc; +} +div.wrap_bggreen { + background-color: #cfc; +} +div.wrap_bgblue { + background-color: #ccf; +} +div.wrap_bgcyan { + background-color: #9ff; +} +div.wrap_bgviolet { + background-color: #f9f; +} +div.wrap_bgyellow { + background-color: #ff9; +} +div.wrap_bggrey { + background-color: #ccc; +} +div.wrap_bgwhite { + background-color: #fff; +} +div.wrap_bgblack { + background-color: #000; +} + + +/* miscellaneous +********************************************************************/ + +/*____________ spoiler ____________*/ + +div.wrap_spoiler { + background-color: __background__ !important; + color: __background__ !important; + border: 1px dotted red; +} + +/*____________ only print ____________*/ + +div.wrap_onlyprint { + display: none; +} diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/zero_link.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/zero_link.png Binary files differnew file mode 100644 index 000000000..5610884d9 --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/zero_link.png diff --git a/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/zero_over.png b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/zero_over.png Binary files differnew file mode 100644 index 000000000..3a14a577e --- /dev/null +++ b/vendors/dokuwiki/lib/plugins/s5reloaded/ui/yatil/zero_over.png |