0byt3m1n1
Path:
/
data
/
applications
/
aps
/
tikiwiki
/
7.0-0
/
standard
/
htdocs
/
lib
/
jquery
/
jquery.s5
/
[
Home
]
File: jquery.s5.min.js
/* jQuery.s5() - Simple Standards Slide Show System $Id$ http://code.google.com/p/jquerys5/ Copyright (C) 2010 Robert Plummer Dual licensed under the LGPL v3 and GPL v3 licenses. http://www.gnu.org/licenses/ */ var $window=jQuery(window);var $body=jQuery("body");jQuery.fn.extend({s5:function(c){c=jQuery.s5.s=jQuery.extend({menu:function(){return jQuery('<a href="#" onclick="jQuery.s5.first(); return false;" title="First"><img src="images/resultset_first.png" alt="First" /></a> <a href="#" onclick="jQuery.s5.prev(); return false;" title="Prev"><img src="images/resultset_previous.png" alt="Prev" /></a> <a href="#" onclick="jQuery.s5.next(); return false;" title="Next"><img src="images/resultset_next.png" alt="Next" /></a> <a href="#" onclick="jQuery.s5.last(); return false;" title="Last"><img src="images/resultset_last.png" alt="Last" /></a> <a href="#" onclick="jQuery.s5.listSlideTitles(this); return false;" title="Jump To Slide"><img src="images/layers.png" alt="Jump To Slide" /></a> <a href="#" onclick="jQuery.s5.play(); return false;" title="Play"><img src="images/control_play_blue.png" alt="Play" /></a> <a href="#" onclick="jQuery.s5.pause(); return false;" title="Pause"><img src="images/control_pause_blue.png" alt="Pause" /></a> <a href="#" onclick="jQuery.s5.stop(); return false;" title="Stop"><img src="images/control_stop_blue.png" alt="Stop" /></a> <a href="#" onclick="jQuery.s5.getNote(); return false;" title="Notes"><img src="images/note.png" alt="Notes" /></a> <a href="#" onclick="jQuery.s5.toggleLoop(); return false;" title="Toggle Loop"><img src="images/arrow_rotate_clockwise.png" alt="Toggle Loop" /></a>')},noteMenu:function(){return jQuery('<a href="#" onclick="jQuery.s5.first(); return false;" title="First"><img src="images/resultset_first.png" alt="First" /></a> <a href="#" onclick="jQuery.s5.prev(); return false;" title="Prev"><img src="images/resultset_previous.png" alt="Prev" /></a> <a href="#" onclick="jQuery.s5.next(); return false;" title="Next"><img src="images/resultset_next.png" alt="Next" /></a> <a href="#" onclick="jQuery.s5.last(); return false;" title="Last"><img src="images/resultset_last.png" alt="Last" /></a> <a href="#" onclick="jQuery.s5.listSlideTitles(this, window.opener.$body, true); return false;" title="Jump To Slide"><img src="images/layers.png" alt="Jump To Slide" /></a> <a href="#" onclick="jQuery.s5.play(); return false;" title="Play"><img src="images/control_play_blue.png" alt="Play" /></a> <a href="#" onclick="jQuery.s5.pause(); return false;" title="Pause"><img src="images/control_pause_blue.png" alt="Pause" /></a> <a href="#" onclick="jQuery.s5.stop(); return false;" title="Stop"><img src="images/control_stop_blue.png" alt="Stop" /></a> <a href="#" onclick="jQuery.s5.toggleLoop(); return false;" title="Toggle Loop"><img src="images/arrow_rotate_clockwise.png" alt="Toggle Loop" /></a>')},slideNum:jQuery('<span id="slideNum"></span>'),noteTemplate:function(){return jQuery("<div />")},parent:jQuery(this),slideDuration:15000,pause:false,play:false,loop:false,imageSizeAdjustment:function(k,l,m){m.each(function(){var o=jQuery(this);o.css("height","").css("width","").removeAttr("height").removeAttr("width");var n=o.width();var p=o.height();if(n>jQuery.s5.s.imageSizeToAdjust.width){o.addClass("s5-image");k.find("td").width(l.width);if(n>l.width){o.css("width",l.width+"px").css("height","auto")}}if(p>jQuery.s5.s.imageSizeToAdjust.height){o.addClass("s5-image");if(p>(l.height/m.length)){o.css("height",(l.height/m.length)+"px").css("width","auto")}}if(o.hasClass("s5-image")){if(c.textSide=="left"){k.find(".s5-slide-right").append(o)}else{k.find(".s5-slide-left").append(o)}}});return m},maxFontSize:30,imageSizeToAdjust:{height:100,width:100},textSide:"left",slideHeaders:"",notes:[],slideClass:"",backgroundImage:"",backgroundColor:"",headerFontColor:"",slideFontColor:"",listItemHighlightColor:""},c);jQuery.s5.safeImg();var h={trap:function(k){if(!k){k=event;k.which=k.keyCode}try{modifierKey=k.ctrlKey||k.altKey||k.metaKey}catch(k){modifierKey=false}return modifierKey||k.which==0}};jQuery.s5.makeSizeDetector();jQuery(".s5-note").hide();$window.unload(function(){if(jQuery.s5.note){jQuery.s5.note.close()}});var i=jQuery('<div class="s5-footer" />').appendTo($body);var e=true;jQuery(this).children(c.slideHeaders).addClass("s5-header").each(function(){var k=jQuery('<table class="s5-slide" style="width: 100%;"><tr><td class="s5-slide-top" colspan="2"></td></tr><tr><td class="s5-slide-left"></td><td class="s5-slide-right"></td></tr><tr><td class="s5-slide-bottom" colspan="2"></td></tr></table>').appendTo($body).addClass("s5-hide");var l=jQuery(this).add(jQuery(this).siblingsUntil(c.slideHeaders));k.find("td.s5-slide-top").hide();k.find("td.s5-slide-bottom").hide();if(c.textSide=="left"){k.find(".s5-slide-left").html(l)}else{k.find(".s5-slide-right").html(l)}});var a=jQuery(".s5-slide");a.each(function(){jQuery(this).find("li").each(function(k){jQuery(this).click(function(){jQuery.s5.goLI(k);return false})})});var g=a.first().addClass("s5-first");jQuery.s5.slideCount=a.length;var j=g.clone();i.html(j.html().replace(/<(?!\/(?=>|\s.*>))\/?.*?>/g," "));jQuery(document).keyup(jQuery.s5.keys).keypress(h.trap);$window.resize(function(){jQuery.s5.scale();jQuery.s5.makeTheme(c)}).resize();var b=jQuery.s5.menu=jQuery('<div class="s5-menu" />').append(c.menu()).appendTo($body).fadeTo(0,0.01).hover(function(){b.stop().fadeTo(100,0.9)},function(){b.stop().fadeTo(100,0.01)});$body.children().not(b).click(function(k){if(jQuery(k.target).attr("href")){return true}jQuery.s5.next()});var f=Number(document.location.hash.substring(2));i.append('<span id="s5-slide-num" />');jQuery.s5.timeManager();jQuery.s5.go(f);return c.parent.bind("slideChange",function(m,l,k){jQuery.s5.updateSlideNumber();document.location.hash="#s"+l;$window.resize()}).trigger("slideChange",f,jQuery.s5.slideCount)},siblingsUntil:function(a){var b=[];$(this).each(function(c){for(var e=this.nextSibling;e;e=e.nextSibling){if($(e).is(a)){break}b.push(e)}});return this.pushStack(jQuery.unique(b))}});jQuery.extend({s5:{i:-1,liI:-1,slideCount:-1,slides:function(){return jQuery(".s5-slide")},slide:function(){return this.slides().eq(this.i)},slideHeaders:function(){return jQuery(this.s.slideHeaders)},loadedBackgroundImage:"",menu:{},status:"",start:function(a){a=$.extend({slideHeaders:"h1,h2,h3,h5,h6,.titlebar"},a);return jQuery(a.slideHeaders).first().parent().s5(a)},getNote:function(){if(!this.note){this.note=window.open("about:blank","jQuery_s5_note","top=0,left=0");this.note.document.write('<html><body class="s5-note-body"><table style="width: 100%;"><tr><th>Elapsed</th><th>Remaining Overall</th><th>Remaining on Slide</th><th>Slide#</th><th>Status</th></tr><tr><td id="s5-note-time-elapsed" style="text-align: center;"></td><td id="s5-note-timeoverall-remaining" style="text-align: center;"></td><td id="s5-note-time-slide-remaining" style="text-align: center;"></td><td id="s5-note-slide" style="text-align: center;"></td><td id="s5-note-status" style="text-align: center;"></td></tr></table><div id="s5-note-menu" colspan="5" style="text-align: center; padding: 5px;"></div>Title: <span id="s5-note-title"></span><br />Notes: <div id="s5-active-note"></div></body></html>');this.makeTheme(null,jQuery(this.note.document).find("body"),true);this.updateNote();this.noteSet("s5-note-menu",this.s.noteMenu());if(this.note){jQuery(this.note.document).keyup(jQuery.s5.keys)}}else{this.note.close();this.note=""}},play:function(){this.s.play=true;this.s.pause=false},stop:function(){this.s.play=false;this.s.pause=false;this.time.elapsed=0;this.go("first")},pause:function(){this.s.play=true;this.s.pause=!this.s.pause},time:{elapsed:0,slideRemaining:0,overallRemaining:0},findoverallRemaining:function(){return(this.slideCount-(this.i+1))*(this.s.slideDuration/1000)},findSlideRemaining:function(){if(this.i>=this.slideCount){return 0}else{return this.time.slideRemaining}},reset:function(){this.time.overallRemaining=0;this.time.slideRemaining=0;this.s.play=false;this.updateSlideNumber()},timeManager:function(a){a=(a?a:"");if(this.s.play&&!this.s.pause){this.time.overallRemaining-=1;this.time.slideRemaining-=1;this.time.elapsed+=1;if(this.time.overallRemaining<0){this.time.overallRemaining=0}if(this.time.slideRemaining<0){this.time.slideRemaining=0}if(this.time.slideRemaining<=0){if(this.i<this.slideCount-1){this.go("next")}else{if(this.s.loop){this.go("first")}}}}this.updateNote();setTimeout("jQuery.s5.timeManager();",1000)},updateNote:function(){this.status="Stopped";if(this.s.play){this.status="Playing"}if(this.s.pause){this.status="Paused"}this.status+=(this.s.loop?",Looped":"");this.noteSet("s5-note-title",this.slide().find(this.s.slideHeaders).first().text());this.noteSet("s5-note-status",this.status);this.noteSet("s5-note-slide",this.i+1);this.noteSet("s5-note-time-elapsed",this.formatTime(this.time.elapsed));this.noteSet("s5-note-timeoverall-remaining",this.formatTime(this.time.overallRemaining));this.noteSet("s5-note-time-slide-remaining",this.formatTime(this.time.slideRemaining));var a=jQuery(".s5-note").eq(this.i).html();this.noteSet("s5-active-note",a?a:"No notes for this slide.");this.noteTitleUpdate()},formatTime:function(a,b){b=(b?b:function(g){d=Number(a);var f=Math.floor(d/3600);var c=Math.floor(d%3600/60);var e=Math.floor(d%3600%60);return((f>0?f+":":"")+(c>0?(f>0&&c<10?"0":"")+c+":":"0:")+(e<10?"0":"")+e)});return b()},listSlideTitles:function(e,b,g){b=(b?b:$body);jQuery(".s5-outline").remove();var c=jQuery('<div class="s5-outline" />').appendTo(b).width("auto");var a=jQuery("<ul />").appendTo(c);jQuery(this.s.slideHeaders).each(function(k){var h=jQuery("<li/>").appendTo(a);var j=jQuery("<a>("+(k+1)+"/"+jQuery.s5.slideCount+") - "+jQuery(this).text()+"</a>").attr("href","#s"+k).click(function(i){jQuery.s5.go(k);return false}).prependTo(h)});if(!g){$('<div onclick="jQuery.s5.listSlideTitles(); return false;" class="s5-outlook-close">X</div>').click(function(){jQuery(".s5-outline").remove()}).prependTo(c)}if(e){var f=jQuery(e).offset();c.show().css("left",f.left+"px").css("bottom","0px")}this.scale();this.updateSlideNumber()},updateSlideNumber:function(){this.time.slideRemaining=(this.s.slideDuration/1000);this.time.overallRemaining=(this.slideCount-this.i)*(this.s.slideDuration/1000);this.updateNote();var a=$(".s5-outline ul");a.find("li.s5-active").removeClass("s5-active");var b=a.find("li").eq(this.i).addClass("s5-active");var c=b.height()*(this.i);a.stop().animate({scrollTop:c},500);if(this.i){jQuery("#s5-slide-num").html("Slide: "+(this.i+1)+"/"+(this.slideCount))}else{jQuery("#s5-slide-num").html("")}},toggleLoop:function(){jQuery.s5.s.loop=!jQuery.s5.s.loop},first:function(){this.go("first")},last:function(){this.go("last")},next:function(){this.go("next")},prev:function(){this.go("prev")},go:function(a){if(typeof a=="string"){switch(a){case"next":a=(this.i<(this.slideCount-1)?this.i+1:this.i);break;case"prev":a=(this.i>0?this.i-1:this.i);break;case"last":a=this.slideCount-1;break;case"first":a=0;break}}a=parseInt(a>=this.slideCount-1?this.slideCount-1:a);if(a==this.i){return this.slide()}this.prevViewed=this.i;this.i=a;$("li.s5-slide-li-highlighted").removeClass("s5-slide-li-highlighted");this.liI=-1;this.slides().addClass("s5-hide");this.slide().fadeTo(1,0.01,function(){jQuery(this).removeClass("s5-hide")});jQuery.s5.scale();this.slide().fadeTo("slow",1);if(this.i==0){jQuery(".s5-footer").slideUp()}else{jQuery(".s5-footer").slideDown()}jQuery.s5.s.parent.trigger("slideChange",a,this.slideCount);return this.slide()},goLI:function(c){$("li.s5-slide-li-highlighted").removeClass("s5-slide-li-highlighted");if(isNaN(c+"")){switch(c){case"prev":this.liI--;break;case"next":default:this.liI++;break}}else{this.liI=c}var b=this.slide();var a=b.find("li");if(this.liI>-1&&this.liI<a.length){a.eq(this.liI).addClass("s5-slide-li-highlighted");return b}else{b=this.go(c);a=b.find("li")}switch(c){case"prev":this.liI=a.length-1;a.eq(this.liI).addClass("s5-slide-li-highlighted");break;case"next":default:this.liI=-1;break}},noteSet:function(b,a){if(this.note){jQuery(this.note.document).find("#"+b).html(a)}},noteTitleUpdate:function(){if(this.note){this.note.document.title="("+(this.i+1)+"/"+jQuery.s5.slideCount+") - "+jQuery(this.s.slideHeaders).eq(this.i).text()}},imgs:function(a){a=(a?a:jQuery.s5.slide());var b;a.find("img").each(function(){var c=jQuery(this);if(c.hasClass("s5-image")||c.width()>=jQuery.s5.s.imageSizeToAdjust.width||c.height()>=jQuery.s5.s.imageSizeToAdjust.height){if(b){b.push(c)}else{b=jQuery(c)}}});return b},scale:function(){var h=20;var c=30;var f=($window.height()-jQuery("div.s5-menu").height())-(this.emSize()*2);var g=$window.width()-this.emSize();var e=Math.min(Math.round(f/h),Math.round(g/c));var b=(e<this.s.maxFontSize?e:this.s.maxFontSize);$body.css("font-size",b+"px").height($window.height());$body.find("div.s5-outline").height($body.height()/2);var a=jQuery.s5.slide();var i=this.imgs(a);if(i){jQuery.s5.s.imageSizeAdjustment(a,{height:f,width:g/2},i)}a.css("font-size","");if(a.find("td.s5-slide-left").height()>$window.height()){a.css("font-size","0.8em")}return e},makeSizeDetector:function(){jQuery("#s5-size-detector").remove();this.sizeDetector=jQuery('<div id="s5-size-detector" />').appendTo($body)},sizeDetector:jQuery("<div />"),emSize:function(){var a=this.sizeDetector.height();return(a>1?a:1)},safeImg:function(){$body.find("img").each(function(){var a=jQuery(this);var b=a.attr("src");a.removeAttr("src");jQuery(this).load(function(){jQuery(this).fadeTo(1,0.01);jQuery.s5.scale();jQuery(this).hide().fadeTo(1,1).fadeIn()}).attr("src",b)})},makeTheme:function(f,c,e){if(f){if(f.slideFontColor||f.headerFontColor||f.backgroundColor||f.backgroundImage||f.listItemHighlightColor){this.s.slideFontColor=f.slideFontColor=(f.slideFontColor?f.slideFontColor:"");this.s.headerFontColor=f.headerFontColor=(f.headerFontColor?f.headerFontColor:"");this.s.backgroundColor=f.backgroundColor=(f.backgroundColor?f.backgroundColor:"");this.s.backgroundImage=f.backgroundImage=(f.backgroundImage?f.backgroundImage:"");this.s.listItemHighlightColor=f.listItemHighlightColor=(f.listItemHighlightColor?f.listItemHighlightColor:"")}}var a="";if(e){a="s5-style-note"}else{a="s5-style";if(this.note){this.makeTheme(null,jQuery(this.note.document).find("body"),true)}}jQuery("style."+a).remove();c=(c?c:$body);c.append('<style class="'+a+'">.s5-slide,.s5-note-body,.s5-note-body * {color:'+this.s.slideFontColor+";} .s5-header {color:"+this.s.headerFontColor+";} body {background-color: "+this.s.backgroundColor+";}.s5-footer,.s5-menu,.s5-menu *,#tiki_slideshow_buttons,.s5-outlook-close,#s5-note-menu,#s5-note-menu * {background: "+this.s.headerFontColor+" ! important;color: "+this.s.backgroundColor+" ! important;}.s5-outline {color: "+this.s.headerFontColor+" ! important;background-color: "+this.s.backgroundColor+" ! important;border: solid 1px "+this.s.headerFontColor+" ! important;}.s5-slide a,.s5-outline a {color: "+this.s.headerFontColor+" ! important;}.s5-slide-li-highlighted {color: "+this.s.listItemHighlightColor+";font-size: "+(this.emSize()*1.2)+"px;}.s5-slide-li-highlighted ul li {color: "+this.s.slideFontColor+" ! important;font-size: "+this.emSize()+"px ! important;}</style>");jQuery.s5.scale();if(e){return false}if(!this.s.backgroundImage){return false}if(!this.loadedBackgroundImage==this.s.backgroundImage){return false}jQuery("img.s5-background").remove();var b=jQuery('<img class="s5-background" />').load(function(){jQuery.s5.scale()}).attr("src",this.s.backgroundImage).prependTo(c);this.s.backgroundImage=this.loadedBackgroundImage},keys:function(a){if(!a){a=event;a.which=a.keyCode}switch(a.which){case 10:case 13:case 32:case 34:case 40:jQuery.s5.go("next");break;case 33:case 38:case 8:jQuery.s5.go("prev");break;case 39:jQuery.s5.goLI("next");break;case 37:jQuery.s5.goLI("prev");break;case 36:jQuery.s5.go(0);break;case 35:jQuery.s5.go(this.slideCount-1);break;case 67:break;case 79:jQuery.s5.listSlideTitles($body)}return false}}});