PanelBar doesn't consider PanelBarItems rendered dynamically, if you have:
<rich:panelBar id="pb"> <rich:panelBarItem id="pbi1" rendered="#{isPb1Rendered}"> ... </rich:panelBarItem> <rich:panelBarItem id="pbi2" rendered="#{isPb2Rendered}"> ... </rich:panelBarItem> <rich:panelBarItem id="pbi3" rendered="#{isPb3Rendered}"> ... </rich:panelBarItem> <rich:panelBarItem id="pbi4" rendered="#{isPb4Rendered}"> ... </rich:panelBarItem> </rich:panelBar>
<![CDATA[ new Richfaces.PanelBar('pb',{'items':[{'onleave':'','onenter':'','id':'pbi1'} ,{'onleave':'','onenter':'','id':'pbi2'} ,{'onleave':'','onenter':'','id':'pbi3'} ,{'onleave':'','onenter':'','id':'pbi4'} ] ,'onitemchange':''} ); //]]>