Rico.Accordion=Class.create();
Rico.Accordion.prototype={initialize:function(b,c){this.container=$(b);
if(!this.container){return
}this.lastExpandedTab=null;
this.accordionTabs=new Array();
this.setOptions(c);
this._attachBehaviors();
if(this.options.panelWidth){this.container.style.width=this.options.panelWidth+"px"
}if(this.options.tabLocation=="inline"&&!this.options.fixborders){this.container.style.borderBottom="1px solid "+this.options.borderColor
}if(this.options.onLoadShowTab>=this.accordionTabs.length){this.options.onLoadShowTab=0
}var a=(this.options.panelHeight=="auto");
for(var d=0;
d<this.accordionTabs.length;
d++){this.accordionTabs[d].content.style.display="inline";
this.accordionTabs[d].content.style.margin="0px";
if(d!=this.options.onLoadShowTab){this.accordionTabs[d].collapse();
this.accordionTabs[d].content.style.display="none";
this.accordionTabs[d].content.style.height="1px";
if(this.options.panelHeight=="auto"){this.accordionTabs[d].content.style.overflowY="hidden"
}else{this.accordionTabs[d].content.style.overflowY="auto"
}}else{this.accordionTabs[d].showExpanded(a);
this.accordionTabs[d].content.style.display="block";
if(this.options.panelHeight=="auto"){this.accordionTabs[d].content.style.height=this.accordionTabs[d].content.scrollHeight+"px"
}else{this.accordionTabs[d].content.style.overflowY="auto";
this.accordionTabs[d].content.style.height=this.options.panelHeight+"px"
}this.lastExpandedTab=this.accordionTabs[d]
}this.accordionTabs[d].content.style.overflowX="hidden"
}},setOptions:function(a){this.options={expandedBg:"#63699c",hoverBg:"#63699c",collapsedBg:"#6b79a5",expandedTextColor:"#ffffff",expandedFontWeight:"bold",hoverTextColor:"#ffffff",collapsedTextColor:"#ced7ef",collapsedFontWeight:"normal",borderColor:"#6b79a5",panelHeight:200,onShowTab:null,onLoadShowTab:0,tabLocation:"inline",tabSpacing:"1",panelWidth:0,mode:"normal",roundCorners:false,fixborders:false,expandedBgImg:false,expandedClassName:"expanded",collapsedBgImg:false,collapsedClassName:"collapsed",tabLocations:"inline",hoverImg:false,duration:false,transitionColor:false};
Object.extend(this.options,a||{})
},showTabByIndex:function(d,b){var a=arguments.length==1?true:b;
if(d<this.accordionTabs.length&&d>=0){var c=this.accordionTabs[d];
this.showTab(c,a)
}else{if(d<0){this.showTabHide(this.accordionTabs.length-1,"desc")
}}},showTabHide:function(c,g){if(!g){g="desc"
}var a=this;
var f;
if((g=="desc"&&c>=0)||(g=="asc"&&c<a.accordionTabs.length)){var e;
if(g=="desc"){e=c-1
}else{e=c+1
}f=this.accordionTabs[c];
var b=(parseInt(f.content.offsetHeight)<=2)?true:false;
if(!b){f.content.style.display="";
new Rico.Effect.AccordionSize(f.content,this.options.panelHeight,100,10,{mode:"free",complete:function(){a.showTabHide(e)
}})
}else{a.showTabHide(e)
}}else{for(var d=0;
d<=(this.accordionTabs.length-1);
d++){f=this.accordionTabs[d];
a.showTabDone(f,false,true,{showCollapsed:function(){}})
}this.lastExpandedTab=null
}},showTab:function(g,d){var e=(this.options.tabLocation=="inline")&&(arguments.length==1?true:d);
var f=(parseInt(g.content.offsetHeight)<=2)?true:false;
var h=this;
var a=this.lastExpandedTab;
var l;
var k;
var b=this.options.panelHeight;
var j=this.options.transitionColor;
if(!this.lastExpandedTab){this.lastExpandedTab=g
}g.content.style.display="";
if(!(this.options.mode=="free"&&e)&&!(b=="auto")&&e&&(g.content.offsetHeight<=5)&&(this.lastExpandedTab.content.offsetHeight>5)){this.lastExpandedTab.content.style.height=(this.lastExpandedTab.content.offsetHeight-1)+"px"
}if(this.options.mode=="free"&&e&&this.lastExpandedTab!=g){this.lastExpandedTab.content.style.overflowY="auto"
}else{this.lastExpandedTab.content.style.overflowY="hidden"
}var i=1;
if(RicoUtil.isIE){i=1.3
}if(b=="auto"){l=g.content.scrollHeight+c;
k=parseInt(this.lastExpandedTab.content.scrollHeight)+c;
var c=5;
g.content.style.overflowY="hidden";
l=g.content.scrollHeight+c;
k=this.lastExpandedTab.content.scrollHeight+c;
if(this.options.duration){duration2=duration=this.options.duration*i
}else{duration=parseInt(l*i);
duration2=parseInt(k*i)
}}else{g.content.style.overflowY="hidden";
k=l=b;
if(this.options.duration){duration2=duration=this.options.duration*i
}else{duration=duration2=parseInt(l*i)
}}if(this.options.mode=="free"&&e){new Rico.Effect.AccordionSize(g.content,l,duration,(duration/10),{mode:this.options.mode,color:j,complete:function(){h.showTabDone(g,f,true,{showCollapsed:function(){}})
}})
}else{if(this.lastExpandedTab==g){if((this.options.onLoadShowTab==-2&&e)||f||(this.options.mode=="free"&&!e)){g.content.style.overflowY="hidden";
new Rico.Effect.AccordionSize(g.content,l,duration,(duration/10),{mode:"free",color:j,complete:function(){h.showTabDone(g,f,true,{showCollapsed:function(){}})
}});
if(!f){this.lastExpandedTab=false
}}else{g.content.style.overflowY="auto"
}}else{if(b=="auto"){g.content.style.display="none";
new Rico.Effect.AccordionSize(a.content,k,duration2,(duration2/10),{mode:"free",color:j,complete:function(){g.showExpanded(true);
a.showCollapsed(true,true);
g.content.style.display="";
a.content.style.display="none";
new Rico.Effect.AccordionSize(g.content,l,duration,(duration/10),{mode:"free",color:j,complete:function(){a.content.style.display="";
h.showTabDone(g,f,true,a)
}})
}});
this.lastExpandedTab=g
}else{if(e){new Rico.Effect.AccordionSize(this.lastExpandedTab.content,l+1,duration,(duration/10),{couple:g.content,mode:this.options.mode,color:j,complete:function(){h.showTabDone(g,f,true,a)
}});
this.lastExpandedTab=g
}else{if(this.options.mode=="free"||f){this.showTabDone(g,f,false,a)
}if(f){this.lastExpandedTab=g
}}}}}},showTabDone:function(d,c,a,e){var b=(this.options.panelHeight=="auto");
if(c){d.showExpanded(b);
e.showCollapsed();
if(!a){if(d!=e){e.content.style.height="1px";
e.content.style.display="none"
}}if(!b){d.content.style.height=this.options.panelHeight+"px"
}}else{if(this.options.mode=="free"){d.showCollapsed();
if(!a){d.content.style.height="1px";
e.content.style.height="1px";
d.content.style.display="none";
e.content.style.display="none"
}}else{if(a){if(d!=e){d.showCollapsed();
d.content.style.height="1px";
d.content.style.display="none"
}}else{e.content.style.height="1px";
e.content.style.display="none";
e.showCollapsed();
d.showExpanded(b)
}}}if(this.options.onShowTab){this.options.onShowTab(this.lastExpandedTab)
}},_attachBehaviors:function(){var e=this._getDirectChildrenByTag(this.container,"DIV");
var f=null;
var j=null;
if(this.options.tabLocation!="inline"){f=document.createElement("div");
f.style.border="1px solid "+this.options.borderColor;
f.style.clear="both";
this.container.insertBefore(f,this.container.firstChild);
j=document.createElement("div");
j.style.overflowY="hidden";
j.style.backgroundColor="transparent";
if(this.options.tabLocation=="top"){this.container.insertBefore(j,this.container.firstChild)
}else{if(this.options.tabLocation=="bottom"){this.container.appendChild(j)
}}this.container.style.overflowY="hidden"
}for(var d=0;
d<e.length;
d++){var k=this._getDirectChildrenByTag(e[d],"DIV");
if(k.length!=2){alert("Warning: panel "+d+" has "+k.length+" children (expected 2");
continue
}var b=k[0];
var a=k[1];
if(this.options.tabLocation!="inline"){var c;
var g;
if(b.textContent){c=b.textContent
}else{c=b.innerText
}c=c.replace(/^\s*|\s*$/g,"");
c=c.substring(0,10);
b.overflow="hidden";
a.style.clear="left";
a.style.overflowX="hidden";
f.appendChild(a);
b.style.padding="0px";
if(this.options.roundCorners){if(this.options.tabLocation=="top"){b.style.marginTop="-5px"
}else{if(this.options.tabLocation=="bottom"){b.style.marginBottom="-5px"
}}}var h=document.createElement("div");
h.appendChild(b);
if(RicoUtil.isIE){h.style.styleFloat="left"
}else{h.style.cssFloat="left"
}h.style.textAlign="center";
if(d>0){h.style.marginLeft=this.options.tabSpacing+"px"
}if(this.options.panelWidth){if((Math.floor(this.options.panelWidth)/(parseInt(k.length)+1)-((d>0)?this.options.tabSpacing:0))<=300){h.style.width=(Math.floor(this.options.panelWidth)/(k.length+2)-((d>0)?this.options.tabSpacing:0))+"px"
}else{h.style.width=300/k.length
}}else{if((Math.floor(a.offsetWidth)/k.length)<=300){h.style.width=((Math.floor(a.offsetWidth)/(k.length))-((d>0)?this.options.tabSpacing:0))+"px"
}else{h.style.width=300/k.length
}}h.style.styleFloat="left";
j.appendChild(h);
if(this.options.roundCorners){Rico.Corner.round(h,{corners:this.options.tabLocation,color:"transparent"})
}this.accordionTabs.push(new Rico.Accordion.Tab(this,h,a))
}else{this.accordionTabs.push(new Rico.Accordion.Tab(this,b,a))
}}},_getDirectChildrenByTag:function(f,d){var b=new Array();
var a=f.childNodes;
for(var c=0;
c<a.length;
c++){if(a[c]&&a[c].tagName&&a[c].tagName==d){b.push(a[c])
}}return b
}};
Rico.Accordion.Tab=Class.create();
Rico.Accordion.Tab.prototype={initialize:function(a,b,c){this.accordion=a;
this.titleBar=b;
this.content=c;
this._attachBehaviors()
},collapse:function(){this.showCollapsed();
this.content.style.height="1px"
},showCollapsed:function(a){this.expanded=false;
if(this.accordion.options.collapsedBgImg){this.titleBar.style.backgroundImage="url("+this.accordion.options.collapsedBgImg+")"
}else{this.titleBar.style.backgroundColor=this.accordion.options.collapsedBg
}this.titleBar.className=this.accordion.options.collapsedClassName;
this.titleBar.style.color=this.accordion.options.collapsedTextColor;
this.titleBar.style.fontWeight=this.accordion.options.collapsedFontWeight;
if(!a){this.content.style.display="none"
}},showExpanded:function(a,b){this.expanded=true;
this.titleBar.style.fontWeight=this.accordion.options.expandedFontWeight;
if(this.accordion.options.expandedBgImg){this.titleBar.style.backgroundImage="url("+this.accordion.options.expandedBgImg+")"
}else{this.titleBar.style.backgroundColor=this.accordion.options.expandedBg
}this.titleBar.className=this.accordion.options.expandedClassName;
this.titleBar.style.color=this.accordion.options.expandedTextColor;
if(!b){this.content.style.display="block";
if(a){this.content.style.overflowY="hidden"
}else{this.content.style.overflowY="auto"
}this.content.style.overflowX="hidden"
}},titleBarClicked:function(a){this.accordion.showTab(this)
},hover:function(a){if(this.accordion.options.hoverImg){this.titleBar.style.backgroundImage="url("+this.accordion.options.hoverImg+")"
}else{this.titleBar.style.backgroundColor=this.accordion.options.hoverBg
}this.titleBar.style.color=this.accordion.options.hoverTextColor
},unhover:function(a){if(this.expanded){if(this.accordion.options.expandedBgImg){this.titleBar.style.backgroundImage="url("+this.accordion.options.expandedBgImg+")"
}else{this.titleBar.style.backgroundColor=this.accordion.options.expandedBg
}this.titleBar.style.color=this.accordion.options.expandedTextColor;
this.titleBar.style.fontWeight=this.accordion.options.expandedFontWeight
}else{if(this.accordion.options.collapsedBgImg){this.titleBar.style.backgroundImage="url("+this.accordion.options.collapsedBgImg+")"
}else{this.titleBar.style.backgroundColor=this.accordion.options.collapsedBg
}this.titleBar.style.color=this.accordion.options.collapsedTextColor
}},_attachBehaviors:function(){if(this.accordion.options.tabLocations=="inline"){if(this.accordion.options.borderColor){this.content.style.border="1px solid "+this.accordion.options.borderColor;
this.content.style.borderTopWidth="0px";
this.content.style.borderBottomWidth="0px";
this.content.style.margin="0px";
if(this.accordion.options.fixborders){var b=this.content.parentNode;
var a=document.createElement("div");
a.style.borderTop="1px solid "+this.accordion.options.borderColor;
b.appendChild(a);
var c=document.createElement("div");
c.style.borderBottom="1px solid "+this.accordion.options.borderColor;
b.insertBefore(c,this.content)
}}else{if(this.accordion.options.fixborders!=true){this.content.style.border="0px";
this.content.style.margin="0px";
var b=this.content.parentNode;
var a=document.createElement("div");
a.style.height="5px";
a.style.overflow="hidden";
a.style.backgroundImage="url("+this.accordion.options.fixborders+")";
a.style.backgroundRepeat="no-repeat";
b.appendChild(a)
}}}Event.observe(this.titleBar,"click",this.titleBarClicked.bindAsEventListener(this));
Event.observe(this.titleBar,"mouseover",this.hover.bindAsEventListener(this));
Event.observe(this.titleBar,"mouseout",this.unhover.bindAsEventListener(this))
}};
Rico.Effect.AccordionSize=Class.create();
Rico.Effect.AccordionSize.prototype={initialize:function(f,c,e,a,b){this.e1=(b.couple&&!b.free)?$(b.couple):{offsetHeight:0,style:{height:0,display:0}};
this.e2=$(f);
this.size=(this.e1.offsetHeight>this.e2.offsetHeight)?(this.e1.offsetHeight):((this.e2.offsetHeight>1)?(this.e2.offsetHeight):(c));
this.options=arguments[4]||{};
if(this.options.color){this.color1=this.e1.style.color;
this.color2=this.e2.style.color;
this.e1.style.color=this.options.color;
this.e2.style.color=this.options.color
}var d=10;
this.mode=(b.couple&&(b.mode!="free"))?((parseInt(this.e1.offsetHeight)-parseInt(this.e2.offsetHeight)>=d)?0:3):(this.e2.offsetHeight<=d?2:1);
this.diff=(a>=0)?parseInt((this.size-1)/a):0;
if(this.diff){realSize=this.diff*a;
aditional=this.size-realSize;
aditionalSteps=parseInt(aditional/this.diff);
a+=aditionalSteps
}this.counter=a;
this.stepDuration=(a>=0)?(Math.round(e/a)):0;
this.accordionSize()
},accordionSize:function(){if(this.isFinished()){if(this.e1.style.height<=5){this.e1.style.height="1px"
}if(this.e2.style.height<=5){this.e2.style.height="1px"
}if(this.options.color){this.e1.style.color=this.color1;
this.e2.style.color=this.color2
}if(this.options.complete){this.options.complete(this)
}return
}if(this.timer){clearTimeout(this.timer)
}var b;
if((this.counter<=1)&&(this.size-parseInt(this.e2.style.height)>=0)){if(this.mode==0||this.mode==2){b=this.size-parseInt(this.e2.offsetHeight)
}else{b=-parseInt(this.e2.offsetHeight)+1
}}else{if(this.mode==0||this.mode==2){b=this.diff
}else{b=-this.diff
}}var a=this.stepDuration;
this.counter--;
this.resizeBy(b);
this.timer=setTimeout(this.accordionSize.bind(this),a)
},isFinished:function(){return this.counter<=0
},resizeBy:function(b){var d=parseInt(b);
if(this.mode==0||this.mode==3){var c=this.e1.offsetHeight
}var a=this.e2.offsetHeight;
if(parseInt(this.mode)==0||parseInt(this.mode)==3){this.e1.style.height=(c-d)+"px"
}this.e2.style.height=(a+d)+"px"
}};
