function klSlideShow(ssd,id){this.start=function(){if(this.autoMode)return;this.autoMode=true;this.autoAdvance();};this.autoAdvance=function(){if(this.currentSlide>=0 && this.currentSlide<this.slides.length)this.slides[this.currentSlide].element.style.display='none';this.currentSlide++;if(this.currentSlide==this.slides.length){if(this.params.loop)this.currentSlide=0;else return this.autoStop();}if(this.updateNewSlide())this.advanceTimer=setTimeout('klSlideShow.advance('+this.id+')',this.slides[this.currentSlide].params.delay);return;};this.autoStop=function(){this.autoMode=false;if(this.advanceTimer)clearTimeout(this.advanceTimer);return;};this.updateNewSlide=function(){if(this.currentSlide > this.slides.length)return false;this.slides[this.currentSlide].element.style.display='block';if(this.params.controlToc && !this.params.controlToc.options[this.currentSlide].selected)this.params.controlToc.options[this.currentSlide].selected=true;if(this.params.controlCounter)this.params.controlCounter.firstChild.nodeValue=(this.currentSlide+1)+'/'+this.slides.length;return true;};this.goToSlide=function(slideNum){if(this.autoMode)this.autoStop();if(this.currentSlide>=0 && this.currentSlide<this.slides.length)this.slides[this.currentSlide].element.style.display='none';var newSlide=slideNum;if(newSlide<0)newSlide=this.params.loop?this.slides.length-1:0;if(newSlide>=this.slides.length)newSlide=this.params.loop?0:this.slides.length-1;this.currentSlide=newSlide;this.updateNewSlide();return;};this.id=id;this.container=ssd;this.currentSlide=-1;this.autoMode=false;this.advanceTimer=null;this.controlEventHandlers={controlStart:{event:'click',listener:klSlideShow.controlStartListener}, controlStop:{event:'click',listener:klSlideShow.controlStopListener}, controlToc:{event:'change',listener:klSlideShow.controlTocListener}, controlNext:{event:'click',listener:klSlideShow.controlNextListener}, controlPrevious:{event:'click',listener:klSlideShow.controlPreviousListener}, controlHome:{event:'click',listener:klSlideShow.controlHomeListener}, controlEnd:{event:'click',listener:klSlideShow.controlEndListener}};this.params=new Array();klSlideShow.parseParameters(this.params,klSlideShow.ssOptDefs,klSlideShow.ssDefOptStr);klSlideShow.parseParameters(this.params,klSlideShow.ssOptDefs,ssd.getAttribute('klslideshow'));for(o in this.params){if(/control/i.test(o)){if(/null/i.test(this.params[o]))this.params[o]=null;else this.params[o]=document.getElementById(this.params[o]);if(this.params[o]){this.params[o].klSS=this;if(this.controlEventHandlers[o])klSlideShow.installListener(this.params[o], this.controlEventHandlers[o].event, this.controlEventHandlers[o].listener);}}}var reData=/^(\d+)(s|ms)$/.exec(this.params.delay);this.params.delay=parseInt(reData[1],10)*(reData[2]=='s'?1000:1);this.params.loop=this.params.loop=='true'?true:false;this.slides=new Array();for(var i=0;i<this.container.childNodes.length;i++)if(/div/i.test(this.container.childNodes[i].nodeName)&& this.container.childNodes[i].getAttribute('klslide'))this.slides.push(new klSlideShow.klSlide(this.container.childNodes[i],this));for(var i=0;i<this.container.childNodes.length;i++)if(!(this.container.childNodes[i].nodeType==1 && this.container.childNodes[i].getAttribute('klslide')))this.container.removeChild(this.container.childNodes[i]);if(this.params.controlToc &&/select/i.test(this.params.controlToc.nodeName)){while(this.params.controlToc.options.length)this.params.controlToc.remove(0);var opt=null;for(var i=0;i<this.slides.length;i++){opt=document.createElement('option');opt.value=i;opt.appendChild(document.createTextNode(this.slides[i].params.title));this.params.controlToc.appendChild(opt);}}this.container.className=this.params.className;if(/auto/i.test(this.params.start))this.start();else{this.currentSlide=0;this.updateNewSlide();}return;}klSlideShow.klSlide=function(sd,parent){this.element=sd;this.ss=parent;this.params=new Array();var hes=this.element.getElementsByTagName(this.ss.params.slideTitles);this.params.title=hes.length>0?hes[0].firstChild.nodeValue:'';this.params.delay=this.ss.params.delay;klSlideShow.parseParameters(this.params,klSlideShow.sOptDefs,this.element.getAttribute('klslide'));if(this.params.className)this.element.className=this.params.className;this.element.style.display='none';return;};klSlideShow.list=new Array();klSlideShow.init=function(){if(document.body.addEventListener || document.body.attachEvent){var divs=document.body.getElementsByTagName('div');for(var i=0;i<divs.length;i++)if(divs[i].getAttribute('klslideshow')){divs[i].klss=new klSlideShow(divs[i],klSlideShow.list.length);klSlideShow.list.push(divs[i].klss);}}};klSlideShow.installListener=function(node,event,listener){if(node.addEventListener){node.addEventListener(event,listener,false);return true;}if(node.attachEvent){node.attachEvent('on'+event,listener);return true;}return false;};klSlideShow.advance=function(id){return klSlideShow.list[id].autoAdvance();};klSlideShow.controlStartListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.start();};klSlideShow.controlStopListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.autoStop();};klSlideShow.controlTocListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.goToSlide(target.selectedIndex);};klSlideShow.controlNextListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.goToSlide(target.klSS.currentSlide+1);};klSlideShow.controlPreviousListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.goToSlide(target.klSS.currentSlide-1);};klSlideShow.controlHomeListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.goToSlide(0);};klSlideShow.controlEndListener=function(e){var target=e.target?e.target:(e.srcElement?e.srcElement:null);if(target && target.klSS)target.klSS.goToSlide(target.klSS.slides.length-1);};klSlideShow.ssOptDefs=new Array();klSlideShow.ssOptDefs['class-name']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['slide-titles']=/^\s*(h[1-6])\s*$/;klSlideShow.ssOptDefs['control-start']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-stop']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-toc']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-counter']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-next']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-previous']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-home']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['control-end']=/^\s*(\w+)\s*$/;klSlideShow.ssOptDefs['start']=/^\s*(manual|auto)\s*$/;klSlideShow.ssOptDefs['delay']=/^\s*(\d+(?:s|ms))\s*$/;klSlideShow.ssOptDefs['loop']=/^\s*(true|false)\s*$/;klSlideShow.ssDefOptStr='class-name:klSlideShow;slide-titles:h2;control-start:null;control-stop:null;control-toc:null;control-counter:null;control-next:null;control-previous:null;control-home:null;contol-end:null;start:auto;delay:5s;loop:false';klSlideShow.sOptDefs=new Array();klSlideShow.sOptDefs['class-name']=/^\s*(\w+)\s*$/;klSlideShow.sOptDefs['title']=/^\s*'(.+)'\s*$/;klSlideShow.sOptDefs['delay']=/^\s*(\d+(?:s|ms))\s*$/;klSlideShow.parseParameters=function(object,definitions,parameters){paramEntries=parameters.split(';');for(var i=0;i<paramEntries.length;i++){paramEntry=paramEntries[i].split(':');if(paramEntry.length==2){paramName=paramEntry[0].replace(/^\s*([\w-]+)\s*$/,'$1');if(definitions[paramName]){res=definitions[paramName].exec(paramEntry[1]);if(res && res[1])object[klSlideShow.convertCSSName(paramName)]=res[1];}}}};klSlideShow.convertCSSName=function(cssName){sn=cssName.split('-');rs=sn[0];for(var i=1;i<sn.length;i++)rs+=sn[i].replace(/^(\w)(\w*)$/,function(str,p1,p2,offset,s){return p1.toUpperCase()+p2;});return rs;};
