Rico.ContentTransitionBase=function(){};Rico.ContentTransitionBase.prototype={initialize:function(c,a,b){if(typeof c=="string"){c=$$(c)}if(typeof a=="string"){a=$$(a)}this.titles=c;this.contents=a;this.options=Object.extend({duration:200,steps:8,rate:Rico.Effect.easeIn},b||{});this.hoverSet=new Rico.HoverSet(c,b);a.each(function(d){if(d){Element.hide(d)}});this.selectionSet=new Rico.SelectionSet(c,Object.extend(this.options,{onSelect:this.select.bind(this)}));if(this.initContent){this.initContent()}},reset:function(){this.selectionSet.reset()},select:function(c){if(this.selected==this.contentOf(c)){return}var a=this.contentOf(c);if(this.transition){if(this.selected){var b=this.transition(a);if(b){Rico.animate(b,this.options)}}else{Element.show(a)}}else{if(this.selected){Element.hide(this.selected)}Element.show(a)}this.selected=a;if(this.options.onMySelect){this.options.onMySelect(c)}},add:function(b,a){this.titles.push(b);this.contents.push(a);this.hoverSet.add(b);this.selectionSet.add(b);this.selectionSet.select(b)},remove:function(a){},removeAll:function(){this.hoverSet.removeAll();this.selectionSet.removeAll()},openByIndex:function(a){this.selectionSet.selectIndex(a)},contentOf:function(a){return this.contents[this.titles.indexOf(a)]}};Rico.ContentTransition=Class.create();Rico.ContentTransition.prototype=Object.extend(new Rico.ContentTransitionBase(),{});Rico.SlidingPanel=Class.create();Rico.SlidingPanel.prototype={initialize:function(a){this.panel=a;this.options=arguments[1]||{};this.closed=true;this.showing=false;this.openEffect=this.options.openEffect;this.closeEffect=this.options.closeEffect;this.animator=new Rico.Effect.Animator();Element.makeClipping(this.panel)},toggle:function(){if(!this.showing){this.open()}else{this.close()}},open:function(){if(this.closed){this.showing=true;Element.show(this.panel);this.options.disabler.disableNative()}this.animator.play(this.openEffect,{onFinish:function(){Element.undoClipping($(this.panel))}.bind(this),rate:Rico.Effect.easeIn})},close:function(){Element.makeClipping(this.panel);this.animator.stop();this.showing=false;this.animator.play(this.closeEffect,{onFinish:function(){Element.hide(this.panel);this.options.disabler.enableNative()}.bind(this),rate:Rico.Effect.easeOut})}};Rico.Accordion=Class.create();Rico.Accordion.prototype=Object.extend(new Rico.ContentTransitionBase(),{initContent:function(){this.selected.style.height=this.options.panelHeight+"px"},transition:function(a){if(!this.options.noAnimate){return new Rico.AccordionEffect(this.selected,a,this.options.panelHeight)}else{a.style.height=this.options.panelHeight+"px";if(this.selected){Element.hide(this.selected)}Element.show(a)}}});Rico.TabbedPanel=Class.create();Rico.TabbedPanel.prototype=Object.extend(new Rico.ContentTransitionBase(),{initContent:function(){if(typeof this.options.panelWidth=="number"){this.options.panelWidth+="px"}if(typeof this.options.panelHeight=="number"){this.options.panelHeight+="px"}if(!this.options.corners){this.options.corners="top"}if(Rico.Corner&&this.options.corners!="none"){if(!this.options.border){this.options.color="transparent"}for(var a=0;a<this.titles.length;a++){if(this.titles[a]){if(this.options.panelHdrWidth){this.titles[a].style.width=this.options.panelHdrWidth}Rico.Corner.round(this.titles[a],this.options)}}}this.transition(this.selected)},transition:function(a){if(this.selected){Element.hide(this.selected)}Element.show(a);if(this.options.panelHeight){a.style.height=this.options.panelHeight}if(this.options.panelWidth){a.style.width=this.options.panelWidth}}});Rico.SlidingPanel.top=function(a,d){var b=Object.extend({disabler:Rico.Controls.defaultDisabler},arguments[2]||{});var c=b.height||Element.getDimensions(d)[1]||d.offsetHeight;var e=b.top||Position.positionedOffset(a)[1];b.openEffect=new Rico.Effect.SizeFromTop(a,d,e,c,{baseHeight:c});b.closeEffect=new Rico.Effect.SizeFromTop(a,d,e,1,{baseHeight:c});a.style.height="0px";d.style.top=-c+"px";return new Rico.SlidingPanel(a,b)};Rico.SlidingPanel.bottom=function(a){var b=Object.extend({disabler:Rico.Controls.blankDisabler},arguments[1]||{});var c=b.height||Element.getDimensions(a).height;var d=Position.positionedOffset(a)[1];b.openEffect=new Rico.Effect.SizeFromBottom(a,d-c,c);b.closeEffect=new Rico.Effect.SizeFromBottom(a,d,1);return new Rico.SlidingPanel(a,b)};Rico.includeLoaded("ricoComponents.js");