Effect.SetCSS=Class.create(Effect.Base,{initialize:function(element){this.element=$(element);if(!this.element)throw(Effect._elementDoesNotExistError);var options=SAPO.extendObj({style:{}},arguments[1]||{});this.start(options);},update:function(position){this.element.setStyle(this.options.style);}});if(!SAPO.Widget||typeof(SAPO.Widget)=='undefined'){SAPO.namespace('Widget');}
SAPO.Widget.ImageSlider=function(element,options){if(SAPO.Exception&&typeof(SAPO.Exception)!='undefined'){this.exception=new SAPO.Exception('SAPO::Widget.ImageSlider');}else{this.exception=false;}
this.init(element,options);};SAPO.Widget.ImageSlider.prototype={init:function(element)
{var options=SAPO.extendObj({debug:false,zoom:false,min_size:false,opacity:false,hasTabs:true,headlines_size:13,speed:2,min_opacity:1,zoom_area_leftover:0,visible:5,initial_element:false,image_size:[100,100],left_control_content:'«',right_control_content:'»',tab_off_class:'abaJogosOff',tab_on_class:'abaJogosOn'},arguments[1]||{});this.element=$(element);this.element.setStyle({position:'relative'});if(options.debug){this.element.insert({after:''});}
if(options.zoom){if(options.min_size){this.zoom_array_w=this.min_percentilz(options.visible_area_width,options.visible,options.image_size[0]);this.zoom_array_h=this.min_percentilz(options.visible_area_width,options.visible,options.image_size[1]);}else{this.zoom_array_w=this.max_percentilz(options.visible_area_width,options.visible,options.image_size[0]);this.zoom_array_h=this.max_percentilz(options.visible_area_width,options.visible,options.image_size[1]);}
options.image_size[0]=this.zoom_array_w[0];options.image_size[1]=this.zoom_array_h[0];options.visible_area_height=this.zoom_array_h[parseInt(options.visible/2)+1];options.zoom_area_leftover=options.visible_area_width-(options.image_size[0]*options.visible)+2;}else{options.visible_area_width=options.visible*options.image_size[0];options.visible_area_height=options.image_size[1];}
if(options.opacity){this.opacity_cache(options.min_opacity,options.visible);}
this.options=options;if(this.options.tabs){this.create_tabs();this.create_controls();}else{throw new SAPO.Exception('SAPO::Widget.ImageSlider');}},create_tabs:function(){if(this.options.tabs.length){if(this.options.hasTabs){var tabsStyleDisplay='';}else{var tabsStyleDisplay='none';}
this.options.tabs.each(function(e){var output='
'
this.element.insert({bottom:output});$('tab_picker_'+e.id).onclick=this.selectTab();}.bind(this));this.options.tabs.each(function(e){if(this.options.initial_element!==false){var num=parseInt(this.options.visible/2)-this.options.initial_element;if(num>=0){var arr=e.elements.slice(-num);e.elements.length=e.elements.length-num;while(num--){e.elements.splice(0,0,arr[num]);}}else{var arr=e.elements.splice(0,-num);e.elements=e.elements.concat(arr);}}
var output='';output+='
';output+='
';for(var i=0;i';}
output+=this.create_headline(e,i%e.elements.length);}
output+='
';this.element.insert({bottom:output});}.bind(this));}else{throw new SAPO.Exception('SAPO::Widget.ImageSlider');}},create_headline:function(e,i){return'
';},create_controls:function(){this.left_c=new Element('a');this.left_c.addClassName('left_control');this.left_c.setAttribute('href','#');this.left_c.onclick=function(){return false;};this.left_c.innerHTML=this.options.left_control_content;this.element.insert({bottom:this.left_c});this.right_c=new Element('a');this.right_c.addClassName('right_control');this.right_c.setAttribute('href','#');this.right_c.onclick=function(){return false;};this.right_c.innerHTML=this.options.right_control_content;this.element.insert({bottom:this.right_c});Element.observe(this.right_c,'mousedown',this.slide.bindAsEventListener(this,-1));Element.observe(this.left_c,'mousedown',this.slide.bindAsEventListener(this,1));Event.observe(document,'mouseup',this.stop.bindAsEventListener(this));if(this.options.opacity){this.element.select('.headline').each(function(e){e.setOpacity(this.options.min_opacity);}.bind(this));}
this.element.select('.tab_chooser').first().firstDescendant().onclick();},max_percentilz:function(v_w,num,i_s){var a_n=(i_s/v_w)*100;var n=parseInt(num/2)+1;var a_1=((2*((100+a_n)/2))-(n*a_n))/n;var R=(a_n-a_1)/(n-1);var zoom_array=[a_1*v_w/100];for(var i=1;i<=n;i++){zoom_array.push((a_1+(i-1)*R)*v_w/100);}
var aux=zoom_array.reverse(false);aux.shift();return zoom_array.concat(aux);},min_percentilz:function(v_w,num,i_s){var a_1=(i_s/v_w)*100;var n=parseInt(num/2)+1;var zoom_array=[a_1*v_w/100];var R=((((2*n)-1)*a_1)-100)/-((n-1)*(n-1));for(var i=1;i<=n;i++){zoom_array.push((a_1+(i-1)*R)*v_w/100);}
var aux=zoom_array.reverse(false);aux.shift();return zoom_array.concat(aux);},opacity_cache:function(min_o,n){var m=(1-min_o)/parseInt(n/2);var b=min_o;this.opacity_array=[min_o];for(var i=0;i<=parseInt(n/2);i++){this.opacity_array.push(Math.max((m*i)+b,min_o));}
var aux=this.opacity_array.reverse(false);aux.shift();this.opacity_array=this.opacity_array.concat(aux);},selectTab:function(){var that=this;return function(){that.element.select('.tab_chooser').each(function(e){if(e.hasClassName(that.options.tab_on_class)){e.removeClassName(that.options.tab_on_class);}
e.addClassName(that.options.tab_off_class);});that.element.select('.tab').each(function(e){e.select('.headline').each(function(e){if(that.options.zoom){e.setStyle({'width':that.options.image_size[0]+'px','height':that.options.image_size[1]+'px'});e.firstDescendant().childElements().last().hide();}
if(that.options.opacity){e.setOpacity(that.options.min_opacity);}});e.hide();});Element.extend(this).up().addClassName(that.options.tab_on_class);Element.extend(this).up().removeClassName(that.options.tab_off_class);that.active_tab=$(this.getAttribute('tab'));that.slide_area=that.active_tab.firstDescendant();that.first_buffer=that.slide_area.firstDescendant();that.first_buffer.setStyle({'float':'left'});that.slide_area.setStyle({'left':'0px'});that.float_right=false;that.actual_offset=0;that.slide_area_width=parseInt(that.slide_area.getStyle('width'));that.element.select('.headline img').each(function(e){e.onload=function(){if(this.getWidth()>this.getHeight()){this.setStyle({'height':'auto','width':'90%'});}};});that.active_tab.show();that.easeTo(0);return false;};},stop:function(ev){if(typeof(this.executer)=='undefined')return;for(var i=0,l=this.executer.length;i
-this.options.image_size[0]&&x0&&this.actual_offset<=0){this.float_right=true;this.actual_offset=aux;next_offset=this.actual_offset+distance*speed;new Effect.Parallel([new Effect.SetCSS(this.first_buffer,{style:{'float':'right'},sync:true}),new Effect.SetCSS(this.slide_area,{style:{'left':this.actual_offset+'px'},sync:true})],{queue:{position:'end',scope:this.element.id},delay:0,duration:0,transition:Effect.Transitions.full});}else if(this.float_right&&next_offset=aux){this.float_right=false;this.actual_offset=0;next_offset=this.actual_offset+distance*speed;new Effect.Parallel([new Effect.SetCSS(this.first_buffer,{style:{'float':'left'},sync:true}),new Effect.SetCSS(this.slide_area,{style:{'left':this.actual_offset+'px'},sync:true})],{queue:{position:'end',scope:this.element.id},delay:0,duration:0,transition:Effect.Transitions.full});}else if(!this.float_right&&next_offset=aux){this.float_right=true;this.actual_offset=this.actual_offset-(distance*speed*this.options.visible);next_offset=this.actual_offset+distance*speed;new Effect.Parallel([new Effect.SetCSS(this.first_buffer,{style:{'float':'right'},sync:true}),new Effect.SetCSS(this.slide_area,{style:{'left':this.actual_offset+'px'},sync:true})],{queue:{position:'end',scope:this.element.id},delay:0,duration:0,transition:Effect.Transitions.full});}else if(this.float_right&&next_offset>0&&this.actual_offset<=0){this.float_right=false;this.actual_offset=this.actual_offset-(distance*speed*this.options.visible);next_offset=this.actual_offset+distance*speed;new Effect.Parallel([new Effect.SetCSS(this.first_buffer,{style:{'float':'left'},sync:true}),new Effect.SetCSS(this.slide_area,{style:{'left':this.actual_offset+'px'},sync:true})],{queue:{position:'end',scope:this.element.id},delay:0,duration:0,transition:Effect.Transitions.full});}
FXarray.push(new Effect.Move(this.slide_area,{sync:true,x:distance*speed,y:0,mode:'relative',delay:0,transition:Effect.Transitions.linear}));if(this.options.zoom||this.options.opacity){for(var i=0;i