Rico.Accordion=Class.create();
Rico.Accordion.prototype={initialize:function(_1,_2){
this.container=$(_1);
if(!this.container){
return;
}
this.lastExpandedTab=null;
this.accordionTabs=new Array();
this.setOptions(_2);
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 _3=(this.options.panelHeight=="auto");
for(var i=0;i<this.accordionTabs.length;i++){
this.accordionTabs[i].content.style.display="inline";
this.accordionTabs[i].content.style.margin="0px";
if(i!=this.options.onLoadShowTab){
this.accordionTabs[i].collapse();
this.accordionTabs[i].content.style.display="none";
this.accordionTabs[i].content.style.height="1px";
if(this.options.panelHeight=="auto"){
this.accordionTabs[i].content.style.overflowY="hidden";
}else{
this.accordionTabs[i].content.style.overflowY="auto";
}
}else{
this.accordionTabs[i].showExpanded(_3);
this.accordionTabs[i].content.style.display="block";
if(this.options.panelHeight=="auto"){
this.accordionTabs[i].content.style.height=this.accordionTabs[i].content.scrollHeight+"px";
}else{
this.accordionTabs[i].content.style.overflowY="auto";
this.accordionTabs[i].content.style.height=this.options.panelHeight+"px";
}
this.lastExpandedTab=this.accordionTabs[i];
}
this.accordionTabs[i].content.style.overflowX="hidden";
}
},setOptions:function(_5){
this.options={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,collapsedBgImg:false,tabLocations:"inline",hoverImg:false,duration:false,transitionColor:false};
Object.extend(this.options,_5||{});
},showTabByIndex:function(_6,_7){
var _8=arguments.length==1?true:_7;
if(_6<this.accordionTabs.length&&_6>=0){
var _9=this.accordionTabs[_6];
this.showTab(_9,_8);
}else{
if(_6<0){
this.showTabHide(this.accordionTabs.length-1,"desc");
}
}
},showTabHide:function(_a,_b){
if(!_b){
_b="desc";
}
var _c=this;
var _d;
if((_b=="desc"&&_a>=0)||(_b=="asc"&&_a<_c.accordionTabs.length)){
var _e;
if(_b=="desc"){
_e=_a-1;
}else{
_e=_a+1;
}
_d=this.accordionTabs[_a];
var _f=(parseInt(_d.content.offsetHeight)<=2)?true:false;
if(!_f){
_d.content.style.display="";
new Rico.Effect.AccordionSize(_d.content,this.options.panelHeight,100,10,{mode:"free",complete:function(){
_c.showTabHide(_e);
}});
}else{
_c.showTabHide(_e);
}
}else{
for(var i=0;i<=(this.accordionTabs.length-1);i++){
_d=this.accordionTabs[i];
_c.showTabDone(_d,false,true,{showCollapsed:function(){
}});
}
this.lastExpandedTab=null;
}
},showTab:function(_11,_12){
var _13=(this.options.tabLocation=="inline")&&(arguments.length==1?true:_12);
var _14=(parseInt(_11.content.offsetHeight)<=2)?true:false;
var _15=this;
var _16=this.lastExpandedTab;
var _17;
var _18;
var _19=this.options.panelHeight;
var _1a=this.options.transitionColor;
if(!this.lastExpandedTab){
this.lastExpandedTab=_11;
}
_11.content.style.display="";
if(!(this.options.mode=="free"&&_13)&&!(_19=="auto")&&_13&&(_11.content.offsetHeight<=5)&&(this.lastExpandedTab.content.offsetHeight>5)){
this.lastExpandedTab.content.style.height=(this.lastExpandedTab.content.offsetHeight-1)+"px";
}
if(this.options.mode=="free"&&_13&&this.lastExpandedTab!=_11){
this.lastExpandedTab.content.style.overflowY="auto";
}else{
this.lastExpandedTab.content.style.overflowY="hidden";
}
var _1b=1;
if(RicoUtil.isIE){
_1b=1.3;
}
if(_19=="auto"){
_17=_11.content.scrollHeight+_1c;
_18=parseInt(this.lastExpandedTab.content.scrollHeight)+_1c;
var _1c=5;
_11.content.style.overflowY="hidden";
_17=_11.content.scrollHeight+_1c;
_18=this.lastExpandedTab.content.scrollHeight+_1c;
if(this.options.duration){
duration2=duration=this.options.duration*_1b;
}else{
duration=parseInt(_17*_1b);
duration2=parseInt(_18*_1b);
}
}else{
_11.content.style.overflowY="hidden";
_18=_17=_19;
if(this.options.duration){
duration2=duration=this.options.duration*_1b;
}else{
duration=duration2=parseInt(_17*_1b);
}
}
if(this.options.mode=="free"&&_13){
new Rico.Effect.AccordionSize(_11.content,_17,duration,(duration/10),{mode:this.options.mode,color:_1a,complete:function(){
_15.showTabDone(_11,_14,true,{showCollapsed:function(){
}});
}});
}else{
if(this.lastExpandedTab==_11){
if((this.options.onLoadShowTab==-2&&_13)||_14||(this.options.mode=="free"&&!_13)){
_11.content.style.overflowY="hidden";
new Rico.Effect.AccordionSize(_11.content,_17,duration,(duration/10),{mode:"free",color:_1a,complete:function(){
_15.showTabDone(_11,_14,true,{showCollapsed:function(){
}});
}});
if(!_14){
this.lastExpandedTab=false;
}
}else{
_11.content.style.overflowY="auto";
}
}else{
if(_19=="auto"){
_11.content.style.display="none";
new Rico.Effect.AccordionSize(_16.content,_18,duration2,(duration2/10),{mode:"free",color:_1a,complete:function(){
_11.showExpanded(true);
_16.showCollapsed(true,true);
_11.content.style.display="";
_16.content.style.display="none";
new Rico.Effect.AccordionSize(_11.content,_17,duration,(duration/10),{mode:"free",color:_1a,complete:function(){
_16.content.style.display="";
_15.showTabDone(_11,_14,true,_16);
}});
}});
this.lastExpandedTab=_11;
}else{
if(_13){
new Rico.Effect.AccordionSize(this.lastExpandedTab.content,_17+1,duration,(duration/10),{couple:_11.content,mode:this.options.mode,color:_1a,complete:function(){
_15.showTabDone(_11,_14,true,_16);
}});
this.lastExpandedTab=_11;
}else{
if(this.options.mode=="free"||_14){
this.showTabDone(_11,_14,false,_16);
}
if(_14){
this.lastExpandedTab=_11;
}
}
}
}
}
},showTabDone:function(_1d,_1e,_1f,_20){
var _21=(this.options.panelHeight=="auto");
if(_1e){
_1d.showExpanded(_21);
_20.showCollapsed();
if(!_1f){
if(_1d!=_20){
_20.content.style.height="1px";
_20.content.style.display="none";
}
}
if(!_21){
_1d.content.style.height=this.options.panelHeight+"px";
}
}else{
if(this.options.mode=="free"){
_1d.showCollapsed();
if(!_1f){
_1d.content.style.height="1px";
_20.content.style.height="1px";
_1d.content.style.display="none";
_20.content.style.display="none";
}
}else{
if(_1f){
if(_1d!=_20){
_1d.showCollapsed();
_1d.content.style.height="1px";
_1d.content.style.display="none";
}
}else{
_20.content.style.height="1px";
_20.content.style.display="none";
_20.showCollapsed();
_1d.showExpanded(_21);
}
}
}
if(this.options.onShowTab){
this.options.onShowTab(this.lastExpandedTab);
}
},_attachBehaviors:function(){
var _22=this._getDirectChildrenByTag(this.container,"DIV");
var _23=null;
var _24=null;
if(this.options.tabLocation!="inline"){
_23=document.createElement("div");
_23.style.border="1px solid "+this.options.borderColor;
_23.style.clear="both";
this.container.insertBefore(_23,this.container.firstChild);
_24=document.createElement("div");
_24.style.overflowY="hidden";
_24.style.backgroundColor="transparent";
if(this.options.tabLocation=="top"){
this.container.insertBefore(_24,this.container.firstChild);
}else{
if(this.options.tabLocation=="bottom"){
this.container.appendChild(_24);
}
}
this.container.style.overflowY="hidden";
}
for(var i=0;i<_22.length;i++){
var _26=this._getDirectChildrenByTag(_22[i],"DIV");
if(_26.length!=2){
continue;
}
var _27=_26[0];
var _28=_26[1];
if(this.options.tabLocation!="inline"){
var cad;
var _2a;
if(_27.textContent){
cad=_27.textContent;
}else{
cad=_27.innerText;
}
cad=cad.replace(/^\s*|\s*$/g,"");
cad=cad.substring(0,10);
_27.overflow="hidden";
_28.style.clear="left";
_28.style.overflowX="hidden";
_23.appendChild(_28);
_27.style.padding="0px";
if(this.options.roundCorners){
if(this.options.tabLocation=="top"){
_27.style.marginTop="-5px";
}else{
if(this.options.tabLocation=="bottom"){
_27.style.marginBottom="-5px";
}
}
}
var _2b=document.createElement("div");
_2b.appendChild(_27);
if(RicoUtil.isIE){
_2b.style.styleFloat="left";
}else{
_2b.style.cssFloat="left";
}
_2b.style.textAlign="center";
if(i>0){
_2b.style.marginLeft=this.options.tabSpacing+"px";
}
if(this.options.panelWidth){
if((Math.floor(this.options.panelWidth)/(parseInt(_26.length)+1)-((i>0)?this.options.tabSpacing:0))<=300){
_2b.style.width=(Math.floor(this.options.panelWidth)/(_26.length+2)-((i>0)?this.options.tabSpacing:0))+"px";
}else{
_2b.style.width=300/_26.length;
}
}else{
if((Math.floor(_28.offsetWidth)/_26.length)<=300){
var _2c=((Math.floor(_28.offsetWidth)/(_26.length))-((i>0)?this.options.tabSpacing:0))+"px";
if(!_2c=="0px"){
_2b.style.width=_2c;
}
}else{
_2b.style.width=300/_26.length;
}
}
_2b.style.styleFloat="left";
_24.appendChild(_2b);
if(this.options.roundCorners){
Rico.Corner.round(_2b,{corners:this.options.tabLocation,color:"transparent"});
}
this.accordionTabs.push(new Rico.Accordion.Tab(this,_2b,_28));
}else{
this.accordionTabs.push(new Rico.Accordion.Tab(this,_27,_28));
}
}
},_getDirectChildrenByTag:function(e,_2e){
var _2f=new Array();
var _30=e.childNodes;
for(var i=0;i<_30.length;i++){
if(_30[i]&&_30[i].tagName&&_30[i].tagName==_2e){
_2f.push(_30[i]);
}
}
return _2f;
}};
Rico.Accordion.Tab=Class.create();
Rico.Accordion.Tab.prototype={initialize:function(_32,_33,_34){
this.accordion=_32;
this.titleBar=_33;
this.content=_34;
this._attachBehaviors();
},collapse:function(){
this.showCollapsed();
this.content.style.height="1px";
},showCollapsed:function(_35){
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.style.color=this.accordion.options.collapsedTextColor;
this.titleBar.style.fontWeight=this.accordion.options.collapsedFontWeight;
if(!_35){
this.content.style.display="none";
}
},showExpanded:function(_36,_37){
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.style.color=this.accordion.options.expandedTextColor;
if(!_37){
this.content.style.display="block";
if(_36){
this.content.style.overflowY="hidden";
}else{
this.content.style.overflowY="auto";
}
this.content.style.overflowX="hidden";
}
},titleBarClicked:function(e){
this.accordion.showTab(this);
uiWindowing.resizeGrid();
},hover:function(e){
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(e){
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 _3b=this.content.parentNode;
var _3c=document.createElement("div");
_3c.style.borderTop="1px solid "+this.accordion.options.borderColor;
_3b.appendChild(_3c);
var top=document.createElement("div");
top.style.borderBottom="1px solid "+this.accordion.options.borderColor;
_3b.insertBefore(top,this.content);
}
}else{
if(this.accordion.options.fixborders!=true){
this.content.style.border="0px";
this.content.style.margin="0px";
var _3b=this.content.parentNode;
var _3c=document.createElement("div");
_3c.style.height="5px";
_3c.style.overflow="hidden";
_3c.style.backgroundImage="url("+this.accordion.options.fixborders+")";
_3c.style.backgroundRepeat="no-repeat";
_3b.appendChild(_3c);
}
}
}
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(e2,_3f,_40,_41,_42){
this.e1=(_42.couple&&!_42.free)?$(_42.couple):{offsetHeight:0,style:{height:0,display:0}};
this.e2=$(e2);
this.size=(this.e1.offsetHeight>this.e2.offsetHeight)?(this.e1.offsetHeight):((this.e2.offsetHeight>1)?(this.e2.offsetHeight):(_3f));
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 _43=10;
this.mode=(_42.couple&&(_42.mode!="free"))?((parseInt(this.e1.offsetHeight)-parseInt(this.e2.offsetHeight)>=_43)?0:3):(this.e2.offsetHeight<=_43?2:1);
this.diff=(_41>=0)?parseInt((this.size-1)/_41):0;
if(this.diff){
realSize=this.diff*_41;
aditional=this.size-realSize;
aditionalSteps=parseInt(aditional/this.diff);
_41+=aditionalSteps;
}
this.counter=_41;
this.stepDuration=(_41>=0)?(Math.round(_40/_41)):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 _44;
if((this.counter<=1)&&(this.size-parseInt(this.e2.style.height)>=0)){
if(this.mode==0||this.mode==2){
_44=this.size-parseInt(this.e2.offsetHeight);
}else{
_44=-parseInt(this.e2.offsetHeight)+1;
}
}else{
if(this.mode==0||this.mode==2){
_44=this.diff;
}else{
_44=-this.diff;
}
}
var _45=this.stepDuration;
this.counter--;
this.resizeBy(_44);
this.timer=setTimeout(this.accordionSize.bind(this),_45);
},isFinished:function(){
return this.counter<=0;
},resizeBy:function(_46){
var _47=parseInt(_46);
if(this.mode==0||this.mode==3){
var _48=this.e1.offsetHeight;
}
var _49=this.e2.offsetHeight;
if(parseInt(this.mode)==0||parseInt(this.mode)==3){
this.e1.style.height=(_48-_47)+"px";
}
this.e2.style.height=(_49+_47)+"px";
}};
