/*
 * amTools
 * Copyright (c) 2008, AMteam vormgevers + programmeurs
 */
var amTools={version:"0.2"};amTools.Slideshow=new Class({Implements:[Events,Options],options:{container:"slideshow",elements:"img",wait:4000,transition:Fx.Transitions.Sine.easeInOut,duration:1000,autoStart:true,onStart:Class.empty,onChange:Class.empty,onStop:Class.empty},initialize:function(a){this.setOptions(a);this.container=$(this.options.container);if(this.container==null){return}this.container.setStyle("position","relative");this.elements=$$(this.container.getElements(this.options.elements));for(var b=1;b<this.elements.length;b++){this.elements[b].setStyles({position:"absolute",top:0,left:0,opacity:0})}this.index=0;this.intervalId=-1;if(this.options.autoStart){this.start()}},start:function(){if(this.elements.length>1&&this.intervalId<0){this.fireEvent("start");this.intervalId=this.next.bind(this).periodical(this.options.wait)}},stop:function(){if(this.intervalId>0){$clear(this.intervalId);this.intervalId=-1;this.fireEvent("stop")}},next:function(){if(this.elements.length<=1){return}var a=this.index;if(this.index>=(this.elements.length-1)){this.elements[(this.index=0)].setStyle("opacity",1);this.elements[a].set("tween",{duration:this.options.duration,transition:this.options.transition,link:"chain",onComplete:function(){this.fireEvent("change")}.bind(this)}).fade("out")}else{this.elements[++this.index].set("tween",{duration:this.options.duration,transition:this.options.transition,link:"chain",onComplete:function(){this.elements[a].setStyle("opacity",0);this.fireEvent("change")}.bind(this)}).fade("in")}},previous:function(){if(this.elements.length<=1){return}var a=this.index;if(this.index<=0){this.elements[(this.index=(this.elements.length-1))].set("tween",{duration:this.options.duration,transition:this.options.transition,link:"chain",onComplete:function(){this.elements[a].setStyle("opacity",0);this.fireEvent("change")}.bind(this)}).fade("in")}else{this.elements[--this.index].setStyle("opacity",1);this.elements[a].set("tween",{duration:this.options.duration,transition:this.options.transition,link:"chain",onComplete:function(){this.fireEvent("change")}.bind(this)}).fade("out")}}});amTools.SmoothAccordion=new Class({Implements:[Options],options:{elements:"#content .item",togglers:"#content .item h2 a",initial:0,initialFragment:true,minHeight:50,effect:{duration:1000,transition:"quad:out",link:"cancel"}},initialize:function(b){this.setOptions(b);this.elements=$$(this.options.elements);this.togglers=$$(this.options.togglers);if(this.options.initialFragment&&location.hash!=null){var a=$(location.hash.substring(1));var c=this.elements.indexOf(a);if(c>=0){this.options.initial=c}}this.elements.each(function(f,e){f.store("originalHeight",f.getSize().y);if(e!=this.options.initial){f.setStyle("height",this.options.minHeight)}var d=$H(this.options.effect).extend({duration:Math.max(f.retrieve("originalHeight").toInt()*1.5,this.options.effect.duration)}).getClean();f.set("tween",d);f.get("tween").addEvent("complete",function(){new Fx.Scroll(window,this.options.effect).toElement(f)}.bind(this))},this);this.togglers.addEvent("click",function(f){var d=this.togglers.indexOf(f.target);if(this.elements[d].getSize().y<=this.options.minHeight){this.elements[d].tween("height",this.elements[d].retrieve("originalHeight"))}else{this.elements[d].tween("height",this.options.minHeight);f.preventDefault()}}.bind(this));$$(document.links).filter(function(d){return !this.togglers.contains(d)}.bind(this)).addEvent("click",function(g){var d=g.target.href.match(/#(.*)$/);if(d==null){return}else{d=d[1]}var f=this.elements.indexOf($(d));if(f>=0){if(this.elements[f].getSize().y<=this.options.minHeight){this.elements[f].tween("height",this.elements[f].retrieve("originalHeight"))}else{new Fx.Scroll(window,this.options.effect).toElement(this.elements[f]);g.preventDefault()}}}.bind(this))}});