/** 
 * @description		prototype.js & scriptaculous.js base carousel
 * @author        	Peter Slagter; peter [at] procurios [dot] nl;
*/

var ProtoSel=Class.create({initialize:function(d,b,a,c){this.parent=$(d);if(this.parent){this.timeout=b||"5000";this.cssClass=a||"animating";this.ARIA=c||false;this.articles=this.parent.select("div.article");this.carouselArticles="";this.carouselHeight="";this.articleClass="";this.pe="";this.count=0;this.animating=false;this.determineType()}},determineType:function(){this.articleClass=(this.articles.length>1)?"article":this.articles.first().down("div").down("div").readAttribute("class");if(this.articleClass!="article"){this.articleClass=this.articleClass.replace(/(.*?)(^|\s)(newslistitem|newsitem)(\s|$)(.*)/gi,"$3")}this.prepareProtoSel()},prepareProtoSel:function(){this.parent.setStyle({overflow:"hidden"});this.carouselHeight=this.parent.getHeight();this.carouselArticles=(this.articleClass=="article")?this.articles:this.parent.select("."+this.articleClass);if(this.articleClass!="article"){this.parent.down("div.article_content").setStyle({overflow:"hidden",position:"relative",height:"100%"})}this.carouselArticles.each(function(b,a){b.setStyle({height:this.carouselHeight+"px",paddingBottom:"0",marginBottom:"0",paddingTop:"0",marginTop:"0"})}.bind(this));this.pe=new PeriodicalExecuter(this.startProtoSel.bind(this),this.timeout/1000)},startProtoSel:function(){if(this.animating!=true){this.animating=true;this.count=(this.count<this.carouselArticles.length)?this.count+1:1;var a=(this.count<this.carouselArticles.length)?"margin-top:"+this.count*-this.carouselHeight+"px;":"margin-top:"+this.count*0+"px;";new Effect.Morph(this.carouselArticles[0],{style:a,duration:2,afterFinish:function(){this.animating=false}.bind(this)})}}});
