var CategorieClass=new Class({options:{categorie:"JOURNAUX",carouselops:"",carouselcontainer:"",carouselliste:"liste",limite:20,thumbfx:{min:0,max:1,duration:80,transition:Fx.Transitions.Quint.easeOut,container:".thumbnail"}},initialize:function(box,panel,options){if($defined(options)){this.setOptions(options);}this.panel=$(panel);this.box=box;ApplySimplePanel(this.panel);this.categorie=this.options.categorie;this.tips=new Tips();var l=$$(this.options.thumbfx.container);l.each(function(el){try{c=Boolean(el.getProperty("isDefault"));}catch(e){c=false;}this.categorie=(c==true?el.getProperty("categorie"):this.categorie);el2=el.getElement("div");el2.fx=new Fx.Morph(el2,{duration:this.options.thumbfx.duration,transition:this.options.thumbfx.transition});el2.setStyle("opacity",c==true?this.options.thumbfx.max:this.options.thumbfx.min);el.addEvent("click",function(event,el){this.doAction("select",el.getProperty("categorie"));}.bindWithEvent(this,el));el.store("tip:title",el.getProperty("title"));el.store("tip:text",el.getProperty("texte"));this.tips.attach(el);}.bind(this));this.step="init";this.doAction("load");},doAction:function(action,index){switch(this.step){case"attente":switch(action){case"ok":this.selection=index;l=$(this.options.carouselliste);l.empty();if(this.selection.length==0){this.panel.maximizePanel("vide");this.step="liste";break;}try{for(i=0;(i<this.selection.length)&&(i<this.options.limite);i++){r=this.selection[i];if(r.chapitre.length==0){continue;}if(r.valide==false){continue;}s=new Element("span").injectInside(l);img=new Element("img").addClass("thumb").setProperties({src:baseOption.mediaurl+r.chapitre[0].screenshot,width:baseOption.thumbw,height:baseOption.thumbh});img.store("clipid",r.id);img.addEvent("click",function(el){try{clipobj.doLoad(el.target.retrieve("clipid"));}catch(e){}}.bindWithEvent(this,img));img.injectInside(s);t="<ul>";img.store("tip:title",r.titre);for(k=0;k<r.chapitre.length;k++){t+="<li>"+r.chapitre[k].resume+"</li>";}img.store("tip:text",t+"</ul>");this.tips.attach(img);}this.carousel=new carousel(this.options.carouselliste,this.options.carouselcontainer,this.options.carouselops);this.step="liste";this.panel.maximizePanel("liste");}catch(e){}break;case"error":this.panel.maximizePanel("erreur");break;}break;case"liste":switch(action){case"prev":if($defined(this.carousel)==false){break;}this.carousel.prev();break;case"next":if($defined(this.carousel)==false){break;}this.carousel.next();break;case"load":case"select":if(this.categorie==index){break;}var from=false;var to=false;l=$$(this.options.thumbfx.container);for(i=0;i<l.length;i++){c=l[i].getProperty("categorie");if(c==this.categorie){from=l[i];}if(c==index){to=l[i];}}if((from==false)||(to==false)){break;}this.categorie=index;this.step="anim";from.getElement("div").fx.start({opacity:this.options.thumbfx.min});(function(to){to.getElement("div").fx.start({opacity:this.options.thumbfx.max});}).delay(this.options.thumbfx.duration,this,to);(function(){this.doAction("load");}).delay(this.options.thumbfx.duration*2,this);break;}break;case"init":case"anim":switch(action){case"load":this.step="attente";this.panel.maximizePanel("attente");JWebTv.getClipByCategorie(this.categorie,{callback:function(data){this.doAction("ok",data);}.bind(this),errorHandler:function(data){this.doAction("error",data);}.bind(this)});break;}break;}},prev:function(){this.doAction("prev");},next:function(){this.doAction("next");}});CategorieClass.implement(new Events);CategorieClass.implement(new Options);
