[jboss-svn-commits] JBoss PortletSwap SVN: r180 - in portlets/src/framework/RichFacesPortlet: src/main and 183 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jan 7 18:09:27 EST 2008


Author: wesleyhales
Date: 2008-01-07 18:09:26 -0500 (Mon, 07 Jan 2008)
New Revision: 180

Added:
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReport.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecord.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecordItem.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesItem.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesReport.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/UpdateBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatablescroller/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxSamples/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxSamples/rsBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/UserBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle1.properties
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle2.properties
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/calendar/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/calendar/CalendarBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/Capital.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/CapitalsBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentDescriptor.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentNavigator.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/Environment.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/RandomDataHelper.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/SkinBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDao.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDaoImpl.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryItem.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryList.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoSliderBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datatable/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datatable/Report.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ddmenu/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ddmenu/Menu.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/DndBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/EventBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/Framework.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataProvider.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionItem.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Bean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Place.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/inputnumberslider/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/inputnumberslider/ValueBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaData.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintData.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/pmenu/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/pmenu/PanelMenu.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/Data.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/SuggestionBox.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/togglePanel/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/togglePanel/ToggleBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/toolBar/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/toolBar/TbBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/ToolTipData.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/Vehicle.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Album.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Artist.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Library.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/SimpleTreeBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Song.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/wizard/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/wizard/Profile.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemBean.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemNode.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/PostbackPhaseListener.java
   portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/TreeDemoStateAdvisor.java
   portlets/src/framework/RichFacesPortlet/src/main/resources/META-INF/resources-config.xml
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/ajaxSamples/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/ajaxSamples/rspanel.xcss
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals-rules.xml
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals.xml
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/digester-rules.dtd
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/components.properties
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/path.properties
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/exadel.gif
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/gold.gif
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/pyramids.gif
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/tower.gif
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/tree/
   portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/tree/data.txt
   portlets/src/framework/RichFacesPortlet/src/main/webapp/META-INF/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/META-INF/MANIFEST.MF
   portlets/src/framework/RichFacesPortlet/src/main/webapp/css/common.css
   portlets/src/framework/RichFacesPortlet/src/main/webapp/css/xhtml-source.css
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/ajax_process.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/error.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/passed.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/bullet_arrow.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/alabama.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/alaska.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/arizona.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/arkansas.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/california.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/colorado.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/connecticut.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/delaware.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/florida.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/georgia.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/hawaii.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/idaho.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/illinois.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/indiana.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/iowa.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/kansas.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/kentucky.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/louisiana.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/maine.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/maryland.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/massachusetts.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/michigan.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/minnesota.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/mississippi.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/missouri.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/montana.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/nebraska.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/nevada.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newhampshire.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newjersey.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newmexico.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newyork.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/northcarolina.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/northdakota.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/ohio.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/oklahoma.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/oregon.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/pennsylvania.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/rhodeisland.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/southcarolina.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/southdakota.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/tennessee.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/texas.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/utah.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/vermont.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/virginia.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/washington.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/westvirginia.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/wisconsin.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/wyoming.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_AjaxPage.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_AjaxPortlet.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Bundle.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Calendar.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Column.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ColumnGroup.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataDefinitionList.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataFilterSlider.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataGrid.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataList.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataOrderedList.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataTable.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataTableScroller.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragDropParameter.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragIndicator.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragSupport.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DropDownMenu.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DropSupport.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Effect.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_GoogleMap.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_HtmlCommandLink.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Include.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_KeepAlive.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Log.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MediaOutput.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuGroup.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuItem.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuSeparator.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Message.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Messages.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ModalPanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_OutputPanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Paint2D.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_PanelBar.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_PanelMenu.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Repeat.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Script.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ScrollableDataGrid.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ScrollableDataTable.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_SimpleTogglePanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Style.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_SuggestionBox.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_TogglePanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ToolBar.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ToolTip.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_VirtualEarth.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_actionParameter.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxAttributes.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxForm.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxListener.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxRegion.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxSupport.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_commandButton.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_commandLink.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_include2.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_insert.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_jQuery.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_jsFunction.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_panel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_poll.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_push.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_recursiveTreeNodesAdaptor.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_separator.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_slider.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_spacer.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_spinner.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_status.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_tabpanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_tree.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_treeNodesAdaptor.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/coming_soon.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/basket.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/bball.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/can.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/dropcan.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/opencan.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Calendar.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataFilterSlider.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataTable.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataTableScroller.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DragIndicator.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DragSupport.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DropSupport.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_GoogleMap.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_ModalPanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Paint2D.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_PanelBar.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_SimpleTogglePanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_SuggestionBox.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_TogglePanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_ToolBar.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Tree.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_VirtualEarth.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_common.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_dropDownMenu.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_panel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_panelMenu.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_separator.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_slider.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_spacer.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_spinner.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_tabpanel.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/menu_bg.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/modal/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/modal/close.png
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/page_bg.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/pn_about.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/pn_aboutDemo.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/spacer.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_active_bg.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_border_bg.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_unactive_bg.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tabpanel_bg.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/top_nav_bg.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/disc.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/singer.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/song.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/index.jsp
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/assignTo.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/changeSkin.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/screenSize.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/data.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/eventqueue.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender1.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender2.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender3.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/calSample.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/reRender2.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/jsAPI.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/model.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/comingSoon.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/examples/sayHello.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/examples/sayHello.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/examples/filterData.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/examples/form.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/examples/lists.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/report.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/scrollableDataTable.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/simpleScroller.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragIndicator.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/examples/dnd.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/sidemenu.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/topmenu.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropSupport.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/attributes.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/examples/diffTypes.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/snippets/usecases.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/examples/ajaxSubmit.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/snippets/commandLinkProblem.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/examples/mapUsage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/snippets/commandLinkProblem.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/finalStep.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wizard.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep1.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep2.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/snippet/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/snippet/navigation.xml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/examples/sliderUsage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/examples/spinnerUsage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/examples/groovy.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/snippets/sample.groovy
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/fishEye.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/zebra.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic1.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic2.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic3.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic4.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic5.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic6.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic7.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic8.jpg
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/examples/hoverEcho.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/examples/enabledIssue.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/examples/log.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/examples/jpegSample.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/examples/form.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/examples/form.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/examples/simplePanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/examples/noneLayout.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/gen.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/page.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintBean.java
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintData.java
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/painter.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/headlessPanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/lookCustom.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/nestedPanels.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/simplePanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/look-customization.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/examples/example.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.html
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/examples/example.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/examples/clock.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenerReg.java
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenermessage.java
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/page.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/selfRender.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/validationErrorIssue.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/UpdateBean.java
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/repeater.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/examples/manually.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/examples/variants.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/basic.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/difftypes.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/examples/spacers.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/cleaner.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/pictured.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/simple.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/examples/skinedPanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/examples/custom.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/examples/echo.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/custom.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/switchTypes.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/look-customization.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipBlock.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipsPanel.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/clickme.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/cn_include.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/iconBar.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/menus.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/separators.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/new.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/palette_edit.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print_edit.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print_preview.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/search_item.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/timer_task.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/webapp_session_config.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/webapp_welcome.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/yellow_lamp.gif
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/tooltipUsage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/withTable.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/use-with-data-table.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/ajaxTree.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/clientTree.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/serverTree.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple-tree-data.properties
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/simple-tree.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/examples/recursiveAdaptor.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/snippets/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/snippets/sample.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/examples/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/examples/placeToGo.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/usage.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/component-sample.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-group.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-navigation.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/dynamic-css.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/footer.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/header.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/references.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/sourceview.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfo.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfoNotes.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/main.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome-content.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome.xhtml
   portlets/src/framework/RichFacesPortlet/src/main/xslt/
   portlets/src/framework/RichFacesPortlet/src/main/xslt/f.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-frame.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-noframe.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/function.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/help-doc.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/index.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-frame.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-summary.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/resources/
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/stylesheet.css
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tag.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-frame.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-summary.html.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_1-tld1_2.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_2-tld2_0.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_0-tld2_1.xsl
   portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_1-tld2_1.xsl
   portlets/src/framework/RichFacesPortlet/src/test/java/org/
   portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/
   portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/
   portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/tree/
   portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/tree/test/
   portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/tree/test/LibraryTest.java
Modified:
   portlets/src/framework/RichFacesPortlet/pom.xml
   portlets/src/framework/RichFacesPortlet/src/main/resources/faces-config.xml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/portlet.xml
   portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/web.xml
Log:
Full richfaces demo - still needs some cleanup

Modified: portlets/src/framework/RichFacesPortlet/pom.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/pom.xml	2008-01-07 20:21:45 UTC (rev 179)
+++ portlets/src/framework/RichFacesPortlet/pom.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -12,6 +12,7 @@
    </description>
 
    <build>
+      <finalName>RichFacesPortlet</finalName>
       <defaultGoal>install</defaultGoal>
       <sourceDirectory>src/main/java</sourceDirectory>
       <resources>
@@ -35,6 +36,14 @@
          </resource>
 
          <resource>
+            <directory>${basedir}/src/main/resources</directory>
+            <filtering>false</filtering>
+            <includes>
+               <include>org/**</include>
+            </includes>
+         </resource>
+
+         <resource>
             <directory>src/main/resources/log4j</directory>
             <targetPath/>
             <includes>
@@ -46,9 +55,69 @@
          </resource>
 
       </resources>
-      <finalName>RichFacesPortlet</finalName>
+
       <plugins>
-
+          <plugin>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>unpack</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>unpack</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.richfaces.ui</groupId>
+                  <artifactId>richfaces-ui</artifactId>
+                  <version>3.2.0-SNAPSHOT</version>
+                </artifactItem>
+              </artifactItems>
+              <outputDirectory>${project.build.directory}/richfaces</outputDirectory>
+              <overWriteReleases>false</overWriteReleases>
+              <overWriteSnapshots>true</overWriteSnapshots>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>tlddoc</id>
+            <phase>process-resources</phase>
+            <goals>
+              <goal>java</goal>
+            </goals>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>taglibrarydoc</groupId>
+            <artifactId>tlddoc</artifactId>
+            <version>1.3</version>
+          </dependency>
+        </dependencies>
+        <configuration>
+          <includeProjectDependencies>false</includeProjectDependencies>
+          <includePluginDependencies>true</includePluginDependencies>
+          <executableDependency>
+            <groupId>taglibrarydoc</groupId>
+            <artifactId>tlddoc</artifactId>
+          </executableDependency>
+          <mainClass>com.sun.tlddoc.TLDDoc</mainClass>
+          <arguments>
+            <argument>-d</argument>
+            <argument>${project.build.directory}/${project.build.finalName}/WEB-INF/tlddoc</argument>
+            <argument>-xslt</argument>
+            <argument>${basedir}/src/main/xslt/tlddoc</argument>
+            <argument>${project.build.directory}/richfaces/META-INF/ajax4jsf.tld</argument>
+            <argument>${project.build.directory}/richfaces/META-INF/rich.tld</argument>
+          </arguments>
+        </configuration>
+      </plugin>
          <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
@@ -57,7 +126,17 @@
                <target>1.5</target>
             </configuration>
          </plugin>
-
+         <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <configuration>
+          <webResources>
+            <resource>
+              <directory>${basedir}/src/main/java</directory>
+              <targetPath>/WEB-INF/src</targetPath>
+            </resource>
+          </webResources>
+        </configuration>
+      </plugin>
       </plugins>
    </build>
    <repositories>
@@ -173,8 +252,8 @@
       </dependency>
 
       <dependency>
-         <groupId>org.richfaces.extensions</groupId>
-         <artifactId>portlet</artifactId>
+         <groupId>org.richfaces.extensions.portletbridge</groupId>
+         <artifactId>portletbridge-api</artifactId>
          <version>3.2.0-SNAPSHOT</version>
          <exclusions>
             <exclusion>
@@ -189,6 +268,22 @@
       </dependency>
 
       <dependency>
+         <groupId>org.richfaces.extensions.portletbridge</groupId>
+         <artifactId>portletbridge-impl</artifactId>
+         <version>3.2.0-SNAPSHOT</version>
+         <exclusions>
+            <exclusion>
+               <groupId>javax.faces</groupId>
+               <artifactId>jsf-api</artifactId>
+            </exclusion>
+            <exclusion>
+               <groupId>javax.faces</groupId>
+               <artifactId>jsf-impl</artifactId>
+            </exclusion>
+         </exclusions>
+      </dependency>
+      
+      <dependency>
          <groupId>org.richfaces.framework</groupId>
          <artifactId>richfaces-api</artifactId>
          <version>3.2.0-SNAPSHOT</version>
@@ -271,6 +366,18 @@
          </exclusions>
       </dependency>
 
+      <dependency>
+      <groupId>com.uwyn</groupId>
+      <artifactId>jhighlight</artifactId>
+      <version>1.0</version>
+    </dependency>
+    
+    <!--<dependency>-->
+      <!--<groupId>xerces</groupId>-->
+      <!--<artifactId>xercesImpl</artifactId>-->
+      <!--<version>2.8.1</version>-->
+    <!--</dependency>-->
+
    </dependencies>
 
 

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReport.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReport.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReport.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,70 @@
+package org.richfaces.datatable;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class ExpenseReport {
+	private List records = null;
+
+	public List getRecords() {
+		if (records==null) {
+			initRecords();
+		}
+		return records;
+	}
+
+	public void setRecords(List records) {
+		this.records = records;
+	} 
+	
+	public double getTotalMeals() {
+		double ret = 0.0;
+		Iterator it = getRecords().iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecord record = (ExpenseReportRecord) it.next();
+			ret+=record.getTotalMeals();
+		}
+		return ret;
+	}
+	public double getTotalHotels() {
+		double ret = 0.0;
+		Iterator it = getRecords().iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecord record = (ExpenseReportRecord) it.next();
+			ret+=record.getTotalHotels();
+		}
+		return ret;
+	}
+	public double getTotalTransport() {
+		double ret = 0.0;
+		Iterator it = getRecords().iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecord record = (ExpenseReportRecord) it.next();
+			ret+=record.getTotalTransport();
+		}
+		return ret;
+	}
+	public double getGrandTotal() {
+		return getTotalMeals()+getTotalHotels()+getTotalTransport();
+	}
+	public int getRecordsCount() {
+		return getRecords().size();
+	}
+	
+	private void initRecords() {
+		records = new ArrayList();
+		ExpenseReportRecord rec;
+		rec = new ExpenseReportRecord();
+		rec.setCity("San Jose");
+		rec.getItems().add(new ExpenseReportRecordItem("25-Aug-97",37.74,112.0,45.0));
+		rec.getItems().add(new ExpenseReportRecordItem("26-Aug-97",27.28,112.0,45.0));
+		records.add(rec);
+		rec = new ExpenseReportRecord();
+		rec.setCity("Seattle");
+		rec.getItems().add(new ExpenseReportRecordItem("27-Aug-97",96.25,109.0,36.00));
+		rec.getItems().add(new ExpenseReportRecordItem("28-Aug-97",35.0,109.0,36.0));
+		records.add(rec);
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecord.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecord.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecord.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,56 @@
+package org.richfaces.datatable;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class ExpenseReportRecord {
+	private String city;
+	private List items = new ArrayList();
+	public String getCity() {
+		return city;
+	}
+	public void setCity(String city) {
+		this.city = city;
+	}
+	public List getItems() {
+		return this.items;
+	}
+	public void setItems(List items) {
+		this.items = items;
+	}
+	public double getTotalMeals() {
+		double ret = 0.0;
+		Iterator it = items.iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecordItem item = (ExpenseReportRecordItem) it.next();
+			ret+=item.getMeals();
+		}
+		return ret;
+	}
+	public double getTotalHotels() {
+		double ret = 0.0;
+		Iterator it = items.iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecordItem item = (ExpenseReportRecordItem) it.next();
+			ret+=item.getHotels();
+		}
+		return ret;
+	}
+	public double getTotalTransport() {
+		double ret = 0.0;
+		Iterator it = items.iterator();
+		while (it.hasNext()) {
+			ExpenseReportRecordItem item = (ExpenseReportRecordItem) it.next();
+			ret+=item.getTransport();
+		}
+		return ret;
+	}
+	public double getTotal() {
+		return getTotalMeals() +getTotalHotels()+getTotalTransport(); 
+	}
+	
+	public int getItemsCount() {
+		return getItems().size();
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecordItem.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecordItem.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/ExpenseReportRecordItem.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,42 @@
+package org.richfaces.datatable;
+
+public class ExpenseReportRecordItem {
+	private String day;
+	private double meals;
+	private double hotels;
+	private double transport;
+
+	public ExpenseReportRecordItem(String day, double meals, double hotels, double transport) {
+		this.day = day;
+		this.meals = meals;
+		this.hotels = hotels;
+		this.transport = transport;
+	}
+	public String getDay() {
+		return day;
+	}
+	public void setDay(String day) {
+		this.day = day;
+	}
+	public double getHotels() {
+		return hotels;
+	}
+	public void setHotels(double hotels) {
+		this.hotels = hotels;
+	}
+	public double getMeals() {
+		return meals;
+	}
+	public void setMeals(double meals) {
+		this.meals = meals;
+	}
+	public double getTransport() {
+		return transport;
+	}
+	public void setTransport(double transport) {
+		this.transport = transport;
+	}
+	public double getTotal() {
+		return meals+hotels+transport;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesItem.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesItem.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesItem.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,73 @@
+package org.richfaces.datatable;
+
+import java.util.ArrayList;
+
+import javax.faces.model.SelectItem;
+
+public class SalesItem {
+	private int productCode;
+	private double proposedPrice;
+	private double ProposedGrossMargin;
+	private double salesCost;
+	private String reason;
+	private ArrayList reasons; 
+	public ArrayList getReasons() {
+		reasons = new ArrayList();
+		if (proposedPrice != 0.0) {
+			if (proposedPrice <= salesCost) {
+				reasons.add(new SelectItem("Nobody Needs it"));
+				reasons.add(new SelectItem("Bad Quality"));
+				reasons.add(new SelectItem("Partly Broken"));
+			} else {
+				reasons.add(new SelectItem("Just Good"));
+				reasons.add(new SelectItem("Everybody Asks for it"));
+			}
+		} else {
+			//reasons.add(new SelectItem("Enter the Price"));
+		}
+		return reasons;
+	}
+	public void setReasons(ArrayList reasons) {
+		this.reasons = reasons;
+	}
+	public String getReason() {
+		return reason;
+	}
+	public void setReason(String reason) {
+		this.reason = reason;
+	}
+	
+	public SalesItem(int productCode, double salesCost) {
+		super();
+		this.productCode = productCode;
+		this.salesCost = salesCost;
+	}
+	public int getProductCode() {
+		return productCode;
+	}
+	public void setProductCode(int productCode) {
+		this.productCode = productCode;
+	}
+	public double getProposedGrossMargin() {
+		if (proposedPrice == 0)
+			return 0;
+		else {
+			return (proposedPrice-salesCost)/proposedPrice ;
+		}
+	}
+	public void setProposedGrossMargin(double proposedGrossMargin) {
+		ProposedGrossMargin = proposedGrossMargin;
+	}
+	public double getProposedPrice() {
+		return proposedPrice;
+	}
+	public void setProposedPrice(double proposedPrice) {
+		this.proposedPrice = proposedPrice;
+	}
+	public double getSalesCost() {
+		return salesCost;
+	}
+	public void setSalesCost(double salesCost) {
+		this.salesCost = salesCost;
+	}
+}


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesItem.java
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesReport.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesReport.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesReport.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+package org.richfaces.datatable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SalesReport {
+	List items = null;
+
+	public List getItems() {
+		if (items == null)
+			initData();
+		return items;
+	}
+
+	public void setItems(List items) {
+		this.items = items;
+	}
+	
+	private void initData() {
+		items = new ArrayList();
+		items.add(new SalesItem(1, 20.00));
+		items.add(new SalesItem(2, 10.00));
+		items.add(new SalesItem(3, 20.00));
+		items.add(new SalesItem(4, 20.00));
+	}
+}


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/SalesReport.java
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/UpdateBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/UpdateBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/UpdateBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+package org.richfaces.datatable;
+
+import javax.faces.component.html.HtmlInputText;
+import javax.faces.context.FacesContext;
+import org.ajax4jsf.component.UIRepeat;
+import java.util.HashSet;
+import java.util.Set;
+
+public class UpdateBean {
+
+	HtmlInputText priceRef;
+	private UIRepeat repeater;
+	private Set<Integer> keys = null;
+	
+	/**
+	 * @return the keys
+	 */
+	public Set getKeys() {
+		return keys;
+	}
+
+	/**
+	 * @param keys the keys to set
+	 */
+	public void setKeys(Set keys) {
+		this.keys = keys;
+	}
+
+	public void setRepeater(UIRepeat repeater) {
+		this.repeater = repeater;
+	}
+
+	public UIRepeat getRepeater() {
+		return repeater;
+	}
+
+	public HtmlInputText getPriceRef() {
+		return priceRef;
+	}
+
+	public void setPriceRef(HtmlInputText priceRef) {
+		this.priceRef = priceRef;
+	}
+	
+	public String change(){
+		
+		HashSet keys = new HashSet<Integer>();
+		int rowKey = getRepeater().getRowIndex();
+		keys.add(rowKey);
+		setKeys(keys);
+		priceRef.processValidators(FacesContext.getCurrentInstance());
+		priceRef.processUpdates(FacesContext.getCurrentInstance());
+		return null;
+	}
+}


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatable/UpdateBean.java
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/datatablescroller/DataTableScrollerBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,172 @@
+/**
+ * 
+ */
+package org.richfaces.datatablescroller;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Random;
+
+import org.richfaces.demo.datafilterslider.DemoInventoryItem;
+import org.richfaces.model.ScrollableTableDataModel.SimpleRowKey;
+import org.richfaces.model.selection.SimpleSelection;
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 02.03.2007
+ * 
+ */
+public class DataTableScrollerBean {
+	private SimpleSelection selection = new SimpleSelection();
+	private ArrayList<DemoInventoryItem> selectedCars = new ArrayList<DemoInventoryItem>(); 
+	private static int DECIMALS = 1;
+	private static int ROUNDING_MODE = BigDecimal.ROUND_HALF_UP;
+
+	private List <DemoInventoryItem> allCars = null;
+
+	public List <DemoInventoryItem> getAllCars() {
+		synchronized (this) {
+			if (allCars == null) {
+				allCars = new ArrayList<DemoInventoryItem>();
+				for (int k = 0; k <= 5; k++) {
+					try{
+						switch (k) {
+						case 0:
+							allCars.addAll(createCar("Chevrolet","Corvette", 5));
+							allCars.addAll(createCar("Chevrolet","Malibu", 8));
+							allCars.addAll(createCar("Chevrolet","S-10", 10));
+							allCars.addAll(createCar("Chevrolet","Tahoe", 6));
+							break;
+
+						case 1:
+							allCars.addAll(createCar("Ford","Taurus", 12));
+							allCars.addAll(createCar("Ford","Explorer", 11));
+							break;
+						case 2:
+							allCars.addAll(createCar("Nissan","Maxima", 9));
+							break;
+						case 3:
+							allCars.addAll(createCar("Toyota","4-Runner", 7));
+							allCars.addAll(createCar("Toyota","Camry", 15));
+							allCars.addAll(createCar("Toyota","Avalon", 13));
+							break;
+						case 4:
+							allCars.addAll(createCar("GMC","Sierra", 8));
+							allCars.addAll(createCar("GMC","Yukon", 10));
+							break;
+						case 5:
+							allCars.addAll(createCar("Infiniti","G35", 6));
+							break;
+						/*case 6:
+							allCars.addAll(createCar("UAZ","469", 6));
+							break;*/
+						default:
+							break;
+						}
+					}catch(Exception e){
+						System.out.println("!!!!!!loadAllCars Error: " + e.getMessage());
+						e.printStackTrace();
+					}
+				}
+			}
+		}
+
+		return allCars;
+	}
+
+	public int genRand() {
+		return rand(1,10000);
+	}
+
+	public List <DemoInventoryItem> createCar(String make, String model, int count){
+
+		ArrayList <DemoInventoryItem> iiList = null;
+
+		try{
+			int arrayCount = count;
+
+			DemoInventoryItem[] demoInventoryItemArrays = new DemoInventoryItem[arrayCount];
+
+			for (int j = 0; j < demoInventoryItemArrays.length; j++){
+				DemoInventoryItem ii = new DemoInventoryItem();
+
+				ii.setMake(make);
+				ii.setModel(model);
+				ii.setStock(randomstring(6,7));
+				ii.setVin(randomstring(14,15));
+				ii.setMileage(new BigDecimal(rand(5000,80000)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setMileageMarket(new BigDecimal(rand(25000,45000)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setPrice(new Integer(rand(15000,55000)));
+				ii.setPriceMarket(new BigDecimal(rand(15000,55000)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setDaysLive(rand(1,90));
+				ii.setChangeSearches(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setChangePrice(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setExposure(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setActivity(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setPrinted(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+				ii.setInquiries(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+				demoInventoryItemArrays[j] = ii;
+
+			}
+
+			iiList = new ArrayList<DemoInventoryItem>(Arrays.asList(demoInventoryItemArrays));
+
+		}catch(Exception e){
+			System.out.println("!!!!!!createCategory Error: " + e.getMessage());
+			e.printStackTrace();
+		}
+		return iiList;
+	}
+
+	public static int rand(int lo, int hi)
+	{
+		Random rn2 = new Random();
+		//System.out.println("**" + lo);
+		//System.out.println("**" + hi);
+		int n = hi - lo + 1;
+		int i = rn2.nextInt() % n;
+		if (i < 0)
+			i = -i;
+		return lo + i;
+	}
+
+	public static String randomstring(int lo, int hi)
+	{
+		int n = rand(lo, hi);
+		byte b[] = new byte[n];
+		for (int i = 0; i < n; i++)
+			b[i] = (byte)rand('A', 'Z');
+		return new String(b);
+	}
+
+	public SimpleSelection getSelection() {
+		return selection;
+	}
+
+	public void setSelection(SimpleSelection selection) {
+		System.out.println("Setting Started");
+		this.selection = selection;
+		System.out.println("Setting Complete");
+	}
+	
+	public String takeSelection() {
+		getSelectedCars().clear();
+		Iterator<SimpleRowKey> iterator = getSelection().getKeys();
+		while (iterator.hasNext()){
+			SimpleRowKey key = iterator.next();
+			getSelectedCars().add(getAllCars().get(key.intValue()));
+		}
+		return null;
+	}
+
+	public ArrayList<DemoInventoryItem> getSelectedCars() {
+		return selectedCars;
+	}
+
+	public void setSelectedCars(ArrayList<DemoInventoryItem> selectedCars) {
+		this.selectedCars = selectedCars;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxSamples/rsBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxSamples/rsBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxSamples/rsBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,46 @@
+package org.richfaces.demo.ajaxSamples;
+
+public class rsBean {
+	private Integer addent1;
+	private Integer addent2;
+	private Integer sum;
+	private String text1;
+	private String text2;
+	
+	
+	public Integer getSum() {
+		return sum;
+	}
+	public void setSum(Integer sum) {
+		this.sum = sum;
+	}
+	public Integer getAddent1() {
+		return addent1;
+	}
+	public void setAddent1(Integer addent1) {
+		this.addent1 = addent1;
+	}
+	public Integer getAddent2() {
+		return addent2;
+	}
+	public void setAddent2(Integer addent2) {
+		this.addent2 = addent2;
+	}
+	public String doSum() {
+		sum = new Integer((addent1 != null ? addent1.intValue() : 0) + (addent2 != null ? addent2.intValue() : 0));
+		return null;
+	}
+	public String getText1() {
+		return text1;
+	}
+	public void setText1(String text1) {
+		this.text1 = text1;
+	}
+	public String getText2() {
+		return text2;
+	}
+	public void setText2(String text2) {
+		this.text2 = text2;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/UserBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/UserBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/UserBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,118 @@
+package org.richfaces.demo.ajaxsupport;
+
+import java.util.Date;
+
+public class UserBean {
+	private String name;
+	private java.lang.Integer screenWidth;
+	private java.lang.Integer screenHeight;
+	private String job;
+	private String address;
+	private String city;
+	private String zip;
+	private Date date;
+	private Date pollStartTime;
+	private boolean pollEnabled;
+	
+	public UserBean() {
+		super();
+		pollEnabled=true;
+	}
+	
+	public String getName() {
+		return this.name;
+	}
+	
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public java.lang.Integer getScreenWidth() {
+		return screenWidth;
+	}
+
+	public void setScreenWidth(java.lang.Integer screenWidth) {
+		this.screenWidth = screenWidth;
+	}
+
+	public java.lang.Integer getScreenHeight() {
+		return screenHeight;
+	}
+
+	public void setScreenHeight(java.lang.Integer screenHeight) {
+		this.screenHeight = screenHeight;
+	}
+	
+	public String nameItJohn() {
+		setName("Jonh");
+		return null;
+	}
+	public String nameItMark() {
+		setName("Mark");
+		return null;
+	}
+
+	public String getJob() {
+		return job;
+	}
+
+	public void setJob(String job) {
+		this.job = job;
+	}
+
+	public Date getDate() {
+		Date date = new Date();
+		if (null==pollStartTime){
+			pollStartTime = new Date();
+			return date;
+		}
+		if ((date.getTime()-pollStartTime.getTime())>=60000) setPollEnabled(false);
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public boolean getPollEnabled() {
+		return pollEnabled;
+	}
+
+	public void setPollEnabled(boolean pollEnabled) {
+		if (pollEnabled) setPollStartTime(null);
+		this.pollEnabled = pollEnabled;
+	}
+
+	public String getAddress() {
+		return address;
+	}
+
+	public void setAddress(String address) {
+		this.address = address;
+	}
+
+	public String getCity() {
+		return city;
+	}
+
+	public void setCity(String city) {
+		this.city = city;
+	}
+
+	public String getZip() {
+		return zip;
+	}
+
+	public void setZip(String zip) {
+		this.zip = zip;
+	}
+
+	public Date getPollStartTime() {
+		return pollStartTime;
+	}
+
+	public void setPollStartTime(Date pollStartTime) {
+		this.pollStartTime = pollStartTime;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle1.properties
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle1.properties	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle1.properties	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1 @@
+text1=This bundle message is loading with f\:loadBundle. It will disappear during the Ajax re-rendering

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle2.properties
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle2.properties	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ajaxsupport/bundle2.properties	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1 @@
+text2=This bundle message is loading with a4j\:loadBundle.

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/calendar/CalendarBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/calendar/CalendarBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/calendar/CalendarBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,75 @@
+package org.richfaces.demo.calendar;
+
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+import javax.faces.event.ValueChangeEvent;
+
+public class CalendarBean {
+
+	private Locale locale;
+	private boolean popup;
+	private String pattern;
+	private Date selectedDate;
+
+	private boolean useCustomDayLabels;
+
+	public Locale getLocale() {
+		return locale;
+	}
+
+	public void setLocale(Locale locale) {
+		this.locale = locale;
+	}
+
+	public boolean isPopup() {
+		return popup;
+	}
+
+	public void setPopup(boolean popup) {
+		this.popup = popup;
+	}
+
+	public String getPattern() {
+		return pattern;
+	}
+
+	public void setPattern(String pattern) {
+		this.pattern = pattern;
+	}
+
+	public CalendarBean() {
+
+		locale = Locale.US;
+		popup = true;
+		pattern = "MMM d, yyyy";
+	}
+		
+	public void selectLocale(ValueChangeEvent event) {
+
+		String tLocale = (String) event.getNewValue();
+		if (tLocale != null) {
+			String lang = tLocale.substring(0, 2);
+			String country = tLocale.substring(3);
+			locale = new Locale(lang, country, "");
+		}
+	}
+
+	public boolean isUseCustomDayLabels() {
+		return useCustomDayLabels;
+	}
+
+	public void setUseCustomDayLabels(boolean useCustomDayLabels) {
+		this.useCustomDayLabels = useCustomDayLabels;
+	}
+
+	public Date getSelectedDate() {
+		return selectedDate;
+	}
+
+	public void setSelectedDate(Date selectedDate) {
+		this.selectedDate = selectedDate;
+	}
+
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/Capital.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/Capital.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/Capital.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,51 @@
+package org.richfaces.demo.capitals;
+
+import java.io.Serializable;
+
+public class Capital implements Serializable {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -1042449580199397136L;
+	private boolean checked=false;
+	private String name;
+	private String state;
+	private String timeZone;
+	
+	private final static String FILE_EXT = ".gif";
+	public Capital() {
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getState() {
+		return state;
+	}
+	public void setState(String state) {
+		this.state = state;
+	}
+
+	private String stateNameToFileName() {
+		return state.replaceAll("\\s", "").toLowerCase();
+	}
+	
+	public String getStateFlag() {
+		return "/images/capitals/" + stateNameToFileName() + FILE_EXT;
+	}
+	
+	public String getTimeZone() {
+		return timeZone;
+	}
+	public void setTimeZone(String timeZone) {
+		this.timeZone = timeZone;
+	}
+	public boolean isChecked() {
+		return checked;
+	}
+	public void setChecked(boolean checked) {
+		this.checked = checked;
+	}
+}


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/Capital.java
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/CapitalsBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/CapitalsBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/CapitalsBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,65 @@
+package org.richfaces.demo.capitals;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.faces.FacesException;
+
+import org.apache.commons.digester.Digester;
+import org.apache.commons.digester.xmlrules.DigesterLoader;
+import org.xml.sax.SAXException;
+
+public class CapitalsBean {
+	private ArrayList<Capital> capitals = new ArrayList<Capital>();
+    private String capital = ""; 
+	
+	public List<Capital> autocomplete(Object suggest) {
+        String pref = (String)suggest;
+        ArrayList<Capital> result = new ArrayList<Capital>();
+
+        Iterator<Capital> iterator = getCapitals().iterator();
+        while (iterator.hasNext()) {
+            Capital elem = ((Capital) iterator.next());
+            if ((elem.getName() != null && elem.getName().toLowerCase().indexOf(pref.toLowerCase()) == 0) || "".equals(pref))
+            {
+                result.add(elem);
+            }
+        }
+        return result;
+    }
+    
+	public CapitalsBean() {
+		URL rulesUrl = getClass().getResource("capitals-rules.xml");
+		Digester digester =	DigesterLoader.createDigester(rulesUrl);
+		digester.push(this);
+		try {
+			digester.parse(getClass().getResourceAsStream("capitals.xml"));
+		} catch (IOException e) {
+			throw new FacesException(e);
+		} catch (SAXException e) {
+			throw new FacesException(e);
+		}
+
+	}
+	
+	public String addCapital(Capital capital) {
+		capitals.add(capital);
+		return null;
+	}
+	
+	public ArrayList<Capital> getCapitals() {
+		return capitals;
+	}
+
+	public String getCapital() {
+		return capital;
+	}
+
+	public void setCapital(String capital) {
+		this.capital = capital;
+	}
+	
+}


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/capitals/CapitalsBean.java
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentDescriptor.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentDescriptor.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentDescriptor.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,110 @@
+package org.richfaces.demo.common;
+
+import javax.faces.context.FacesContext;
+
+public class ComponentDescriptor {
+	private String id;
+	private String name;
+	private String group;
+	private String captionImage;
+	private String iconImage;
+	private String devGuideLocation;
+	private String tldDocLocation;
+	private String javaDocLocation;
+	private String demoLocation;
+	private boolean current;
+	
+	public ComponentDescriptor() {
+		this.id = "";
+		this.name = "";
+		this.captionImage = "";
+		this.iconImage = "";
+		this.devGuideLocation = "";
+		this.tldDocLocation = "";
+		this.javaDocLocation = "";
+		this.current = false;
+	}
+	
+	public String getCaptionImage() {
+		return captionImage;
+	}
+	public void setCaptionImage(String captionImage) {
+		this.captionImage = captionImage;
+	}
+	public String getDevGuideLocation() {
+		return devGuideLocation;
+	}
+	public void setDevGuideLocation(String devGuideLocation) {
+		this.devGuideLocation = devGuideLocation;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getJavaDocLocation() {
+		return javaDocLocation;
+	}
+	public void setJavaDocLocation(String javaDocLocation) {
+		this.javaDocLocation = javaDocLocation;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public String getTldDocLocation() {
+		return tldDocLocation;
+	}
+	public void setTldDocLocation(String tldDocLocation) {
+		this.tldDocLocation = tldDocLocation;
+	}
+
+	public boolean isCurrent() {
+		return current;
+	}
+
+	public void setCurrent(boolean current) {
+		this.current = current;	
+	}
+
+	public String getIconImage() {
+		return iconImage;
+	}
+
+	public void setIconImage(String iconImage) {
+		this.iconImage = iconImage;
+	}
+
+	public String getDemoLocation() {
+		return demoLocation;
+	}
+
+	public void setDemoLocation(String demoLocation) {
+		this.demoLocation = demoLocation;
+	}
+	public String getContextRelativeDemoLocation() {
+		FacesContext fc = FacesContext.getCurrentInstance();
+		//return fc.getExternalContext().getRequestContextPath()+"/faces"+getDemoLocation();
+      return getDemoLocation();
+   }
+
+	public String getGroup() {
+		return group;
+	}
+
+	public void setGroup(String group) {
+		this.group = group;
+	}
+	
+	public String getTagInfoLocation() {
+		int pos = tldDocLocation.indexOf("tlddoc");
+		if (pos > 0) {
+			return tldDocLocation.substring(pos);
+		}
+		return tldDocLocation;
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentNavigator.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentNavigator.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/ComponentNavigator.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,236 @@
+package org.richfaces.demo.common;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import javax.faces.FacesException;
+import javax.faces.event.ActionEvent;
+import javax.faces.context.FacesContext;
+import javax.servlet.http.HttpServletRequest;
+
+public class ComponentNavigator {
+	private String lastCompId = null;
+	private List components = null;
+	private ComponentDescriptor currentComponent;
+	private List componentGroups = null;
+	private Object activeTab;
+   private String bodyParam;
+
+   public boolean getHasCurrentComponent() {
+		return currentComponent!=null;
+	}
+	
+	public Object getActiveTab() {
+		return activeTab;
+	}
+	public void setActiveTab(Object activeTab) {
+		this.activeTab = activeTab;
+	}
+	public ComponentDescriptor getCurrentComponent() {
+		String id = getComponentParam();
+		if (id!=null) {
+			setCurrentComponent(findComponentById(id));
+			lastCompId = id;
+		} else if (lastCompId!=null) {
+			setCurrentComponent(findComponentById(lastCompId));
+		} else {
+			String uri = getComponentUri();
+			setCurrentComponent(findComponentByUri(uri));
+		}
+		return currentComponent;
+	}
+	private String getComponentUri() {
+		FacesContext fc = FacesContext.getCurrentInstance();
+      return fc.getViewRoot().getViewId();
+	}
+	private String getComponentParam() {
+		FacesContext fc = FacesContext.getCurrentInstance();
+		String param = (String) fc.getExternalContext().getRequestParameterMap().get("c");
+		if (param!=null && param.trim().length()>0) {
+			return param;
+		} else {
+			return null;
+		}
+	}
+
+
+   private List components_() {
+		if (components==null) {
+			loadComponents();
+		}
+		return components;
+	}
+	public ComponentDescriptor findComponentByUri(String uri) {
+		Iterator it = components_().iterator();
+		while (it.hasNext()) {
+			ComponentDescriptor component = (ComponentDescriptor) it.next();
+			if (uri.endsWith(component.getDemoLocation())) {
+				return component;
+			}
+		}
+		return null;
+	}
+	public ComponentDescriptor findComponentById(String id) {
+		Iterator it = components_().iterator();
+		while (it.hasNext()) {
+			ComponentDescriptor component = (ComponentDescriptor) it.next();
+			if (component.getId().equals(id)) {
+				return component;
+			}
+		}
+		return null;
+	}
+	
+	public void setCurrentComponent(ComponentDescriptor currentComponent) {
+		if (currentComponent==null) {
+			setActiveTab(null);
+			this.currentComponent = (ComponentDescriptor)components_().get(0);
+		}
+		if (this.currentComponent!=null && currentComponent!=null & !this.currentComponent.equals(currentComponent)) {
+			setActiveTab(null);
+		} else if (this.currentComponent==null || currentComponent==null) {
+			setActiveTab(null);
+		}
+		this.currentComponent = currentComponent;
+	}
+
+	public List getComponentGroups() {
+		return componentGroups;
+	}
+	public void setComponentGroups(List componentGroups) {
+		this.componentGroups = componentGroups;
+	}
+	
+	private List getFilteredComponents(String group) {
+		List ret = new ArrayList();
+		Iterator it = getComponents().iterator();
+		while (it.hasNext()) {
+			ComponentDescriptor desc = (ComponentDescriptor) it.next();
+			if (desc.getGroup().equals(group)) {
+				ret.add(desc);
+			}
+		}
+		return ret;
+	}
+	
+	public List getRichDragDropComponents() {
+		return getFilteredComponents("richDragDrop");
+	}
+	public List getRichDataIterators() {
+		return getFilteredComponents("richDataIterators");
+	}
+	public List getRichMenu() {
+		return getFilteredComponents("richMenu");
+	}
+	public List getRichTree() {
+		return getFilteredComponents("richTree");
+	}
+	public List getRichInputs() {
+		return getFilteredComponents("richInputs");
+	}
+	public List getRichOutputs() {
+		return getFilteredComponents("richOutputs");
+	}
+	public List getAjaxSupport() {
+		return getFilteredComponents("ajaxSupport");
+	}
+	public List getAjaxResources() {
+		return getFilteredComponents("ajaxResources");
+	}
+	public List getAjaxOutput() {
+		return getFilteredComponents("ajaxOutput");
+	}
+	public List getAjaxMisc() {
+		return getFilteredComponents("ajaxMisc");
+	}
+	public List getRichMisc() {
+		return getFilteredComponents("richMisc");
+	}
+	
+	public List getComponents() {
+		Iterator it = components_().iterator();
+		ComponentDescriptor cur = getCurrentComponent();
+		while (it.hasNext()) {
+			ComponentDescriptor desc = (ComponentDescriptor) it.next();
+			if (desc.equals(cur)) {
+				desc.setCurrent(true);
+			} else {
+				desc.setCurrent(false);
+			}
+		}
+		return components;
+	}
+
+	public void setComponents(List components) {
+		this.components = components;
+	}
+	
+	private void loadComponents() {
+		Properties props = new Properties();
+		List temp = new ArrayList();
+		try {
+			InputStream is = this.getClass().getClassLoader().getResourceAsStream("/org/richfaces/demo/common/components.properties");
+			props.load(is);
+		} catch (Exception e) {
+			throw new FacesException(e);
+		}
+		Set entries = props.entrySet();
+		Iterator it = entries.iterator();
+		while (it.hasNext()) {
+			Map.Entry e = (Map.Entry) it.next();
+			ComponentDescriptor desc = new ComponentDescriptor();
+			desc.setId(e.getKey().toString().trim());
+			StringTokenizer toc = new StringTokenizer(e.getValue().toString(),",");
+//			#id=name,captionImage,iconImage,devGuideLocation,tldDocLocation,javaDocLocation
+			desc.setGroup(toc.nextToken().trim());
+			desc.setName(toc.nextToken().trim());
+			desc.setIconImage(toc.nextToken().trim());
+			desc.setCaptionImage(toc.nextToken().trim());
+			desc.setDevGuideLocation(toc.nextToken().trim());
+			desc.setTldDocLocation(toc.nextToken().trim());
+			desc.setJavaDocLocation(toc.nextToken().trim());
+			desc.setDemoLocation(toc.nextToken().trim());
+			temp.add(desc);
+		}
+		Collections.sort(temp, new Comparator() {
+			public int compare(Object o1, Object o2) {
+				ComponentDescriptor d1 = (ComponentDescriptor)o1;
+				ComponentDescriptor d2 = (ComponentDescriptor)o2;
+				return d1.getName().compareTo(d2.getName());
+			}});
+		setComponents(temp);
+		setCurrentComponent((ComponentDescriptor) temp.get(0));
+	}
+
+
+   public void useBodyParam(ActionEvent event){
+      //FacesContext fc = FacesContext.getCurrentInstance();
+		String param = (String) event.getComponent().getAttributes().get("body");
+      System.out.println("--------" + param);
+
+      if (param!=null && param.trim().length()>0) {
+         bodyParam = param;
+         setBodyParam(param);
+		} else {
+			//return null;
+		}
+   }
+
+   public String getBodyParam()
+   {
+      return bodyParam;
+   }
+
+   public void setBodyParam(String bodyParam)
+   {
+      this.bodyParam = bodyParam;
+   }
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/Environment.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/Environment.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/Environment.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+package org.richfaces.demo.common;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Environment {
+	private Map params = new HashMap();
+
+	public Map getParams() {
+		return params;
+	}
+
+	public void setParams(Map params) {
+		this.params = params;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/RandomDataHelper.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/RandomDataHelper.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/RandomDataHelper.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+package org.richfaces.demo.common;
+
+public class RandomDataHelper {
+	public static int random(int min, int max) {
+		assert(min<=max);
+		return min+(int)Math.round(Math.random()*(double)(max-min));
+	}
+	public static Object random(Object values[]) {
+		assert(values!=null);
+		return values[random(0,values.length-1)];
+	}
+	private static char randomChar() {
+		if (Math.random()>0.5) {
+			return (char)((int)'0'+random(0,9));
+		} else {
+			return (char)((int)'A'+random(0,25));
+		}
+	}
+	public static String randomString(int length) {
+		StringBuffer buf = new StringBuffer();
+		for (int counter=0;counter<length;counter++) {
+			buf.append(randomChar());
+		}
+		return buf.toString();
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/SkinBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/SkinBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/common/SkinBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,59 @@
+/**
+ * 
+ */
+package org.richfaces.demo.common;
+
+import java.io.Serializable;
+
+import javax.faces.context.FacesContext;
+
+
+/**
+ * @author sim
+ *
+ */
+public class SkinBean implements Serializable {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -2399884208294434812L;
+	private String skin;
+	private Object skinChooserState;
+
+	public String getSkin() {
+		String param = getSkinParam();
+		if (param!=null) {
+			setSkin(param);
+		}
+		return skin;
+	}
+	public void setSkin(String skin) {
+		this.skin = skin;
+	}
+	
+	private String getSkinParam(){
+		FacesContext fc = FacesContext.getCurrentInstance();
+		String param = (String) fc.getExternalContext().getRequestParameterMap().get("s");
+		//if (param!=null && param.trim().length()>0) {
+			//return param;
+		//} else {
+			return null;
+		//}
+	}
+	
+	
+	public String changeSkin() {
+		String param = getSkinParam();
+		if (param!=null) {
+			setSkin(param);
+		}
+		return null;
+	}
+
+	public Object getSkinChooserState() {
+		return skinChooserState;
+	}
+	public void setSkinChooserState(Object skinChooserState) {
+		this.skinChooserState = skinChooserState;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDao.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDao.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDao.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,12 @@
+package org.richfaces.demo.datafilterslider;
+
+import java.util.List;
+
+public interface DataFilterSliderDao {
+
+    public List getCarsById(String id);
+
+    public List getAllCarMakes();
+
+    public int genRand();
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDaoImpl.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDaoImpl.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DataFilterSliderDaoImpl.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,168 @@
+package org.richfaces.demo.datafilterslider;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: Wesley
+ * Date: Jan 26, 2007
+ * Time: 8:20:38 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class DataFilterSliderDaoImpl implements DataFilterSliderDao {
+
+    private Map itemKeyMap = new HashMap();
+    private static int DECIMALS = 1;
+    private static int ROUNDING_MODE = BigDecimal.ROUND_HALF_UP;
+    private static DataFilterSliderDaoImpl ourInstance = new DataFilterSliderDaoImpl();
+
+    public static DataFilterSliderDaoImpl getInstance() {
+        return ourInstance;
+    }
+
+    private DataFilterSliderDaoImpl() {
+        loadCarList("0");
+        loadCarList("1");
+        loadCarList("2");
+        loadCarList("3");
+        loadCarList("4");
+        loadCarList("5");
+
+    }
+
+    public List getAllCarMakes(){
+        List retVal = new ArrayList();
+
+        retVal.add("Chevrolet");
+        retVal.add("Ford");
+        retVal.add("Nissan");
+        retVal.add("Toyota");
+        retVal.add("GMC");
+        retVal.add("Infiniti");
+
+        return retVal;
+    }
+
+    public List getCarsById(String id){
+        List retVal = new ArrayList();
+
+        retVal = (ArrayList)itemKeyMap.get( id );
+
+        return retVal;
+    }
+
+    public List loadCarList(String id) {
+
+        ArrayList retVal = new ArrayList();
+        if ( itemKeyMap.containsKey( id ) ){
+            retVal = (ArrayList)itemKeyMap.get( id );
+            //log.info("***************************YES we already have this one in cache: " + id);
+        }else{
+            try{
+
+                if (id.equals("0")){
+                    retVal.addAll(createCar("Chevrolet","Corvette"));
+                    retVal.addAll(createCar("Chevrolet","Malibu"));
+                    retVal.addAll(createCar("Chevrolet","S-10"));
+                    retVal.addAll(createCar("Chevrolet","Tahoe"));
+                }else if(id.equals("1")){
+                    retVal.addAll(createCar("Ford","Taurus"));
+                    retVal.addAll(createCar("Ford","Explorer"));
+                }else if(id.equals("2")){
+                    retVal.addAll(createCar("Nissan","Maxima"));
+                }else if(id.equals("3")){
+                    retVal.addAll(createCar("Toyota","4-Runner"));
+                    retVal.addAll(createCar("Toyota","Camry"));
+                    retVal.addAll(createCar("Toyota","Avalon"));
+                }else if(id.equals("4")){
+                    retVal.addAll(createCar("GMC","Sierra"));
+                    retVal.addAll(createCar("GMC","Yukon"));
+                }else if(id.equals("5")){
+                    retVal.addAll(createCar("Infiniti","G35"));
+                }
+
+            }catch(Exception e){
+                System.out.println("!!!!!!loadAllCars Error: " + e.getMessage());
+                e.printStackTrace();
+            }
+
+            itemKeyMap.put(id,retVal);
+        }
+
+
+        return retVal;
+    }
+
+    public int genRand() {
+        return rand(1,10000);
+    }
+
+    public List createCar(String make, String model){
+
+           ArrayList iiList = null;
+
+           try{
+                int arrayCount = rand(5,20);
+
+                DemoInventoryItem[] demoInventoryItemArrays = new DemoInventoryItem[arrayCount];
+                System.out.println("******demoInventoryItemArrays: " + demoInventoryItemArrays.length);
+
+                for (int j = 0; j < demoInventoryItemArrays.length; j++){
+                    DemoInventoryItem ii = new DemoInventoryItem();
+
+                    ii.setMake(make);
+                    ii.setModel(model);
+                    ii.setStock(randomstring(6,7));
+                    ii.setVin(randomstring(14,15));
+                    ii.setMileage(new BigDecimal(rand(5000,80000)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setMileageMarket(new BigDecimal(rand(25000,45000)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setPrice(new Integer(rand(15000,55000)));
+                    ii.setPriceMarket(new BigDecimal(rand(15000,55000)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setDaysLive(rand(1,90));
+                    ii.setChangeSearches(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setChangePrice(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setExposure(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setActivity(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setPrinted(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+                    ii.setInquiries(new BigDecimal(rand(0,5)).setScale(DECIMALS, ROUNDING_MODE));
+                    demoInventoryItemArrays[j] = ii;
+
+                }
+
+                iiList = new ArrayList(Arrays.asList(demoInventoryItemArrays));
+
+                }catch(Exception e){
+                    System.out.println("!!!!!!createCategory Error: " + e.getMessage());
+                    e.printStackTrace();
+                }
+            return iiList;
+            }
+
+        public static int rand(int lo, int hi)
+        {
+            Random rn2 = new Random();
+            //System.out.println("**" + lo);
+            //System.out.println("**" + hi);
+                int n = hi - lo + 1;
+                int i = rn2.nextInt() % n;
+                if (i < 0)
+                        i = -i;
+                return lo + i;
+        }
+
+        public static String randomstring(int lo, int hi)
+        {
+                int n = rand(lo, hi);
+                byte b[] = new byte[n];
+                for (int i = 0; i < n; i++)
+                        b[i] = (byte)rand('A', 'Z');
+                return new String(b, 0);
+        }
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryItem.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryItem.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryItem.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,154 @@
+package org.richfaces.demo.datafilterslider;
+
+import java.math.BigDecimal;
+import java.io.Serializable;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: Wesley
+ * Date: Jan 26, 2007
+ * Time: 8:21:36 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class DemoInventoryItem implements Serializable {
+
+    String make;
+    String model;
+    String stock;
+    String vin;
+
+    BigDecimal mileage;
+    BigDecimal mileageMarket;
+    Integer price;
+    BigDecimal priceMarket;
+
+    int daysLive;
+    BigDecimal changeSearches;
+    BigDecimal changePrice;
+
+    BigDecimal exposure;
+    BigDecimal activity;
+    BigDecimal printed;
+    BigDecimal inquiries;
+
+
+    public String getMake() {
+        return make;
+    }
+
+    public void setMake(String make) {
+        this.make = make;
+    }
+
+    public String getModel() {
+        return model;
+    }
+
+    public void setModel(String model) {
+        this.model = model;
+    }
+
+    public String getStock() {
+        return stock;
+    }
+
+    public void setStock(String stock) {
+        this.stock = stock;
+    }
+
+    public String getVin() {
+        return vin;
+    }
+
+    public void setVin(String vin) {
+        this.vin = vin;
+    }
+
+    public BigDecimal getMileage() {
+        return mileage;
+    }
+
+    public void setMileage(BigDecimal mileage) {
+        this.mileage = mileage;
+    }
+
+    public BigDecimal getMileageMarket() {
+        return mileageMarket;
+    }
+
+    public void setMileageMarket(BigDecimal mileageMarket) {
+        this.mileageMarket = mileageMarket;
+    }
+
+    public Integer getPrice() {
+        return price;
+    }
+
+    public void setPrice(Integer price) {
+        this.price = price;
+    }
+
+    public BigDecimal getPriceMarket() {
+        return priceMarket;
+    }
+
+    public void setPriceMarket(BigDecimal priceMarket) {
+        this.priceMarket = priceMarket;
+    }
+
+    public int getDaysLive() {
+        return daysLive;
+    }
+
+    public void setDaysLive(int daysLive) {
+        this.daysLive = daysLive;
+    }
+
+    public BigDecimal getChangeSearches() {
+        return changeSearches;
+    }
+
+    public void setChangeSearches(BigDecimal changeSearches) {
+        this.changeSearches = changeSearches;
+    }
+
+    public BigDecimal getChangePrice() {
+        return changePrice;
+    }
+
+    public void setChangePrice(BigDecimal changePrice) {
+        this.changePrice = changePrice;
+    }
+
+    public BigDecimal getExposure() {
+        return exposure;
+    }
+
+    public void setExposure(BigDecimal exposure) {
+        this.exposure = exposure;
+    }
+
+    public BigDecimal getActivity() {
+        return activity;
+    }
+
+    public void setActivity(BigDecimal activity) {
+        this.activity = activity;
+    }
+
+    public BigDecimal getPrinted() {
+        return printed;
+    }
+
+    public void setPrinted(BigDecimal printed) {
+        this.printed = printed;
+    }
+
+    public BigDecimal getInquiries() {
+        return inquiries;
+    }
+
+    public void setInquiries(BigDecimal inquiries) {
+        this.inquiries = inquiries;
+    }
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryList.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryList.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoInventoryList.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,264 @@
+package org.richfaces.demo.datafilterslider;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.faces.component.UIData;
+import javax.faces.event.ActionEvent;
+
+import org.richfaces.component.UIDataFltrSlider;
+
+public class DemoInventoryList {
+
+    DataFilterSliderDao dataFilterSliderDao = DataFilterSliderDaoImpl.getInstance();
+
+
+    public DemoInventoryList() {
+       loadCarMakeIndex();
+    }
+
+    private List headers;
+    private List members;
+
+    // dataTableColumn Names
+    private static final String mileageColumnName = "Mileage";
+    private static final String mileageMktAvgColumnName = "+/- Mkt Avg";
+    private static final String priceColumnName = "Price";
+    private static final String priceMktAvgColumnName = "+/- Mkt Avg";
+    private static final String daysLiveColumnName = "Days Live";
+    private static final String changeSearchesColumnName = "% Change Searches";
+    private static final String changePriceColumnName = "% Change Price";
+    private static final String exposureColumnName = "Exposure";
+    private static final String activityColumnName = "Activity";
+    private static final String printedColumnName = "Printed";
+    private static final String inquiriesColumnName = "Inquiries";
+
+    private void populateHeaderList(){
+        headers = new ArrayList();
+        //headers.add("");
+        headers.add(mileageColumnName);
+        headers.add(mileageMktAvgColumnName);
+        headers.add(priceColumnName);
+        headers.add(priceMktAvgColumnName);
+        headers.add(daysLiveColumnName);
+        headers.add(changeSearchesColumnName);
+        headers.add(changePriceColumnName);
+        headers.add(exposureColumnName);
+        headers.add(activityColumnName);
+        headers.add(printedColumnName);
+        headers.add(inquiriesColumnName);
+
+
+    }
+
+    private void populateMemberList(){
+        members = new ArrayList();
+        members.add("avgMileage");
+        members.add("avgMileageMarket");
+        members.add("avgPrice");
+        members.add("avgPriceMarket");
+        members.add("avgDaysLive");
+        members.add("avgChangeSearches");
+        members.add("avgChangePrice");
+        members.add("avgExposure");
+        members.add("avgActivity");
+        members.add("avgPrinted");
+        members.add("avgInquiries");
+    }
+
+
+
+    public String getMileageColumnName() {
+        return mileageColumnName;
+    }
+
+
+    public String getMileageMktAvgColumnName() {
+        return mileageMktAvgColumnName;
+    }
+
+    public String getPriceMktAvgColumnName() {
+        return priceMktAvgColumnName;
+    }
+
+    public String getPriceColumnName() {
+        return priceColumnName;
+    }
+
+    public String getDaysLiveColumnName() {
+        return daysLiveColumnName;
+    }
+
+    public String getChangeSearchesColumnName() {
+        return changeSearchesColumnName;
+    }
+
+    public String getChangePriceColumnName() {
+        return changePriceColumnName;
+    }
+
+    public String getExposureColumnName() {
+        return exposureColumnName;
+    }
+
+    public String getActivityColumnName() {
+        return activityColumnName;
+    }
+
+    public String getPrintedColumnName() {
+        return printedColumnName;
+    }
+
+    public String getInquiriesColumnName() {
+        return inquiriesColumnName;
+    }
+
+    private List carMakeIndex;
+
+
+    public List getCarMakeIndex() {
+        return carMakeIndex;
+    }
+
+    public void setCarMakeIndex(List carMakeIndex) {
+        this.carMakeIndex = carMakeIndex;
+    }
+
+    private UIData carMakeIndexUIData;
+
+
+    public UIData getCarMakeIndexUIData() {
+        return carMakeIndexUIData;
+    }
+
+    public void setCarMakeIndexUIData(UIData carMakeIndexUIData) {
+        this.carMakeIndexUIData = carMakeIndexUIData;
+    }
+
+    public Object getCarInventory() {
+
+        if (uiData == null){
+            loadCarTable("1");
+        }
+
+        return getUiData().getValue();
+
+    }
+
+    protected void loadCarMakeIndex() {
+
+        carMakeIndex = dataFilterSliderDao.getAllCarMakes();
+    }
+
+    UIData uiData;
+
+
+    public UIData getUiData() {
+        if(uiData == null){
+            uiData = new UIData();
+        }
+        return uiData;
+    }
+
+    public void setUiData(UIData uiData) {
+        this.uiData = uiData;
+    }
+
+    public void loadCarTable(String id) {
+       try{
+
+            getUiData().setValue(dataFilterSliderDao.getCarsById(id));
+
+        }catch(Exception e){
+            e.printStackTrace();
+        }
+    }
+
+
+    private static final String carMileageColumnName = "Mileage";
+    private static final String carMileageMktAvgColumnName = "MktAvg";
+    private static final String carPriceColumnName = "Price";
+
+
+    public String getCarMileageColumnName() {
+        return carMileageColumnName;
+    }
+
+    public String getCarMileageMktAvgColumnName() {
+        return carMileageMktAvgColumnName;
+    }
+
+    public String getCarPriceColumnName() {
+        return carPriceColumnName;
+    }
+
+    private String filterValue;
+    private String filterRule;
+
+
+    public String getFilterValue() {
+        return filterValue;
+    }
+
+    public void setFilterValue(String filterValue) {
+        this.filterValue = filterValue;
+    }
+
+
+    public String getFilterRule() {
+        return filterRule;
+    }
+
+    public void setFilterRule(String filterRule) {
+        this.filterRule = filterRule;
+
+
+    }//Other Functions---------------------------------------------------------------------------------------
+    public void populateTableFromMake(){
+         loadCarTable(filterValue);
+    }
+
+    UIDataFltrSlider dataFilterSlider;
+
+
+    public UIDataFltrSlider getDataFilterSlider() {
+        return dataFilterSlider;
+    }
+
+    public void setDataFilterSlider(UIDataFltrSlider dataFilterSlider) {
+        this.dataFilterSlider = dataFilterSlider;
+    }
+
+    public void filterCarList(ActionEvent event) {
+
+        getDataFilterSlider().resetDataTable();
+
+        try{
+            filterValue = String.valueOf(carMakeIndexUIData.getRowIndex());
+            filterRule = getAttribute(event, "filterRule");
+
+            if (filterRule.equals("showTable")){
+                loadCarTable(filterValue);
+            }
+        }catch(Exception e){
+            e.printStackTrace();
+        }
+
+
+    }
+
+    private static String getAttribute(ActionEvent event, String name) {
+        return (String) event.getComponent().getAttributes().get(name);
+    }
+
+    public int genRandom;
+
+
+    public int getGenRandom() {
+        return dataFilterSliderDao.genRand();
+    }
+
+    public void setGenRandom(int genRandom) {
+        this.genRandom = genRandom;
+    }
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoSliderBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoSliderBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datafilterslider/DemoSliderBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,28 @@
+package org.richfaces.demo.datafilterslider;
+
+import org.richfaces.event.DataFilterSliderEvent;
+
+
+/**
+ * @author $Autor$
+ *
+ */
+public class DemoSliderBean {
+
+    DemoInventoryList demoInventoryList;
+
+
+    public void setDemoInventoryList(DemoInventoryList demoInventoryList) {
+        this.demoInventoryList = demoInventoryList;
+    }
+
+    public void doSlide(DataFilterSliderEvent event) {
+
+           Integer oldSliderVal = event.getOldSliderVal();
+           Integer newSliderVal = event.getNewSliderVal();
+
+          // System.out.println("Old Slider Value = " + oldSliderVal.toString() + "  " + "New Slider Value = " + newSliderVal.toString());
+
+    }
+
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datatable/Report.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datatable/Report.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/datatable/Report.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+package org.richfaces.demo.datatable;
+
+import org.richfaces.datatable.ExpenseReport;
+
+public class Report {
+	ExpenseReport expReport;
+
+	public ExpenseReport getExpReport() {
+		if (expReport == null)
+			expReport = new ExpenseReport();
+		return expReport;
+	}
+
+	public void setExpReport(ExpenseReport expReport) {
+		this.expReport = expReport;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ddmenu/Menu.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ddmenu/Menu.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/ddmenu/Menu.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,38 @@
+package org.richfaces.demo.ddmenu;
+
+public class Menu {
+	private String current;
+	
+	public String getCurrent() {
+		return this.current;
+	}
+	
+	public void setCurrent(String current) {
+		this.current = current;
+	}
+	
+	public String doNew() {
+		this.current="New";
+		return null;
+	}
+	public String doOpen() {
+		this.current="Open";
+		return null;
+	}
+	public String doClose() {
+		this.current="Close";
+		return null;
+	}
+	public String doSaveText() {
+		this.current="Save as Text File";
+		return null;
+	}
+	public String doSavePDF() {
+		this.current="Save as PDF File";
+		return null;
+	}
+	public String doExit() {
+		this.current="Exit";
+		return null;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/DndBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/DndBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/DndBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,81 @@
+package org.richfaces.demo.dnd;
+
+import java.util.ArrayList;
+
+public class DndBean {
+	private ArrayList containerPHP;
+	private ArrayList containerCF;
+	private ArrayList containerDNET;
+	private ArrayList frameworks;
+	
+	public ArrayList getContainerCF() {
+		return containerCF;
+	}
+	public void setContainerCF(ArrayList containerCF) {
+		this.containerCF = containerCF;
+	}
+	public ArrayList getContainerDNET() {
+		return containerDNET;
+	}
+	public void setContainerDNET(ArrayList containerDNET) {
+		this.containerDNET = containerDNET;
+	}
+	public ArrayList getContainerPHP() {
+		return containerPHP;
+	}
+	public void setContainerPHP(ArrayList containerPHP) {
+		this.containerPHP = containerPHP;
+	}
+	public ArrayList getFrameworks() {
+		if (frameworks == null)
+			initList();
+		return frameworks;
+	}
+	public void setFrameworks(ArrayList frameworks) {
+		this.frameworks = frameworks;
+	}
+	
+	public void moveFramework(Object fm, Object family) {
+		ArrayList target = null; 
+		if ("PHP".equals(family)) target =  containerPHP;
+		else if ("DNET".equals(family)) target =  containerDNET;
+		else  if ("CF".equals(family)) target =  containerCF;
+		
+		if (target != null) {
+			int ind = frameworks.indexOf(fm);
+			if (ind > -1) {
+					target.add(frameworks.get(ind));
+					frameworks.remove(ind);
+			}
+			
+		}
+	}
+	
+	public String reset() {
+		
+		initList();
+		return null;
+		
+	}
+	
+	private void initList() {
+		frameworks = new ArrayList();
+		frameworks.add(new Framework("Flexible Ajax", "PHP"));
+		frameworks.add(new Framework("ajaxCFC", "CF"));
+		frameworks.add(new Framework("AJAXEngine", "DNET"));
+		frameworks.add(new Framework("AjaxAC", "PHP"));
+		frameworks.add(new Framework("MonoRail", "DNET"));
+		frameworks.add(new Framework("wddxAjax", "CF"));
+		frameworks.add(new Framework("AJAX AGENT", "PHP"));
+		frameworks.add(new Framework("FastPage", "DNET"));
+		frameworks.add(new Framework("JSMX", "CF"));
+		frameworks.add(new Framework("PAJAJ", "PHP"));
+		frameworks.add(new Framework("Symfony", "PHP"));
+		frameworks.add(new Framework("PowerWEB", "DNET"));
+		
+		containerPHP = new ArrayList();
+		containerCF = new ArrayList();
+		containerDNET = new ArrayList();
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/EventBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/EventBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/EventBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,24 @@
+package org.richfaces.demo.dnd;
+
+
+	import org.richfaces.component.Dropzone;
+import org.richfaces.event.DropEvent;
+import org.richfaces.event.DropListener;
+	
+	
+	public class EventBean implements DropListener {
+		private org.richfaces.demo.dnd.DndBean dndBean;
+
+		public void processDrop(DropEvent dropEvent) {
+			Dropzone dropzone = (Dropzone) dropEvent.getComponent();
+			dndBean.moveFramework(dropEvent.getDragValue(), dropzone.getDropValue());
+		}
+
+		public org.richfaces.demo.dnd.DndBean getDndBean() {
+		return dndBean;
+	}
+
+		public void setDndBean(org.richfaces.demo.dnd.DndBean dndBean) {
+		this.dndBean = dndBean;
+	}
+	}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/Framework.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/Framework.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/dnd/Framework.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+package org.richfaces.demo.dnd;
+
+public class Framework {
+	private String name;
+	private String family;
+	public String getFamily() {
+		return family;
+	}
+	public void setFamily(String family) {
+		this.family = family;
+	}
+	public String getName() {
+		return name;
+	}
+	public void setName(String name) {
+		this.name = name;
+	}
+	public Framework(String name, String family) {
+		super();
+		this.name = name;
+		this.family = family;
+	}
+	
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,191 @@
+package org.richfaces.demo.extendeddatamodel;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.model.DataVisitor;
+import org.ajax4jsf.model.Range;
+import org.ajax4jsf.model.SequenceRange;
+import org.ajax4jsf.model.SerializableDataModel;
+/**
+ * 
+ * @author ias
+ * This is example class that intended to demonstrate use of ExtendedDataModel and SerializableDataModel.
+ * This implementation intended to be used as a request scope bean. However, it actually provides serialized
+ * state, so on a post-back we do not load data from the data provider. Instead we use data that was used 
+ * during rendering.
+ * This data model must be used together with Data Provider, which is responsible for actual data load 
+ * from the database using specific filtering and sorting. Normally Data Provider must be in either session, or conversation
+ * scope.
+ */
+public class AuctionDataModel extends SerializableDataModel {
+	
+	private AuctionDataProvider dataProvider;
+	private Integer currentPk;
+	private Map<Integer,AuctionItem> wrappedData = new HashMap<Integer,AuctionItem>();
+	private List<Integer> wrappedKeys = null;
+	private boolean detached = false;
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -1956179896877538628L;
+
+	/**
+	 * This method never called from framework.
+	 * (non-Javadoc)
+	 * @see org.ajax4jsf.model.ExtendedDataModel#getRowKey()
+	 */
+	@Override
+	public Object getRowKey() {
+		return currentPk;
+	}
+	/**
+	 * This method normally called by Visitor before request Data Row.
+	 */
+	@Override
+	public void setRowKey(Object key) {
+		this.currentPk = (Integer) key;
+		
+	}
+	/**
+	 * This is main part of Visitor pattern. Method called by framework many times during request processing. 
+	 */
+	@Override
+	public void walk(FacesContext context, DataVisitor visitor, Range range, Object argument) throws IOException {
+		int firstRow = ((SequenceRange)range).getFirstRow();
+		int numberOfRows = ((SequenceRange)range).getRows();
+		if (detached) { // Is this serialized model
+// Here we just ignore current Rage and use whatever data was saved in serialized model. 
+// Such approach uses much more getByPk() operations, instead of just one request by range.
+// Concrete case may be different from that, so you can just load data from data provider by range.
+// We are using wrappedKeys list only to preserve actual order of items.
+			for (Integer key:wrappedKeys) {
+				setRowKey(key);
+				visitor.process(context, key, argument);
+			}
+		} else { // if not serialized, than we request data from data provider
+			wrappedKeys = new ArrayList<Integer>();
+			for (AuctionItem item:dataProvider.getItemsByrange(new Integer(firstRow), numberOfRows, null, true)) {
+				wrappedKeys.add(item.getPk());
+				wrappedData.put(item.getPk(), item);
+				visitor.process(context, item.getPk(), argument);
+			}
+		}
+	}
+	/**
+	 * This method must return actual data rows count from the Data Provider. It is used by pagination control
+	 * to determine total number of data items.
+	 */
+	private Integer rowCount; // better to buffer row count locally
+	@Override
+	public int getRowCount() {
+		if (rowCount==null) {
+			rowCount = new Integer(getDataProvider().getRowCount());
+			return rowCount.intValue();
+		} else {
+			return rowCount.intValue();
+		}
+	}
+	/**
+	 * This is main way to obtain data row. It is intensively used by framework. 
+	 * We strongly recommend use of local cache in that method. 
+	 */
+	@Override
+	public Object getRowData() {
+		if (currentPk==null) {
+			return null;
+		} else {
+			AuctionItem ret = wrappedData.get(currentPk);
+			if (ret==null) {
+				ret = getDataProvider().getAuctionItemByPk(currentPk);
+				wrappedData.put(currentPk, ret);
+				return ret;
+			} else {
+				return ret;
+			}
+		}
+	}
+
+	/**
+	 * Unused rudiment from old JSF staff.
+	 */
+	@Override
+	public int getRowIndex() {
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * Unused rudiment from old JSF staff.
+	 */
+	@Override
+	public Object getWrappedData() {
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * Never called by framework.
+	 */
+	@Override
+	public boolean isRowAvailable() {
+		if (currentPk==null) {
+			return false;
+		} else {
+			return getDataProvider().hasAuctionItemByPk(currentPk);
+		}
+	}
+
+	/**
+	 * Unused rudiment from old JSF staff.
+	 */
+	@Override
+	public void setRowIndex(int rowIndex) {
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * Unused rudiment from old JSF staff.
+	 */
+	@Override
+	public void setWrappedData(Object data) {
+		throw new UnsupportedOperationException();
+	}
+
+	/**
+	 * This method suppose to produce SerializableDataModel that will be serialized into View State and used on a post-back.
+	 * In current implementation we just mark current model as serialized. In more complicated cases we may need to 
+	 * transform data to actually serialized form.
+	 */
+	public  SerializableDataModel getSerializableModel(Range range) {
+		if (wrappedKeys!=null) {
+			detached = true;
+// Some activity to detach persistent data from wrappedData map may be taken here.
+// In that specific case we are doing nothing.
+			return this; 
+		} else {
+			return null;
+		}
+	}
+	/**
+	 * This is helper method that is called by framework after model update. In must delegate actual database update to 
+	 * Data Provider.
+	 */
+	@Override
+	public void update() {
+		getDataProvider().update();
+	}
+
+	public AuctionDataProvider getDataProvider() {
+		return dataProvider;
+	}
+
+	public void setDataProvider(AuctionDataProvider dataProvider) {
+		this.dataProvider = dataProvider;
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataProvider.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataProvider.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionDataProvider.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,100 @@
+package org.richfaces.demo.extendeddatamodel;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.richfaces.demo.common.RandomDataHelper;
+
+public class AuctionDataProvider {
+	
+	private String allDescriptions[] = {
+			"Digital temperature sensor IC LM75A SOIC8 +Free adapter",
+			"MC34063 Adjustable Power Supply DC-DC Converters 5x",
+			"100x Ultra Bright White LEDs, 5mm, Clear",
+			"100x Ultra Bright Blue LEDs, 5mm, Clear",
+			"100x Ultra Bright Yellow LEDs, 5mm, Clear",
+			"100x Ultra Bright Red LEDs, 5mm, Clear",
+			"High quality Universal Programmer Development Board",
+			"Lot of 10pcs 8x8 dot-matrix 3mm dia LED display bicolor",
+			"100x Ultra Bright Blue LEDs, 5mm, Clear",
+			"40pcs 74HC164 165 573 595 Shift register & latch IC kit",
+			"Electric Nail Manicure Drill File 4 Acrylic Polish Nail",
+			"LE-DS007 100x Ultra Bright VIOLET ( UV ) LED LEDs, 5mm",
+			"LE-DS007 100x Ultra Bright VIOLET ( UV ) LED LEDs, 5mm",
+			"Fantastic High brightness Cluster with 8pcs LED (Green)",
+			"100x Ultra Bright Yellow LEDs, 5mm, Clear",
+			"High brightness 1 pcs 3W 80 lm Lumen LED White",
+			"2X ATMEL ATMEGA128-16AU Microcontroller and 2x 64-TQFP",
+			"20pcs IRF530 & IRF9630 power mosfet kit",
+			"Electrolytic Capacitors Radial SMD SMT assorted kit",
+			"100 pcs Ultra Bright Mixed LEDs, 5mm, Clear",
+			"Lot of 80 pcs 8 values (1uH~1mH) color wheel inductors",
+			"Lot of 100pcs 4 values (4.7uH~220uH) DIP fixed inductor",
+			"10pcs 8x8 dot-matrix 3mm dia LED display bicolor",
+			"(SMD 0805) 50 Value Resistors + 32 Value Capacitors Kit",
+			"Fantastic High brightness Cluster with 24pcs LED (Red)",
+			"100x Ultra Bright Green LEDs, 5mm, Clear",
+			"100x Ultra Bright Blue LEDs, 5mm, Clear",
+			"Double-row Straight 20x male and 10x female pin header",
+			"NEW 30pcs HEAT SINKS ,50pcs insulation bushing and film",
+			"0.2% Class A Platinum Resistance Thermometers PT100"
+	};
+	private List<AuctionItem> allItems = null;
+	private static final int VOLUME = 200;
+	
+	private synchronized void initData() {
+		List<AuctionItem> data = new ArrayList<AuctionItem>();
+		for (int counter=0; counter<VOLUME; counter++) {
+			AuctionItem item = new AuctionItem(new Integer(counter));
+			item.setDescription((String)RandomDataHelper.random(allDescriptions));
+			item.setHighestBid(new Double(RandomDataHelper.random(10, 100)));
+			item.setQtyAvialable(new Integer(RandomDataHelper.random(1, 20)));
+			data.add(item);
+			
+		}
+		allItems = data;
+	}
+
+	public List<AuctionItem> getAllItems() {
+		if (allItems!=null && allItems.size()>0) {
+			return allItems;
+		} else {
+			initData();
+			return allItems;
+		}
+	}
+	
+	public AuctionItem getAuctionItemByPk(Integer pk) {
+		for (AuctionItem item:getAllItems()) {
+			if (item.getPk().equals(pk)) {
+				return item;
+			}
+		}
+		throw new RuntimeException("Auction Item pk="+pk.toString()+" not found");
+	}
+	public boolean hasAuctionItemByPk(Integer pk) {
+		for (AuctionItem item:getAllItems()) {
+			if (item.getPk().equals(pk)) {
+				return true;
+			}
+		}
+		return false;
+		
+	}
+	
+	public List<AuctionItem> getItemsByrange(Integer startPk, int numberOfRows, String sortField, boolean ascending) {
+		List<AuctionItem> ret = new ArrayList<AuctionItem>();
+		for (int counter=0; counter<numberOfRows; counter++) {
+			ret.add(getAllItems().get(startPk.intValue()+counter));
+		}
+		return ret;
+	}
+	
+	public void update() {
+		// nothing need to do
+	}
+	
+	public int getRowCount() {
+		return getAllItems().size();
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionItem.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionItem.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/extendeddatamodel/AuctionItem.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,99 @@
+package org.richfaces.demo.extendeddatamodel;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+
+public class AuctionItem {
+	private Integer pk;
+	private String description;
+	private Double bid;
+	private Double highestBid;
+	private Integer qtyRequested;
+	private Integer qtyAvialable;
+	private UIComponent bidInput;
+	private UIComponent qtyInput;
+	private boolean won = false;
+	private boolean loose = false;
+	private Double amount;
+	
+	@SuppressWarnings("unused")
+	private AuctionItem() {};
+	
+	public AuctionItem(Integer pk) {
+		this.pk = pk;
+	}
+	
+	public Integer getPk() {
+		return pk;
+	}
+	public String getDescription() {
+		return description;
+	}
+	public void setDescription(String description) {
+		this.description = description;
+	}
+	public Double getBid() {
+		return bid;
+	}
+	public void setBid(Double bid) {
+		this.bid = bid;
+	}
+	public Double getHighestBid() {
+		return highestBid;
+	}
+	public void setHighestBid(Double highestBid) {
+		this.highestBid = highestBid;
+	}
+	public Integer getQtyRequested() {
+		return qtyRequested;
+	}
+	public void setQtyRequested(Integer qty) {
+		this.qtyRequested = qty;
+	}
+	public Double getAmount() {
+		return this.amount;
+	}
+	public Integer getQtyAvialable() {
+		return qtyAvialable;
+	}
+	public void setQtyAvialable(Integer qtyAvialable) {
+		this.qtyAvialable = qtyAvialable;
+	}
+	public void placeBid(ActionEvent event) {
+		FacesContext ctx = FacesContext.getCurrentInstance();
+		if (bid!=null) {
+			System.out.println("place bid for pk="+getPk()+" bid="+getBid()+" qty="+getQtyRequested());
+			if (bid<=highestBid) {
+				ctx.addMessage(event.getComponent().getClientId(ctx), new FacesMessage(FacesMessage.SEVERITY_WARN,"Bid amount is lower that highest bid","You need to bid amount higher that highest bid"));
+				won = false;
+				loose = true;
+			} else {
+				highestBid = bid;
+				won = true;
+				loose = false;
+				amount = bid;
+			}
+		} else {
+			ctx.addMessage(event.getComponent().getClientId(ctx), new FacesMessage(FacesMessage.SEVERITY_ERROR,"Bid value is missing","You must provide bid value"));
+		}
+	}
+
+	public UIComponent getBidInput() {
+		return bidInput;
+	}
+
+	public void setBidInput(UIComponent bidInput) {
+		this.bidInput = bidInput;
+	}
+
+	public UIComponent getQtyInput() {
+		return qtyInput;
+	}
+
+	public void setQtyInput(UIComponent qtyInput) {
+		this.qtyInput = qtyInput;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Bean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Bean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Bean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,112 @@
+package org.richfaces.demo.gmap;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+
+public class Bean {
+
+	private ArrayList point;
+	private String currentId;
+	private int zoom;
+	private String gmapkey;
+	
+	
+	public String getCurrentId() {
+		return currentId;
+	}
+
+
+
+	public void setCurrentId(String currentId) {
+		this.currentId = currentId;
+	}
+
+
+
+	public ArrayList getPoint() {
+		if (point == null)
+			initData();
+		return point;
+	}
+
+
+
+	public void setPoint(ArrayList point) {
+		this.point = point;
+	}
+
+
+	public Place getCurrentPlace() {
+		Iterator it = point.iterator();
+		while (it.hasNext()) {
+			 Place pl = (Place)it.next();
+			 if (currentId.equals(pl.getId())) {
+				 zoom = pl.getZoom(); //sync with zoom of new place
+				 return pl;
+			 }
+		}
+		return (Place)point.get(0);	
+	}
+
+	private void initData() {
+		point = new ArrayList();
+		point.add(new Place ("goldengate", "/org/richfaces/demo/gmap/images/gold.gif", "37.81765", "-122.477603" , 14,
+				"Golden Gate  Bridge, San Francisco"));
+		point.add(new Place ("eiffeltower", "/org/richfaces/demo/gmap/images//tower.gif", "48.858489", "2.295295" , 17,
+				"Eiffel Tower, Paris"));
+		point.add(new Place ("pyramids", "/org/richfaces/demo/gmap/images/pyramids.gif", "29.977785", "31.132915" , 15,
+				"Pyramids of Egypt, Giza"));
+		point.add(new Place ("exadel", "/org/richfaces/demo/gmap/images/exadel.gif", "37.971796", "-122.042334" , 18,
+				"Headquarter of Exadel, Inc , Concord"));
+		currentId = "eiffeltower";
+	}
+
+
+
+	public int getZoom() {
+		return zoom;
+	}
+
+
+
+	public void setZoom(int zoom) {
+		this.zoom = zoom;
+	}
+
+
+
+	public String getGmapkey() {
+		if (gmapkey == null) {
+			gmapkey = createKey();
+		}
+		return gmapkey;
+	}
+
+	private String createKey() {
+		
+		HashMap hosts = new HashMap();
+		hosts.put("localhost", "ABQIAAAAxU6W9QEhFLMNdc3ATIu-VxT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRkrpOGzxH8_ud3inE9pG1845-FCA");
+		hosts.put("localhost:8080", "ABQIAAAAxU6W9QEhFLMNdc3ATIu-VxTwM0brOpm-All5BF6PoaKBxRWWERTHxF5cK19oAMu3MP89kWdchuCH6w");
+		hosts.put("livedemo.exadel.com", "ABQIAAAAxU6W9QEhFLMNdc3ATIu-VxRl-RYVoXwacweAQq3rWvtlmS78MhRst9EH2cahrIp0_HHi_U1Zn7o1Fg");
+		
+		ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
+		String host = (String)ec.getRequestHeaderMap().get("host");
+		String key = (String)hosts.get(host);
+		if (key != null) 
+			return key;
+		else
+			return "get the key for your domain at http://www.google.com/apis/maps/signup.html";
+		
+	}
+
+
+	public void setGmapkey(String gmapkey) {
+		this.gmapkey = gmapkey;
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Place.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Place.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/gmap/Place.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,58 @@
+package org.richfaces.demo.gmap;
+
+public class Place {
+	private String pic;
+	private String id;
+	private String lat;
+	private String lng;
+	private int zoom;
+	private String desc;
+	
+
+	public String getDesc() {
+		return desc;
+	}
+	public void setDesc(String desc) {
+		this.desc = desc;
+	}
+	public Place(String id, String pic, String lat, String lng, int zoom, String desc) {
+		super();
+		this.id = id;
+		this.pic = pic;
+		this.lat = lat;
+		this.lng = lng;
+		this.zoom = zoom;
+		this.desc = desc;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setId(String id) {
+		this.id = id;
+	}
+	public String getLat() {
+		return lat;
+	}
+	public void setLat(String lat) {
+		this.lat = lat;
+	}
+	public String getLng() {
+		return lng;
+	}
+	public void setLng(String lng) {
+		this.lng = lng;
+	}
+	public int getZoom() {
+		return zoom;
+	}
+	public void setZoom(int zoom) {
+		this.zoom = zoom;
+	}
+	public String getPic() {
+		return pic;
+	}
+	public void setPic(String pic) {
+		this.pic = pic;
+	}
+}
+

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/inputnumberslider/ValueBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/inputnumberslider/ValueBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/inputnumberslider/ValueBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,14 @@
+package org.richfaces.demo.inputnumberslider;
+
+public class ValueBean {
+	private Integer value;
+
+	public Integer getValue() {
+		return value;
+	}
+
+	public void setValue(Integer value) {
+		this.value = value;
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,28 @@
+package org.richfaces.demo.media;
+
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.io.OutputStream;
+import javax.imageio.ImageIO;
+
+public class MediaBean {
+
+	public void paint(OutputStream out, Object data) throws IOException{
+		if (data instanceof MediaData) {
+			
+		MediaData paintData = (MediaData) data;
+		BufferedImage img = new BufferedImage(paintData.getWidth(),paintData.getHeight(),BufferedImage.TYPE_INT_RGB);
+		Graphics2D graphics2D = img.createGraphics();
+		graphics2D.setBackground(paintData.getBackground());
+		graphics2D.setColor(paintData.getDrawColor());
+		graphics2D.clearRect(0,0,paintData.getWidth(),paintData.getHeight());
+		graphics2D.drawLine(5,5,paintData.getWidth()-5,paintData.getHeight()-5);
+		graphics2D.drawChars(new String("RichFaces").toCharArray(),0,9,40,15);
+		graphics2D.drawChars(new String("mediaOutput").toCharArray(),0,11,5,45);
+		
+		ImageIO.write(img,"jpeg",out);
+		
+		}
+	}
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaData.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaData.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/media/MediaData.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,39 @@
+package org.richfaces.demo.media;
+
+import java.awt.Color;
+import java.io.Serializable;
+
+public class MediaData implements Serializable{
+
+	private static final long serialVersionUID = 1L;
+	Integer Width=110;
+	Integer Height=50;
+	Color Background=new Color(0,0,0);
+	Color DrawColor=new Color(255,255,255);
+	public MediaData() {
+	}
+	public Color getBackground() {
+		return Background;
+	}
+	public void setBackground(Color background) {
+		Background = background;
+	}
+	public Color getDrawColor() {
+		return DrawColor;
+	}
+	public void setDrawColor(Color drawColor) {
+		DrawColor = drawColor;
+	}
+	public Integer getHeight() {
+		return Height;
+	}
+	public void setHeight(Integer height) {
+		Height = height;
+	}
+	public Integer getWidth() {
+		return Width;
+	}
+	public void setWidth(Integer width) {
+		Width = width;
+	}
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,38 @@
+package org.richfaces.demo.paint2d;
+
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+
+public class PaintBean {
+
+	   private int fontSize;
+
+	   public void paint(Graphics2D g2d, Object obj) {
+	   
+		   PaintData data = (PaintData) obj;
+		   
+		   int testLenght = data.text.length();
+		   fontSize = testLenght < 8? 40 : 40 - (testLenght - 8);
+		    if (fontSize < 12)fontSize = 12;
+		    Font font = new Font("Serif", Font.HANGING_BASELINE, fontSize);
+		    g2d.setFont(font);
+		   
+		    int x = 10;
+		    int y = fontSize*5/2;
+		    g2d.translate(x, y);
+		    Color color = new Color((int) data.color );
+		    
+		    g2d.setPaint(new Color(color.getRed(),color.getGreen(), color.getBlue(), 30));
+		    AffineTransform origTransform = g2d.getTransform();
+		    g2d.shear(-0.5*data.scale, 0);
+		    g2d.scale(1, data.scale);
+		    g2d.drawString(data.text, 0, 0);
+		    
+		    g2d.setTransform(origTransform);
+		    g2d.setPaint(color);
+		    g2d.drawString(data.text, 0, 0);
+	   }
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintData.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintData.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/paint2d/PaintData.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,28 @@
+package org.richfaces.demo.paint2d;
+
+import java.io.Serializable;
+
+public class PaintData implements Serializable{
+	String text;
+	long color;
+	float scale;
+	public long getColor() {
+		return color;
+	}
+	public void setColor(long color) {
+		this.color = color;
+	}
+	public float getScale() {
+		return scale;
+	}
+	public void setScale(float scale) {
+		this.scale = scale;
+	}
+
+	public String getText() {
+		return text;
+	}
+	public void setText(String text) {
+		this.text = text;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/pmenu/PanelMenu.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/pmenu/PanelMenu.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/pmenu/PanelMenu.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,38 @@
+package org.richfaces.demo.pmenu;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+
+import org.richfaces.component.UIPanelMenuItem;
+
+public class PanelMenu {
+	private String current;
+	private boolean singleMode;
+	public boolean isSingleMode() {
+		return singleMode;
+	}
+
+	public void setSingleMode(boolean singleMode) {
+		this.singleMode = singleMode;
+	}
+
+	public PanelMenu() {
+	}
+	
+	public String getCurrent() {
+		return this.current;
+	}
+	
+	public void setCurrent(String current) {
+		this.current = current;
+	}
+	public String updateCurrent() {
+		FacesContext context=FacesContext.getCurrentInstance();
+		setCurrent((String)context.getExternalContext().getRequestParameterMap().get("current"));
+		System.out.println("fake called.");
+		return null;
+	}
+	public void updateCurrent(ActionEvent event) {
+		setCurrent(((UIPanelMenuItem)event.getComponent()).getLabel().toString());
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/Data.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/Data.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/Data.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,31 @@
+package org.richfaces.demo.sb;
+
+import java.io.Serializable;
+
+public class Data implements Serializable {
+    private String text;
+
+    private String label;
+
+    public Data(String text, String label) {
+        this.text = text;
+        this.label = label;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getText() {
+        return text;
+    }
+
+    public void setText(String text) {
+        this.text = text;
+    }
+}
+

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/SuggestionBox.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/SuggestionBox.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/sb/SuggestionBox.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,171 @@
+package org.richfaces.demo.sb;
+
+import org.richfaces.renderkit.html.SuggestionBoxRenderer;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.io.Serializable;
+
+public class SuggestionBox implements Serializable {
+    /**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+    private ArrayList tokens;
+
+    private String rows;
+    private String first;
+    private String cellspacing;
+    private String cellpadding;
+    private String minchars;
+    private String frequency;
+    private String rules;
+    private boolean check;
+    private String shadowDepth = Integer.toString(SuggestionBoxRenderer.SHADOW_DEPTH);
+    private String border = "1";
+    private String width = "250";
+    private String height = "150";
+    private String shadowOpacity = "4";
+
+    public SuggestionBox() {
+        this.rows = "0";
+        this.first = "0";
+        this.cellspacing = "2";
+        this.cellpadding = "2";
+        this.minchars = "1";
+        this.frequency = "0";
+        this.rules = "none";
+
+    }
+
+    public String getCellpadding() {
+        return cellpadding;
+    }
+
+    public void setCellpadding(String cellpadding) {
+        this.cellpadding = cellpadding;
+    }
+
+    public String getCellspacing() {
+        return cellspacing;
+    }
+
+    public void setCellspacing(String cellspacing) {
+        this.cellspacing = cellspacing;
+    }
+
+    public boolean isCheck() {
+        return check;
+    }
+
+    public void setCheck(boolean check) {
+        this.check = check;
+    }
+
+    public String getFirst() {
+        return first;
+    }
+
+    public int getIntFirst() {
+        return Integer.parseInt(getFirst());
+    }
+
+    public void setFirst(String first) {
+        this.first = first;
+    }
+
+    public String getFrequency() {
+        return frequency;
+    }
+
+    public double getDoubleFrequency() {
+        return Double.parseDouble(getFrequency());
+    }
+
+    public void setFrequency(String frequency) {
+        this.frequency = frequency;
+    }
+
+    public String getMinchars() {
+        return minchars;
+    }
+
+    public void setMinchars(String minchars) {
+        this.minchars = minchars;
+    }
+
+    public String getRows() {
+        return rows;
+    }
+
+    public int getIntRows() {
+        return Integer.parseInt(getRows());
+    }
+
+    public void setRows(String rows) {
+        this.rows = rows;
+    }
+
+    public String getRules() {
+        return rules;
+    }
+
+    public void setRules(String rules) {
+        this.rules = rules;
+    }
+
+    public ArrayList getTokens() {
+        return tokens;
+    }
+
+    public void setTokens(ArrayList tokens) {
+        this.tokens = tokens;
+    }
+
+    public void OnSelect() {
+        System.out.print("Onselect works!!!");
+
+    }
+
+    public String getShadowDepth() {
+        return shadowDepth;
+    }
+
+    public void setShadowDepth(String shadowDepth) {
+        this.shadowDepth = shadowDepth;
+    }
+
+    public String getBorder() {
+        return border;
+    }
+
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    public String getWidth() {
+        return width;
+    }
+
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    public String getHeight() {
+        return height;
+    }
+
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    public String getShadowOpacity() {
+        return shadowOpacity;
+    }
+
+    public void setShadowOpacity(String shadowOpacity) {
+        this.shadowOpacity = shadowOpacity;
+    }
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/togglePanel/ToggleBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/togglePanel/ToggleBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/togglePanel/ToggleBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,35 @@
+/**
+ * 
+ */
+package org.richfaces.demo.togglePanel;
+
+
+
+/**
+ * @author ishabalov
+ *
+ */
+public class ToggleBean {
+	private Object skinChooserState1;
+	private Object skinChooserState2;
+	private Object skinChooserState3;
+	public Object getSkinChooserState1() {
+		return skinChooserState1;
+	}
+	public void setSkinChooserState1(Object skinChooserState1) {
+		this.skinChooserState1 = skinChooserState1;
+	}
+	public Object getSkinChooserState2() {
+		return skinChooserState2;
+	}
+	public void setSkinChooserState2(Object skinChooserState2) {
+		this.skinChooserState2 = skinChooserState2;
+	}
+	public Object getSkinChooserState3() {
+		return skinChooserState3;
+	}
+	public void setSkinChooserState3(Object skinChooserState3) {
+		this.skinChooserState3 = skinChooserState3;
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/toolBar/TbBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/toolBar/TbBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/toolBar/TbBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+package org.richfaces.demo.toolBar;
+
+public class TbBean {
+	private String groupSeparator;
+	private String groupItemSeparator;
+	public String getGroupItemSeparator() {
+		return groupItemSeparator;
+	}
+	public void setGroupItemSeparator(String groupItemSeparator) {
+		this.groupItemSeparator = groupItemSeparator;
+	}
+	public String getGroupSeparator() {
+		return groupSeparator;
+	}
+	public void setGroupSeparator(String groupSeparator) {
+		this.groupSeparator = groupSeparator;
+	}
+	
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/ToolTipData.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/ToolTipData.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/ToolTipData.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,42 @@
+package org.richfaces.demo.tooltip;
+
+import java.util.Date;
+import java.util.List;
+
+public class ToolTipData {
+	private int tooltipCounter = 0;
+	private List vehicles = null;
+	private int currentVehicleIndex = -1;
+	public int getTooltipCounter() {
+		try {
+			Thread.sleep(500);
+		} catch (InterruptedException e) {
+		}
+		return tooltipCounter++;
+	}
+	public Date getTooltipDate() {
+		return new Date();
+	}
+	public List getVehicles() {
+		if (vehicles==null) {
+			vehicles = Vehicle.allVehicles(15);
+			return vehicles;
+		} else {
+			return vehicles;
+		}
+	}
+	public Vehicle getCurrentVehicle() {
+		if (currentVehicleIndex>0 && currentVehicleIndex<getVehicles().size()) {
+			return (Vehicle) getVehicles().get(currentVehicleIndex);
+		} else {
+			return null;
+		}
+	}
+	public int getCurrentVehicleIndex() {
+		return currentVehicleIndex;
+	}
+	public void setCurrentVehicleIndex(int currentVehicleIndex) {
+		this.currentVehicleIndex = currentVehicleIndex;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/Vehicle.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/Vehicle.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tooltip/Vehicle.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,112 @@
+package org.richfaces.demo.tooltip;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.richfaces.demo.common.RandomDataHelper;
+
+
+
+public class Vehicle {
+	public String make;
+	public String model;
+	public Integer year;
+	public Integer milage;
+	public String vin;
+	public Integer zip;
+	public Date listed;
+	public Vehicle(String make, String model) {
+		this.make = make;
+		this.model = model;
+		this.listed = new Date();
+	}
+	
+	public static Vehicle list[] = {
+		new Vehicle("Ford", "Taurus"),
+		new Vehicle("Ford", "Mustang"),
+		new Vehicle("Ford", "Focus"),
+		new Vehicle("Ford", "Thinderbird"),
+		new Vehicle("BMW", "Z3"),
+		new Vehicle("BMW", "323i"),
+		new Vehicle("BMW", "521"),
+		new Vehicle("BMW", "Mustang"),
+		new Vehicle("Audi", "A4"),
+		new Vehicle("Audi", "A6"),
+		new Vehicle("Toyota", "Camry"),
+		new Vehicle("Toyota", "Corolla"),
+		new Vehicle("Toyota", "Matrix"),
+		new Vehicle("Honda", "Accord"),
+		new Vehicle("Honda", "Civic")
+	};
+
+	public static List allVehicles(int size) {
+		List ret = new ArrayList();
+		for (int counter=0;counter<size;counter++) {
+			Vehicle car = (Vehicle)RandomDataHelper.random(list);
+			car.milage = new Integer(RandomDataHelper.random(10000, 100000));
+			car.vin = RandomDataHelper.randomString(32);
+			car.year = new Integer(RandomDataHelper.random(2000, 2005));
+			car.zip = new Integer(RandomDataHelper.random(94500,94600));
+			ret.add(car);
+		}
+		return ret;
+	}
+
+	public Date getListed() {
+		return listed;
+	}
+
+	public void setListed(Date listed) {
+		this.listed = listed;
+	}
+
+	public String getMake() {
+		return make;
+	}
+
+	public void setMake(String make) {
+		this.make = make;
+	}
+
+	public Integer getMilage() {
+		return milage;
+	}
+
+	public void setMilage(Integer milage) {
+		this.milage = milage;
+	}
+
+	public String getModel() {
+		return model;
+	}
+
+	public void setModel(String model) {
+		this.model = model;
+	}
+
+	public String getVin() {
+		return vin;
+	}
+
+	public void setVin(String vin) {
+		this.vin = vin;
+	}
+
+	public Integer getYear() {
+		return year;
+	}
+
+	public void setYear(Integer year) {
+		this.year = year;
+	}
+
+	public Integer getZip() {
+		return zip;
+	}
+
+	public void setZip(Integer zip) {
+		this.zip = zip;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Album.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Album.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Album.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,96 @@
+package org.richfaces.demo.tree;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.richfaces.model.TreeNode;
+
+public class Album implements TreeNode {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6514596192023597908L;
+	private long id;
+	private Map songs = new HashMap();
+	private String title;
+	private Integer year;
+	private Artist artist;
+
+	public Album(long id) {
+		this.id = id;
+	}
+	
+	public void addSong(Song song) {
+		addChild(Long.toString(song.getId()), song);
+		song.setParent(this);
+	}
+	public void addChild(Object identifier, TreeNode child) {
+		songs.put(identifier, child);
+	}
+
+	public TreeNode getChild(Object id) {
+		return (TreeNode) songs.get(id);
+	}
+
+	public Iterator getChildren() {
+		return songs.entrySet().iterator();
+	}
+
+	public Object getData() {
+		return this;
+	}
+
+	public TreeNode getParent() {
+		return artist;
+	}
+
+	public boolean isLeaf() {
+		return songs.isEmpty();
+	}
+
+	public void removeChild(Object id) {
+		songs.remove(id);
+	}
+
+	public void setData(Object data) {
+	}
+
+	public void setParent(TreeNode parent) {
+		this.artist = (Artist) parent;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public Integer getYear() {
+		return year;
+	}
+
+	public void setYear(Integer year) {
+		this.year = year;
+	}
+
+	public long getId() {
+		return id;
+	}
+
+	public Artist getArtist() {
+		return artist;
+	}
+
+	public void setArtist(Artist artist) {
+		this.artist = artist;
+	}
+	
+	public String getType() {
+		return "album";
+	}
+	
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Artist.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Artist.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Artist.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,87 @@
+package org.richfaces.demo.tree;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import org.richfaces.model.TreeNode;
+
+public class Artist implements TreeNode {
+	private long id;
+	private Map albums = new HashMap();
+	private String name;
+	private Library library;
+	
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 6831863694596474846L;
+
+	public Artist(long id) {
+		this.id = id;
+	}
+
+	public void addAlbum(Album album) {
+		addChild(Long.toString(album.getId()), album);
+		album.setParent(this);
+	}
+	
+	public void addChild(Object identifier, TreeNode child) {
+		albums.put(identifier, child);
+	}
+
+	public TreeNode getChild(Object id) {
+		return (TreeNode) albums.get(id);
+	}
+
+	public Iterator getChildren() {
+		return albums.entrySet().iterator();
+	}
+
+	public Object getData() {
+		return this;
+	}
+
+	public TreeNode getParent() {
+		return library;
+	}
+
+	public boolean isLeaf() {
+		return albums.isEmpty();
+	}
+
+	public void removeChild(Object id) {
+		albums.remove(id);
+	}
+
+	public void setData(Object data) {
+	}
+
+	public void setParent(TreeNode parent) {
+		library = (Library) parent;
+	}
+
+	public long getId() {
+		return id;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Library getLibrary() {
+		return library;
+	}
+
+	public void setLibrary(Library library) {
+		this.library = library;
+	}
+	public String getType() {
+		return "artist";
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Library.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Library.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Library.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,147 @@
+package org.richfaces.demo.tree;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+import org.richfaces.model.TreeNode;
+
+public class Library implements TreeNode {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -3530085227471752526L;
+	private Map artists = null;
+	private Object state1;
+	private Object state2;
+
+	private Map getArtists() {
+		if (this.artists==null) {
+			initData();
+		}
+		return this.artists;
+	}
+	public void addArtist(Artist artist) {
+		addChild(Long.toString(artist.getId()), artist);
+	}
+	
+	public void addChild(Object identifier, TreeNode child) {
+		getArtists().put(identifier, child);
+		child.setParent(this);
+	}
+
+	public TreeNode getChild(Object id) {
+		return (TreeNode) getArtists().get(id);
+	}
+
+	public Iterator getChildren() {
+		return getArtists().entrySet().iterator();
+	}
+
+	public Object getData() {
+		return this;
+	}
+
+	public TreeNode getParent() {
+		return null;
+	}
+
+	public boolean isLeaf() {
+		return getArtists().isEmpty();
+	}
+
+	public void removeChild(Object id) {
+		getArtists().remove(id);
+	}
+
+	public void setData(Object data) {
+	}
+
+	public void setParent(TreeNode parent) {
+	}
+
+	public String getType() {
+		return "library";
+	}
+	
+	
+	private long nextId = 0;
+	private long getNextId() {
+		return nextId++;
+	}
+	private Map albumCache = new HashMap();
+	private Map artistCache = new HashMap();
+	private Artist getArtistByName(String name, Library library) {
+		Artist artist = (Artist)artistCache.get(name);
+		if (artist==null) {
+			artist = new Artist(getNextId());
+			artist.setName(name);
+			artistCache.put(name, artist);
+			library.addArtist(artist);
+		}
+		return artist;
+	}
+	private Album getAlbumByTitle(String title, Artist artist) {
+		Album album = (Album)albumCache.get(title);
+		if (album==null) {
+			album = new Album(getNextId());
+			album.setTitle(title);
+			albumCache.put(title, album);
+			artist.addAlbum(album);
+		}
+		return album;
+	}
+	
+	private void initData() {
+		artists = new HashMap();
+		InputStream is = this.getClass().getClassLoader().getResourceAsStream("org/richfaces/demo/tree/data.txt");
+		ByteArrayOutputStream os = new ByteArrayOutputStream();
+		byte[] rb = new byte[1024];
+		int read;
+		try {
+			do {
+				read = is.read(rb);
+				if (read>0) {
+					os.write(rb, 0, read);
+				}
+			} while (read>0);
+			String buf = os.toString();
+			StringTokenizer toc1 = new StringTokenizer(buf,"\n");
+			while (toc1.hasMoreTokens()) {
+				String str = toc1.nextToken();
+				StringTokenizer toc2 = new StringTokenizer(str, "\t");
+				String songTitle = toc2.nextToken();
+				String artistName = toc2.nextToken();
+				String albumTitle = toc2.nextToken();
+				toc2.nextToken();
+				toc2.nextToken();
+				String albumYear = toc2.nextToken();
+				Artist artist = getArtistByName(artistName,this);
+				Album album = getAlbumByTitle(albumTitle, artist);
+				album.setYear(new Integer(albumYear));
+				Song song = new Song(getNextId());
+				song.setTitle(songTitle);
+				album.addSong(song);
+			}
+		} catch (IOException e) {
+			throw new RuntimeException(e);
+		}
+	}
+	public Object getState1() {
+		return state1;
+	}
+	public void setState1(Object state1) {
+		this.state1 = state1;
+	}
+	public Object getState2() {
+		return state2;
+	}
+	public void setState2(Object state2) {
+		this.state2 = state2;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/SimpleTreeBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/SimpleTreeBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/SimpleTreeBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,112 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.demo.tree;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+import javax.faces.FacesException;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+import org.richfaces.component.UITree;
+import org.richfaces.event.NodeSelectedEvent;
+import org.richfaces.model.TreeNode;
+import org.richfaces.model.TreeNodeImpl;
+
+public class SimpleTreeBean {
+	
+	private TreeNode rootNode = null;
+	
+	private String nodeTitle;
+	
+	private static final String DATA_PATH = "/richfaces/tree/examples/simple-tree-data.properties";
+	
+	private void addNodes(String path, TreeNode node, Properties properties) {
+		boolean end = false;
+		int counter = 1;
+		
+		while (!end) {
+			String key = path != null ? path + '.' + counter : String.valueOf(counter);
+
+			String value = properties.getProperty(key);
+			if (value != null) {
+				TreeNodeImpl nodeImpl = new TreeNodeImpl();
+				nodeImpl.setData(value);
+				node.addChild(new Integer(counter), nodeImpl);
+				
+				addNodes(key, nodeImpl, properties);
+				
+				counter++;
+			} else {
+				end = true;
+			}
+		}
+	}
+	
+	private void loadTree() {
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+		ExternalContext externalContext = facesContext.getExternalContext();
+		InputStream dataStream = externalContext.getResourceAsStream(DATA_PATH);
+		try {
+			Properties properties = new Properties();
+			properties.load(dataStream);
+			
+			rootNode = new TreeNodeImpl();
+			addNodes(null, rootNode, properties);
+			
+		} catch (IOException e) {
+			throw new FacesException(e.getMessage(), e);
+		} finally {
+			if (dataStream != null) {
+				try {
+					dataStream.close();
+				} catch (IOException e) {
+					externalContext.log(e.getMessage(), e);
+				}
+			}
+		}
+	}
+	
+	public TreeNode getTreeNode() {
+		if (rootNode == null) {
+			loadTree();
+		}
+		
+		return rootNode;
+	}
+
+	public void processSelection(NodeSelectedEvent event) {
+		UITree tree = (UITree) event.getComponent();
+		nodeTitle = (String) tree.getRowData();
+	}
+	
+	public String getNodeTitle() {
+		return nodeTitle;
+	}
+
+	public void setNodeTitle(String nodeTitle) {
+		this.nodeTitle = nodeTitle;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Song.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Song.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/tree/Song.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,97 @@
+package org.richfaces.demo.tree;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.richfaces.model.TreeNode;
+
+public class Song implements TreeNode {
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 7155620465939481885L;
+	private long id;
+	private String title;
+	private String genre;
+	private int trackNumber;
+	private Album album;
+
+	public Song(long id) {
+		this.id = id;
+	}
+	
+	public void addChild(Object identifier, TreeNode child) {
+		throw new UnsupportedOperationException("Songs do not have children");
+	}
+
+	public TreeNode getChild(Object id) {
+		throw new UnsupportedOperationException("Songs do not have children");
+	}
+
+	public Iterator getChildren() {
+		// TODO: Fix me!
+		return new ArrayList().iterator(); // work around limitation for TreeNode
+	}
+
+	public Object getData() {
+		return this;
+	}
+
+	public TreeNode getParent() {
+		return album;
+	}
+
+	public boolean isLeaf() {
+		return true;
+	}
+
+	public void removeChild(Object id) {
+		throw new UnsupportedOperationException("Songs do not have children");
+	}
+
+	public void setData(Object data) {
+	}
+
+	public void setParent(TreeNode parent) {
+		this.album = (Album) parent;
+	}
+
+	public Album getAlbum() {
+		return album;
+	}
+
+	public void setAlbum(Album album) {
+		this.album = album;
+	}
+
+	public String getGenre() {
+		return genre;
+	}
+
+	public void setGenre(String genre) {
+		this.genre = genre;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public void setTitle(String title) {
+		this.title = title;
+	}
+
+	public int getTrackNumber() {
+		return trackNumber;
+	}
+
+	public void setTrackNumber(int trackNumber) {
+		this.trackNumber = trackNumber;
+	}
+
+	public long getId() {
+		return id;
+	}
+	public String getType() {
+		return "song";
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/wizard/Profile.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/wizard/Profile.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/demo/wizard/Profile.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,33 @@
+package org.richfaces.demo.wizard;
+
+public class Profile {
+	private String firstName;
+	private String lastName;
+	private String company;
+	private String notes;
+	
+	public String getCompany() {
+		return company;
+	}
+	public void setCompany(String company) {
+		this.company = company;
+	}
+	public String getFirstName() {
+		return firstName;
+	}
+	public void setFirstName(String firstName) {
+		this.firstName = firstName;
+	}
+	public String getLastName() {
+		return lastName;
+	}
+	public void setLastName(String lastName) {
+		this.lastName = lastName;
+	}
+	public String getNotes() {
+		return notes;
+	}
+	public void setNotes(String notes) {
+		this.notes = notes;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,16 @@
+package org.richfaces.treemodeladaptor;
+
+
+public class FileSystemBean {
+	private static String SRC_PATH = "/WEB-INF/src";
+	
+	private FileSystemNode[] srcRoots;
+	
+	public synchronized FileSystemNode[] getSourceRoots() {
+		if (srcRoots == null) {
+			srcRoots = new FileSystemNode(SRC_PATH).getNodes();
+		}
+		
+		return srcRoots;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemNode.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemNode.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/FileSystemNode.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+package org.richfaces.treemodeladaptor;
+
+import java.util.Set;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+public class FileSystemNode {
+	private String path;
+
+	private static FileSystemNode[] CHILDREN_ABSENT = new FileSystemNode[0];
+	
+	private FileSystemNode[] children;
+
+	private String shortPath;
+	
+	public FileSystemNode(String path) {
+		this.path = path;
+		int idx = path.lastIndexOf('/');
+		if (idx != -1) {
+			shortPath = path.substring(idx + 1);
+		} else {
+			shortPath = path;
+		}
+	}
+
+	public synchronized FileSystemNode[] getNodes() {
+		if (children == null) {
+			FacesContext facesContext = FacesContext.getCurrentInstance();
+			ExternalContext externalContext = facesContext.getExternalContext();
+			Set resourcePaths = externalContext.getResourcePaths(this.path);
+			if (resourcePaths != null) {
+				Object[] nodes = (Object[]) resourcePaths.toArray();
+				children = new FileSystemNode[nodes.length];
+				
+				for (int i = 0; i < nodes.length; i++) {
+					String nodePath = nodes[i].toString();
+					if (nodePath.endsWith("/")) {
+						nodePath = nodePath.substring(0, nodePath.length() - 1);
+					}
+					children[i] = new FileSystemNode(nodePath);
+				}
+			} else {
+				children = CHILDREN_ABSENT;
+			}
+		}
+
+		return children;
+	}
+	
+	public String toString() {
+		return shortPath;
+	}
+
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/PostbackPhaseListener.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/PostbackPhaseListener.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/PostbackPhaseListener.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,41 @@
+package org.richfaces.treemodeladaptor;
+
+import java.util.Map;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseEvent;
+import javax.faces.event.PhaseId;
+import javax.faces.event.PhaseListener;
+
+public class PostbackPhaseListener implements PhaseListener {
+
+	public static final String POSTBACK_ATTRIBUTE_NAME = PostbackPhaseListener.class.getName();
+	
+	public void afterPhase(PhaseEvent event) {
+	}
+
+	public void beforePhase(PhaseEvent event) {
+		FacesContext facesContext = event.getFacesContext();
+		Map requestMap = facesContext.getExternalContext().getRequestMap();
+		requestMap.put(POSTBACK_ATTRIBUTE_NAME, Boolean.TRUE);
+	}
+
+	public PhaseId getPhaseId() {
+		return PhaseId.APPLY_REQUEST_VALUES;
+	}
+
+	public static boolean isPostback() {
+		FacesContext facesContext = FacesContext.getCurrentInstance();
+		if (facesContext != null) {
+			ExternalContext externalContext = facesContext.getExternalContext();
+			if (externalContext != null) {
+				return Boolean.TRUE.equals(
+						externalContext.getRequestMap().get(POSTBACK_ATTRIBUTE_NAME));
+			}
+		}
+		
+		return false;
+	}
+	
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/TreeDemoStateAdvisor.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/TreeDemoStateAdvisor.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/java/org/richfaces/treemodeladaptor/TreeDemoStateAdvisor.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+package org.richfaces.treemodeladaptor;
+
+import org.richfaces.component.UITree;
+import org.richfaces.component.state.TreeStateAdvisor;
+import org.richfaces.model.TreeRowKey;
+
+public class TreeDemoStateAdvisor implements TreeStateAdvisor {
+
+	public Boolean adviseNodeOpened(UITree tree) {
+		if (!PostbackPhaseListener.isPostback()) {
+			Object key = tree.getRowKey();
+			TreeRowKey treeRowKey = (TreeRowKey) key;
+			if (treeRowKey == null || treeRowKey.depth() <= 2) {
+				return Boolean.TRUE;
+			}
+		}
+		
+		return null;
+	}
+
+	public Boolean adviseNodeSelected(UITree tree) {
+		return null;
+	}
+
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/META-INF/resources-config.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/META-INF/resources-config.xml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/META-INF/resources-config.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resource-config>
+
+	<resource >
+		<name>scriptaculous.scriptaculous.js</name>
+		<path>/org/richfaces/renderkit/html/scripts/scriptaculous-js-1.6.5/src/scriptaculous.js</path>
+		<renderer class="org.ajax4jsf.resource.ScriptRenderer"/>
+	</resource>
+	<resource >
+		<name>scriptaculous.effects.js</name>
+		<path>/org/richfaces/renderkit/html/scripts/scriptaculous-js-1.6.5/src/effects.js</path>
+		<renderer class="org.ajax4jsf.resource.ScriptRenderer"/>
+	</resource>
+
+</resource-config>

Modified: portlets/src/framework/RichFacesPortlet/src/main/resources/faces-config.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/faces-config.xml	2008-01-07 20:21:45 UTC (rev 179)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/faces-config.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -1,11 +1,7 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<!DOCTYPE faces-config PUBLIC
-      "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
-      "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
-
+<?xml version="1.0"?>
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+                              "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
 <faces-config>
-
    <application>
       <view-handler>
          org.ajax4jsf.portlet.application.PortletViewHandler
@@ -13,6 +9,9 @@
       <state-manager>
          org.ajax4jsf.portlet.application.PortalStateManager
       </state-manager>
+      <!--
+         <view-handler>com.sun.facelets.FaceletPortletViewHandler</view-handler>
+      -->
    </application>
    <factory>
       <faces-context-factory>
@@ -20,276 +19,298 @@
       </faces-context-factory>
    </factory>
 
-
-   <managed-bean>
-      <managed-bean-name>bean</managed-bean-name>
-      <managed-bean-class>portal.Bean</managed-bean-class>
-      <managed-bean-scope>session</managed-bean-scope>
-   </managed-bean>
-
-   <managed-bean>
-      <managed-bean-name>deckBean</managed-bean-name>
-      <managed-bean-class>org.jboss.portal.example.web.component.deck.action.ShowOneDeckBean</managed-bean-class>
-      <managed-bean-scope>session</managed-bean-scope>
-   </managed-bean>
-
-   <managed-bean>
-      <managed-bean-name>inventoryList</managed-bean-name>
-      <managed-bean-class>org.jboss.portal.example.web.DemoInventoryList</managed-bean-class>
-      <managed-bean-scope>session</managed-bean-scope>
-   </managed-bean>
-
-   <managed-bean>
-      <managed-bean-name>myBean</managed-bean-name>
-      <managed-bean-class>org.jboss.portal.example.web.MyBean</managed-bean-class>
-      <managed-bean-scope>session</managed-bean-scope>
-   </managed-bean>
-
-   <navigation-rule>
-      <navigation-case>
-         <from-action>inventoryList</from-action>
-         <to-view-id>/inventory/inventoryList.xhtml</to-view-id>
-      </navigation-case>
-      <navigation-case>
-         <from-action>home</from-action>
-         <to-view-id>/deck/deck.xhtml</to-view-id>
-      </navigation-case>
-      <navigation-case>
-         <from-action>phaseListener</from-action>
-         <to-view-id>/phase/listener.xhtml</to-view-id>
-      </navigation-case>
-      <navigation-case>
-         <from-action>signupForm</from-action>
-         <to-view-id>/signup/form.xhtml</to-view-id>
-      </navigation-case>
-      <navigation-case>
-         <from-action>richPanelMenu</from-action>
-         <to-view-id>/jsf/start.xhtml</to-view-id>
-      </navigation-case>
-   </navigation-rule>
-
-   <!--####################Deck Component########################-->
-   <component>
-      <component-type>
-         org.jboss.portal.example.ProShowOneDeck
-      </component-type>
-      <component-class>
-         org.jboss.portal.example.web.component.deck.jsf.component.ProShowOneDeck
-      </component-class>
-
-      <!-- UIComponent attributes -->
-      <attribute>
-         <description>
-            The component identifier for this component. This value must be
-            unique within the closest parent component that is a naming
-            container.
-         </description>
-         <attribute-name>id</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-      <attribute>
-         <description>
-            Flag indicating whether or not this component should be rendered
-            (during Render Response Phase), or processed on any subsequent
-            form submit.
-         </description>
-         <attribute-name>rendered</attribute-name>
-         <attribute-class>java.lang.Boolean</attribute-class>
-         <default-value>true</default-value>
-      </attribute>
-      <attribute>
-         <description>
-            The value binding expression linking this component to a
-            property in a backing bean.
-         </description>
-         <attribute-name>binding</attribute-name>
-         <attribute-class>javax.faces.el.ValueBinding</attribute-class>
-      </attribute>
-
-      <!-- UIShowOne attributes -->
-      <attribute>
-         <description>
-            The currently active showItem identifier.
-         </description>
-         <attribute-name>showItemId</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-
-      <!-- ProShowOneDeck attributes -->
-      <attribute>
-         <description>
-            The styleClass for this ProShowOneDeck component.
-         </description>
-         <attribute-name>styleClass</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-
-      <attribute>
-         <description>
-            The itemStyleClass for the UIShowItems.
-         </description>
-         <attribute-name>itemStyleClass</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-      <attribute>
-         <description>
-            The itemHeaderStyleClass for the UIShowItems.
-         </description>
-         <attribute-name>itemHeaderStyleClass</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-      <attribute>
-         <description>
-            The itemContentStyleClass for the UIShowItems.
-         </description>
-         <attribute-name>itemContentStyleClass</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-
-   </component>
-
-   <component>
-      <component-type>
-         org.jboss.portal.example.ShowOne
-      </component-type>
-      <component-class>
-         org.jboss.portal.example.web.component.deck.jsf.component.UIShowOne
-      </component-class>
-
-      <!-- UIComponent attributes -->
-      <attribute>
-         <description>
-            The component identifier for this component. This value must be
-            unique within the closest parent component that is a naming
-            container.
-         </description>
-         <attribute-name>id</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-      <attribute>
-         <description>
-            Flag indicating whether or not this component should be rendered
-            (during Render Response Phase), or processed on any subsequent
-            form submit.
-         </description>
-         <attribute-name>rendered</attribute-name>
-         <attribute-class>java.lang.Boolean</attribute-class>
-         <default-value>true</default-value>
-      </attribute>
-      <attribute>
-         <description>
-            The value binding expression linking this component to a
-            property in a backing bean.
-         </description>
-         <attribute-name>binding</attribute-name>
-         <attribute-class>javax.faces.el.ValueBinding</attribute-class>
-      </attribute>
-
-      <!-- UIShowOne attributes -->
-      <attribute>
-         <description>
-            The currently active showItem identifier.
-         </description>
-         <attribute-name>showItemId</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-
-   </component>
-
-   <component>
-      <component-type>
-         org.jboss.portal.example.ShowItem
-      </component-type>
-      <component-class>
-         org.jboss.portal.example.web.component.deck.jsf.component.UIShowItem
-      </component-class>
-
-      <!-- UIShowItem facets -->
-      <!--<facet>-->
-      <!--<description>The header of the showItem component.</description>-->
-      <!--<display-name>header</display-name>-->
-      <!--<facet-name>header</facet-name>-->
-      <!--<facet-extension>-->
-      <!--<facet-metadata>-->
-      <!--<preferred-children>h:outputText h:graphicImage</preferred-children>-->
-      <!--</facet-metadata>-->
-      <!--</facet-extension>-->
-      <!--</facet>-->
-
-      <!-- UIComponent attributes -->
-      <attribute>
-         <description>
-            The component identifier for this component. This value must be
-            unique within the closest parent component that is a naming
-            container.
-         </description>
-         <attribute-name>id</attribute-name>
-         <attribute-class>java.lang.String</attribute-class>
-      </attribute>
-      <attribute>
-         <description>
-            Flag indicating whether or not this component should be rendered
-            (during Render Response Phase), or processed on any subsequent
-            form submit.
-         </description>
-         <attribute-name>rendered</attribute-name>
-         <attribute-class>java.lang.Boolean</attribute-class>
-         <default-value>true</default-value>
-      </attribute>
-      <attribute>
-         <description>
-            The value binding expression linking this component to a
-            property in a backing bean.
-         </description>
-         <attribute-name>binding</attribute-name>
-         <attribute-class>javax.faces.el.ValueBinding</attribute-class>
-      </attribute>
-
-      <!-- UIShowItem attributes (none) -->
-
-   </component>
-
-   <!--a4j datascroller-->
-   <component>
-      <component-type>
-         com.ac.components.AjaxDataScroller
-      </component-type>
-      <component-class>
-         org.jboss.portal.example.web.component.datascroller.AjaxDataScroller
-      </component-class>
-   </component>
-
-
-   <!--a4j datascroller-->
-
-   <render-kit>
-      <!-- no renderkit-id, so these renderers are added to
-   the default renderkit -->
-      <renderer>
-         <component-family>org.jboss.portal.example.ShowOne</component-family>
-         <renderer-type>org.jboss.portal.example.Deck</renderer-type>
-         <renderer-class>org.jboss.portal.example.web.component.deck.jsf.render.html.basic.HtmlShowOneDeckRenderer
-         </renderer-class>
-      </renderer>
-
-      <!--<renderer>
-          <description>Replacement renderer for h:panelGrid that uses lists instead of tables</description>
-          <component-family>javax.faces.Panel</component-family>
-          <renderer-type>javax.faces.Grid</renderer-type>
-          <renderer-class>org.jboss.portal.example.custom.renderer.PanelGridRenderer</renderer-class>
-      </renderer>-->
-
-      <renderer>
-         <component-family>javax.faces.Panel</component-family>
-         <renderer-type>
-            com.ac.components.AjaxDataScrollerRenderer
-         </renderer-type>
-         <renderer-class>
-            org.jboss.portal.example.web.component.datascroller.AjaxDataScrollerRenderer
-         </renderer-class>
-      </renderer>
-
-   </render-kit>
-
-
+ <managed-bean>
+  <managed-bean-name>skinBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.common.SkinBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>skin</property-name>
+   <property-class>java.lang.String</property-class>
+   <value>blueSky</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>capitalsBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.capitals.CapitalsBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>ddmenu</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.ddmenu.Menu</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>calendarBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.calendar.CalendarBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>profile</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.wizard.Profile</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>userBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.ajaxsupport.UserBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>name</property-name>
+   <property-class>java.lang.String</property-class>
+   <value/>
+  </managed-property>
+  <managed-property>
+   <property-name>screenWidth</property-name>
+   <property-class>java.lang.Integer</property-class>
+   <null-value/>
+  </managed-property>
+  <managed-property>
+   <property-name>screenHeight</property-name>
+   <property-class>java.lang.Integer</property-class>
+   <null-value/>
+  </managed-property>
+  <managed-property>
+   <property-name>job</property-name>
+   <property-class>java.lang.String</property-class>
+   <null-value/>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>dfsBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.datafilterslider.DemoSliderBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>demoInventoryList</property-name>
+   <value>#{inventoryList}</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>dataTableScrollerBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.datatablescroller.DataTableScrollerBean</managed-bean-class>
+  <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>toggleBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.togglePanel.ToggleBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>inventoryList</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.datafilterslider.DemoInventoryList</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>suggestionBox</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.sb.SuggestionBox</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>gmBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.gmap.Bean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>zoom</property-name>
+   <property-class>int</property-class>
+   <value>17</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>environment</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.common.Environment</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>params</property-name>
+   <property-class>java.util.Map</property-class>
+   <map-entries>
+    <map-entry>
+     <key>devguide-location</key>
+     <value>http://www.jboss.org/projects/jbossrichfaces/freezone/docs/devguide</value>
+    </map-entry>
+    <map-entry>
+     <key>tld-doc-location</key>
+     <value>http://www.jboss.org/projects/jbossrichfaces/freezone/docs/tlddoc</value>
+    </map-entry>
+    <map-entry>
+     <key>java-doc-location</key>
+     <value>http://www.jboss.org/projects/jbossrichfaces/freezone/docs/apidoc</value>
+    </map-entry>
+   </map-entries>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>insValueBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.inputnumberslider.ValueBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>componentNavigator</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.common.ComponentNavigator</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>report</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.datatable.Report</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>tbBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.toolBar.TbBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>paintBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.paint2d.PaintBean</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>paintData</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.paint2d.PaintData</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+  <managed-property>
+   <property-name>color</property-name>
+   <property-class>int</property-class>
+   <value>1000</value>
+  </managed-property>
+  <managed-property>
+   <property-name>scale</property-name>
+   <property-class>float</property-class>
+   <value>2</value>
+  </managed-property>
+  <managed-property>
+   <property-name>text</property-name>
+   <property-class>java.lang.String</property-class>
+   <value>Paint 2D</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>treeDemoStateAdvisor</managed-bean-name>
+  <managed-bean-class>org.richfaces.treemodeladaptor.TreeDemoStateAdvisor</managed-bean-class>
+  <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>fileSystemBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.treemodeladaptor.FileSystemBean</managed-bean-class>
+  <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>simpleTreeBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.tree.SimpleTreeBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>library</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.tree.Library</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>dndBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.dnd.DndBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>eventBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.dnd.EventBean</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+  <managed-property>
+   <property-name>dndBean</property-name>
+   <property-class>org.richfaces.demo.dnd.DndBean</property-class>
+   <value>#{dndBean}</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>toolTipData</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.tooltip.ToolTipData</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>rsBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.ajaxSamples.rsBean</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>rsBean2</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.ajaxSamples.rsBean</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>auctionDataModel</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.extendeddatamodel.AuctionDataModel</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+  <managed-property>
+   <property-name>dataProvider</property-name>
+   <property-class>org.richfaces.demo.extendeddatamodel.AuctionDataProvider</property-class>
+   <value>#{auctionDataProvider}</value>
+  </managed-property>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>mediaBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.media.MediaBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>mediaData</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.media.MediaData</managed-bean-class>
+  <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>auctionDataProvider</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.extendeddatamodel.AuctionDataProvider</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>salesReport</managed-bean-name>
+  <managed-bean-class>org.richfaces.datatable.SalesReport</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>updateBean</managed-bean-name>
+  <managed-bean-class>org.richfaces.datatable.UpdateBean</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+  <managed-bean-name>panelMenu</managed-bean-name>
+  <managed-bean-class>org.richfaces.demo.pmenu.PanelMenu</managed-bean-class>
+  <managed-bean-scope>session</managed-bean-scope>
+  <managed-property>
+   <property-name>current</property-name>
+   <property-class>java.lang.String</property-class>
+   <value>Nothing</value>
+  </managed-property>
+  <managed-property>
+   <property-name>singleMode</property-name>
+   <property-class>java.lang.Boolean</property-class>
+   <value>true</value>
+  </managed-property>
+ </managed-bean>
+ <navigation-rule>
+  <from-view-id>/richfaces/include/examples/wstep1.xhtml</from-view-id>
+  <navigation-case>
+   <from-outcome>next</from-outcome>
+   <to-view-id>/richfaces/include/examples/wstep2.xhtml</to-view-id>
+  </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+  <from-view-id>/richfaces/include/examples/wstep2.xhtml</from-view-id>
+  <navigation-case>
+   <from-outcome>previous</from-outcome>
+   <to-view-id>/richfaces/include/examples/wstep1.xhtml</to-view-id>
+  </navigation-case>
+  <navigation-case>
+   <from-outcome>next</from-outcome>
+   <to-view-id>/richfaces/include/examples/finalStep.xhtml</to-view-id>
+  </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+  <from-view-id>/richfaces/include/examples/finalStep.xhtml</from-view-id>
+  <navigation-case>
+   <from-outcome>previous</from-outcome>
+   <to-view-id>/richfaces/include/examples/wstep2.xhtml</to-view-id>
+  </navigation-case>
+    <navigation-case>
+   <from-action>test</from-action>
+   <to-view-id>/richfaces/actionparam.xhtml</to-view-id>
+  </navigation-case>
+ </navigation-rule>
+	<lifecycle>
+		<phase-listener>org.richfaces.treemodeladaptor.PostbackPhaseListener</phase-listener>
+	</lifecycle>
 </faces-config>

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/ajaxSamples/rspanel.xcss
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/ajaxSamples/rspanel.xcss	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/ajaxSamples/rspanel.xcss	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns:f='http:/jsf.exadel.com/template'
+   xmlns:u='http:/jsf.exadel.com/template/util' 
+   xmlns="http://www.w3.org/1999/xhtml" >
+   
+<f:verbatim><![CDATA[
+
+.rsPanel {
+	border-width:1px;
+	border-style:solid;
+	padding:10px;
+	background-position : top left;
+	background-repeat : repeat-x;	
+	
+}
+.rsInput {
+	border-style:solid;
+	border-width:1px;
+}
+.rsButton {
+	border-width:2px;
+	border-style:solid;
+}
+.rsLabel {
+	font-size: 12px;
+}
+
+]]></f:verbatim>
+
+<u:selector name=".rsPanel">
+   	<u:style name="border-color" skin="panelBorderColor" />
+	<u:style name="background-color" skin="headerBackgroundColor" />
+	<u:style name="background-image" >
+    	   <f:resource f:key="org.richfaces.renderkit.html.GradientA"/>
+     </u:style>
+</u:selector>
+
+<u:selector name=".rsInput">
+   	<u:style name="background-color" skin="additionalBackgroundColor" />
+</u:selector>
+
+<u:selector name=".rsButton">
+   	<u:style name="background-color" skin="additionalBackgroundColor" />
+   	<u:style name="border-color" skin="panelBorderColor" />
+</u:selector>
+
+<u:selector name=".rsLabel">
+	<u:style name="color" skin="headerTextColor" />
+</u:selector>
+
+
+	<u:style name="color" skin="headerTextColor" />
+
+
+</f:template>

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals-rules.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals-rules.xml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals-rules.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+	<!DOCTYPE digester-rules SYSTEM "digester-rules.dtd">
+-->
+
+<digester-rules>
+	<pattern value="*/capital">
+		<object-create-rule	classname="org.richfaces.demo.capitals.Capital" />
+		<bean-property-setter-rule pattern="name" propertyname="name"/>	
+		<bean-property-setter-rule pattern="state" propertyname="state"/>	
+		<bean-property-setter-rule pattern="timeZone" propertyname="timeZone"/>	
+		<set-next-rule methodname="addCapital"/>
+	</pattern>
+</digester-rules>
\ No newline at end of file


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals-rules.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals.xml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<capitals>
+	<capital>
+		<state>Alabama</state>
+		<name>Montgomery</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Alaska</state>
+		<name>Juneau</name>
+		<timeZone>GMT-9</timeZone>
+	</capital>
+	<capital>
+		<state>Arizona</state>
+		<name>Phoenix</name>
+		<timeZone>GMT-7</timeZone>
+	</capital>
+	<capital>
+		<state>Arkansas</state>
+		<name>Little Rock</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>California</state>
+		<name>Sacramento</name>
+		<timeZone>GMT-8</timeZone>
+	</capital>
+	<capital>
+		<state>Colorado</state>
+		<name>Denver</name>
+		<timeZone>GMT-7</timeZone>
+	</capital>
+	<capital>
+		<state>Connecticut</state>
+		<name>Hartford</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Delaware</state>
+		<name>Dover</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Florida</state>
+		<name>Tallahassee</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Georgia</state>
+		<name>Atlanta</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Hawaii</state>
+		<name>Honolulu</name>
+		<timeZone>GMT-10</timeZone>
+	</capital>
+	<capital>
+		<state>Idaho</state>
+		<name>Boise</name>
+		<timeZone>GMT-8</timeZone>
+	</capital>
+	<capital>
+		<state>Illinois</state>
+		<name>Springfield</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Indiana</state>
+		<name>Indianapolis</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Iowa</state>
+		<name>Des Moines</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Kansas</state>
+		<name>Topeka</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Kentucky</state>
+		<name>Frankfort</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Louisiana</state>
+		<name>Baton Rouge</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Maine</state>
+		<name>Augusta</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Maryland</state>
+		<name>Annapolis</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Massachusetts</state>
+		<name>Boston</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Michigan</state>
+		<name>Lansing</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Minnesota</state>
+		<name>St. Paul</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Mississippi</state>
+		<name>Jackson</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Missouri</state>
+		<name>Jefferson City</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Montana</state>
+		<name>Helena</name>
+		<timeZone>GMT-7</timeZone>
+	</capital>
+	<capital>
+		<state>Nebraska</state>
+		<name>Lincoln</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Nevada</state>
+		<name>Carson City</name>
+		<timeZone>GMT-8</timeZone>
+	</capital>
+	<capital>
+		<state>New Hampshire</state>
+		<name>Concord</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>New Jersey</state>
+		<name>Trenton</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>New Mexico</state>
+		<name>Santa Fe</name>
+		<timeZone>GMT-7</timeZone>
+	</capital>
+	<capital>
+		<state>New York</state>
+		<name>Albany</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>North Carolina</state>
+		<name>Raleigh</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>North Dakota</state>
+		<name>Bismarck</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Ohio</state>
+		<name>Columbus</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Oklahoma</state>
+		<name>Oklahoma City</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Oregon</state>
+		<name>Salem</name>
+		<timeZone>GMT-8</timeZone>
+	</capital>
+	<capital>
+		<state>Pennsylvania</state>
+		<name>Harrisburg</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Rhode Island</state>
+		<name>Providence</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>South Carolina</state>
+		<name>Columbia</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>South Dakota</state>
+		<name>Pierre</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Tennessee</state>
+		<name>Nashville</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Texas</state>
+		<name>Austin</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Utah</state>
+		<name>Salt Lake City</name>
+		<timeZone>GMT-7</timeZone>
+	</capital>
+	<capital>
+		<state>Vermont</state>
+		<name>Montpelier</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Virginia</state>
+		<name>Richmond</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Washington</state>
+		<name>Olympia</name>
+		<timeZone>GMT-8</timeZone>
+	</capital>
+	<capital>
+		<state>West Virginia</state>
+		<name>Charleston</name>
+		<timeZone>GMT-5</timeZone>
+	</capital>
+	<capital>
+		<state>Wisconsin</state>
+		<name>Madison</name>
+		<timeZone>GMT-6</timeZone>
+	</capital>
+	<capital>
+		<state>Wyoming</state>
+		<name>Cheyenne</name>
+		<timeZone>GMT-7</timeZone>
+	</capital>
+</capitals>
\ No newline at end of file


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/capitals.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/digester-rules.dtd
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/digester-rules.dtd	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/digester-rules.dtd	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+        "Digester" component of the Jakarta Commons Subproject
+        DTD for the definition of Digester rules in XML.
+        $Id: digester-rules.dtd,v 1.8 2003/03/27 18:54:45 rdonkin Exp $
+-->
+
+<!-- This document type defines an XML format for defining Digester rules.
+     Digester is a framework for pattern-matching-based parsing of XML into
+     Java objects. See http://jakarta.apache.org/commons/digester.html.  -->
+
+<!ENTITY % rule-elements "bean-property-setter-rule | call-method-rule | call-param-rule |
+                   factory-create-rule | object-create-rule |
+                   set-properties-rule | set-property-rule | set-top-rule |
+                   set-next-rule" >
+
+<!-- digester-rules is the root element. -->
+<!ELEMENT digester-rules (pattern | include | bean-property-setter-rule | call-method-rule | call-param-rule | factory-create-rule | object-create-rule | set-properties-rule | set-property-rule | set-top-rule | set-next-rule )*>
+
+
+<!-- <pattern> defines a matching pattern, or part of a matching pattern. Any
+     rule nested in a pattern element prepends its parent's to its pattern.
+     Patterns may be recursively nested.
+     Example:
+       <pattern value="foo">
+          <pattern value="bar">
+            <object-create-rule pattern="baz" classname="Fubar" />
+          </pattern>
+       </pattern>
+
+     The above sample fragment defines an ObjectCreateRule associated
+     with the pattern "foo/bar/baz".
+
+  Note that the use of pattern elements is optional; an alternative is for
+  each rule element to contain a 'pattern' attribute.   -->
+<!ELEMENT pattern (pattern | include | bean-property-setter-rule | call-method-rule | call-param-rule |
+                   factory-create-rule | object-create-rule |
+                   set-properties-rule | set-property-rule | set-top-rule |
+                   set-next-rule )*>
+<!ATTLIST pattern
+    value CDATA #REQUIRED>
+
+
+<!--
+  <include> allows one set of digester rules to be included inside
+  another. The 'path' attribute contains the URI of the document to
+  include. Inclusion behaves as if the included rules document is
+  'macro-expanded' within the outer document.
+  Programmatically initialized rules can be included as well, via the
+  'class' attribute. The 'class' attribute should contain the name
+  of a class that implements
+  org.apache.commons.digester.xmlrules.DigesterRulesSource.
+-->
+<!ELEMENT include EMPTY>
+<!ATTLIST include
+    path  CDATA #IMPLIED
+    class CDATA #IMPLIED>
+
+
+<!-- Each 'rule' element below corresponds to a concrete subclass
+     of org.apache.framework.digester.Rule.
+     Each 'rule' element has an optional 'pattern' attribute, which
+     defines the pattern for that rule instance. If the rule element
+     is nested inside one or more <pattern> elements, those patterns
+     will be prepended to the pattern specified in the rule's 'pattern'
+     attribute. -->
+
+<!-- Bean Property Setter Rule -->
+<!ELEMENT bean-property-setter-rule EMPTY>
+<!ATTLIST bean-property-setter-rule
+    pattern      CDATA #IMPLIED
+    propertyname CDATA #IMPLIED>
+
+<!-- CallMethodRule -->
+<!ELEMENT call-method-rule EMPTY>
+<!ATTLIST call-method-rule
+    pattern    CDATA #IMPLIED
+    methodname CDATA #REQUIRED
+    paramcount CDATA #IMPLIED
+    paramtypes CDATA #IMPLIED>
+
+<!-- 
+    CallParamRule 
+    attrname - set param from attribute value (cannot be combined with from-stack)
+    from-stack - set param from stack (cannot be combined with attrname)
+    -->
+<!ELEMENT call-param-rule EMPTY>
+<!ATTLIST call-param-rule
+    pattern  CDATA #IMPLIED
+    paramnumber CDATA #REQUIRED
+    attrname CDATA #IMPLIED
+    from-stack CDATA #IMPLIED>
+
+<!-- 
+    FactoryCreateRule 
+    
+    ignore-exceptions - if this attribute is (ignore case) 'true' then any exceptions
+                        thrown by the object create rule will be ignore.
+                        This will allow processing to continue.
+    -->
+<!ELEMENT factory-create-rule EMPTY>
+<!ATTLIST factory-create-rule
+    pattern   CDATA #IMPLIED
+    classname CDATA #REQUIRED
+    attrname  CDATA #IMPLIED
+    ignore-exceptions  CDATA #IMPLIED> 
+
+<!-- ObjectCreateRule -->
+<!ELEMENT object-create-rule EMPTY>
+<!ATTLIST object-create-rule
+    pattern   CDATA #IMPLIED
+    classname CDATA #REQUIRED
+    attrname  CDATA #IMPLIED>
+
+<!-- SetPropertiesRule -->
+<!ELEMENT set-properties-rule (alias)*>
+<!ATTLIST factory-create-rule
+    pattern   CDATA #IMPLIED>
+
+<!-- An alias is a custom attribute->property name mapping -->
+<!ELEMENT alias EMPTY>
+<!ATTLIST alias
+ attr-name CDATA #REQUIRED
+ prop-name CDATA #IMPLIED>
+
+<!-- SetPropertyRule -->
+<!ELEMENT set-property-rule EMPTY>
+<!ATTLIST set-property-rule
+    pattern   CDATA #IMPLIED
+    name      CDATA #IMPLIED
+    value     CDATA #IMPLIED>
+
+<!-- SetTopRule -->
+<!ELEMENT set-top-rule EMPTY>
+<!ATTLIST set-top-rule
+    pattern    CDATA #IMPLIED
+    methodname CDATA #REQUIRED
+    paramtype  CDATA #IMPLIED>
+
+<!-- SetNextRule -->
+<!ELEMENT set-next-rule EMPTY>
+<!ATTLIST set-next-rule
+    pattern    CDATA #IMPLIED
+    methodname CDATA #REQUIRED
+    paramtype  CDATA #IMPLIED>


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/capitals/digester-rules.dtd
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/components.properties
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/components.properties	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/components.properties	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,70 @@
+# list of components in comma-separated format
+#id=name,iconImage,captionImage,devGuideLocation,tldDocLocation,javaDocLocation
+panel=              richOutputs,          Panel,                /images/ico_panel.gif,                  /images/cn_panel.gif,                    RichFacesComponentsLibrary.html#panel,                                              jbossrichfaces/freezone/docs/tlddoc/rich/panel.html,              jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIPanel.html,                      /richfaces/panel.xhtml
+separator=          richOutputs,          Separator,            /images/ico_separator.gif,              /images/cn_separator.gif,                RichFacesComponentsLibrary.html#separator,                                          jbossrichfaces/freezone/docs/tlddoc/rich/separator.html,          jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UISeparator.html,                  /richfaces/separator.xhtml
+spacer=             richOutputs,          Spacer,               /images/ico_spacer.gif,                 /images/cn_spacer.gif,                   RichFacesComponentsLibrary.html#spacer,                                             jbossrichfaces/freezone/docs/tlddoc/rich/spacer.html,             jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UISpacer.html,                     /richfaces/spacer.xhtml
+tabPanel=           richOutputs,          Tab Panel,            /images/ico_tabpanel.gif,               /images/cn_tabpanel.gif,                 RichFacesComponentsLibrary.html#tabPanel,                                           jbossrichfaces/freezone/docs/tlddoc/rich/tabPanel.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UITabPanel.html,                   /richfaces/tabPanel.xhtml
+inputNumberSlider=  richInputs,           Input Number Slider,  /images/ico_slider.gif,                 /images/cn_slider.gif,                   RichFacesComponentsLibrary.html#inputNumberSlider,                                  jbossrichfaces/freezone/docs/tlddoc/rich/inputNumberSlider.html,  jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIInputNumberSlider.html,          /richfaces/inputNumberSlider.xhtml
+inputNumberSpinner= richInputs,           Input Number Spinner, /images/ico_spinner.gif,                /images/cn_spinner.gif,                  RichFacesComponentsLibrary.html#inputNumberSpinner,                                 jbossrichfaces/freezone/docs/tlddoc/rich/inputNumberSpinner.html, jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIInputNumberSpinner.html,         /richfaces/inputNumberSpinner.xhtml
+dataFilterSlider=   richDataIterators,    Data Filter Slider,   /images/ico_DataFilterSlider.gif,       /images/cn_DataFilterSlider.gif,         RichFacesComponentsLibrary.html#dataFilterSlider,                                   jbossrichfaces/freezone/docs/tlddoc/rich/dataFilterSlider.html,   jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDataFltrSlider.html,             /richfaces/dataFilterSlider.xhtml
+dataTable=		  richDataIterators,    Data Table,           /images/ico_DataTable.gif,              /images/cn_DataTable.gif,                RichFacesComponentsLibrary.html#dataTable,                                          jbossrichfaces/freezone/docs/tlddoc/rich/dataTable.html,          jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDataTable.html,                  /richfaces/dataTable.xhtml
+column=		  richDataIterators,    Column,               /images/ico_DataTable.gif,              /images/cn_Column.gif,                   RichFacesComponentsLibrary.html#column,                                             jbossrichfaces/freezone/docs/tlddoc/rich/column.html,             jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIColumn.html,                     /richfaces/dataTable.xhtml
+columnGroup=	  richDataIterators,    Column Group,         /images/ico_DataTable.gif,              /images/cn_ColumnGroup.gif,              RichFacesComponentsLibrary.html#columnGroup,                                        jbossrichfaces/freezone/docs/tlddoc/rich/columnGroup.html,        jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIColumnGroup.html,                /richfaces/dataTable.xhtml
+dataDefinitionList= richDataIterators,    Data Definition List, /images/ico_DataTable.gif,              /images/cn_DataDefinitionList.gif,       RichFacesComponentsLibrary.html#dataDefinitionList,                                 jbossrichfaces/freezone/docs/tlddoc/rich/dataDefinitionList.html, jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDataDefinitionList.html,         /richfaces/dataLists.xhtml
+dataGrid=	        richDataIterators,    Data Grid,            /images/ico_DataTable.gif,              /images/cn_DataGrid.gif,                 RichFacesComponentsLibrary.html#dataGrid,                                           jbossrichfaces/freezone/docs/tlddoc/rich/dataGrid.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDataGrid.html,                   /richfaces/dataGrid.xhtml
+dataList=        	  richDataIterators,    Data List,            /images/ico_DataTable.gif,              /images/cn_DataList.gif,                 RichFacesComponentsLibrary.html#dataList,                                           jbossrichfaces/freezone/docs/tlddoc/rich/dataList.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDataList.html,                   /richfaces/dataLists.xhtml
+dataOrderedList=	  richDataIterators,    Data Ordered List,    /images/ico_DataTable.gif,              /images/cn_DataOrderedList.gif,          RichFacesComponentsLibrary.html#dataOrderedList,                                    jbossrichfaces/freezone/docs/tlddoc/rich/dataOrderedList.html,    jbossrichfaces/freezone/docs/apidoc/org/richfaces/taglib/DataOrderedListTag.html,              /richfaces/dataLists.xhtml
+gmap=			  richMisc,             Google Map,           /images/ico_GoogleMap.gif,              /images/cn_GoogleMap.gif,                RichFacesComponentsLibrary.html#gmap,                                               	 jbossrichfaces/freezone/docs/tlddoc/rich/gmap.html,               jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIGmap.html,                       /richfaces/gmap.xhtml
+jQuery=  	        richMisc,  	          jQuery,          		/images/ico_common.gif,                 /images/cn_jQuery.gif,               	 RichFacesComponentsLibrary.html#jQuery,                                         	 jbossrichfaces/freezone/docs/tlddoc/rich/jQuery.html,           	jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIJQuery.html,                       /richfaces/jQuery.xhtml
+paint2d=            richOutputs,          Paint2D,              /images/ico_Paint2D.gif,                /images/cn_Paint2D.gif,                  RichFacesComponentsLibrary.html#paint2D,                                            jbossrichfaces/freezone/docs/tlddoc/rich/paint2D.html,            jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIPaint2D.html,                    /richfaces/paint2D.xhtml
+toolBar=            richOutputs,          Tool Bar,             /images/ico_ToolBar.gif,                /images/cn_ToolBar.gif,                  RichFacesComponentsLibrary.html#toolBar,                                            jbossrichfaces/freezone/docs/tlddoc/rich/toolBar.html,            jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIToolBar.html,                    /richfaces/toolBar.xhtml
+toolTip=            richOutputs,          ToolTip,              /images/ico_panel.gif,                  /images/cn_ToolTip.gif,                  RichFacesComponentsLibrary.html#toolTip,                                            jbossrichfaces/freezone/docs/tlddoc/rich/toolTip.html,            jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIToolTip.html,                    /richfaces/toolTip.xhtml
+simpleTogglePanel=  richOutputs,          Simple Toggle Panel,  /images/ico_SimpleTogglePanel.gif,      /images/cn_SimpleTogglePanel.gif,        RichFacesComponentsLibrary.html#simpleTogglePanel,                                  jbossrichfaces/freezone/docs/tlddoc/rich/simpleTogglePanel.html,  jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UISimpleTogglePanel.html,          /richfaces/simpleTogglePanel.xhtml
+dragIndicator=      richDragDrop,         Drag Indicator,       /images/ico_DragIndicator.gif,          /images/cn_DragIndicator.gif,            RichFacesComponentsLibrary.html#dragIndicator,                                      jbossrichfaces/freezone/docs/tlddoc/rich/dragIndicator.html,      jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDragIndicator.html,              /richfaces/dragSupport.xhtml
+dragSupport=        richDragDrop,         Drag Support,         /images/ico_DragSupport.gif,            /images/cn_DragSupport.gif,              RichFacesComponentsLibrary.html#dragSupport,                                        jbossrichfaces/freezone/docs/tlddoc/rich/dragSupport.html,        jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDragSupport.html,                /richfaces/dragSupport.xhtml
+dropSupport=        richDragDrop,         Drop Support,         /images/ico_DropSupport.gif,            /images/cn_DropSupport.gif,              RichFacesComponentsLibrary.html#dropSupport,                                        jbossrichfaces/freezone/docs/tlddoc/rich/dropSupport.html,        jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDropSupport.html,                /richfaces/dragSupport.xhtml
+dndParam=           richDragDrop,         Drag-Drop Parameter,  /images/ico_DropSupport.gif,            /images/cn_DragDropParameter.gif,        RichFacesComponentsLibrary.html#dndParam,                                           jbossrichfaces/freezone/docs/tlddoc/rich/dndParam.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDndParam.html,                   /richfaces/dragSupport.xhtml
+panelBar=           richOutputs,          Panel Bar,            /images/ico_PanelBar.gif,               /images/cn_PanelBar.gif,                 RichFacesComponentsLibrary.html#panelBar,                                           jbossrichfaces/freezone/docs/tlddoc/rich/panelBar.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIPanelBar.html,                   /richfaces/panelBar.xhtml
+modalPanel=         richOutputs,          Modal Panel,          /images/ico_ModalPanel.gif,             /images/cn_ModalPanel.gif,               RichFacesComponentsLibrary.html#modalPanel,                                         jbossrichfaces/freezone/docs/tlddoc/rich/modalPanel.html,         jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIModalPanel.html,                 /richfaces/modalPanel.xhtml
+togglePanel=        richOutputs,          Toggle Panel,         /images/ico_TogglePanel.gif,            /images/cn_TogglePanel.gif,              RichFacesComponentsLibrary.html#togglePanel,                                        jbossrichfaces/freezone/docs/tlddoc/rich/togglePanel.html,        jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UITogglePanel.html,                /richfaces/togglePanel.xhtml
+panelMenu=          richOutputs,          Panel Menu,           /images/ico_panelMenu.gif,              /images/cn_PanelMenu.gif,          	 RichFacesComponentsLibrary.html#panelMenu,                                          jbossrichfaces/freezone/docs/tlddoc/rich/panelMenu.html,        	 jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIPanelMenu.html,                  /richfaces/panelMenu.xhtml
+suggestionBox=      richInputs,           Suggestion Box,       /images/ico_SuggestionBox.gif,          /images/cn_SuggestionBox.gif,            RichFacesComponentsLibrary.html#suggestionbox,                                      jbossrichfaces/freezone/docs/tlddoc/rich/suggestionbox.html,      jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UISuggestionBox.html,              /richfaces/suggestionBox.xhtml
+dataTableScroller=  richDataIterators,    Data Table Scroller,  /images/ico_DataTableScroller.gif,      /images/cn_DataTableScroller.gif,        RichFacesComponentsLibrary.html#datascroller,                                       jbossrichfaces/freezone/docs/tlddoc/rich/datascroller.html,       jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDatascroller.html,               /richfaces/dataTableScroller.xhtml
+dropDownMenu=       richMenu,             Drop Down Menu,       /images/ico_dropDownMenu.gif,           /images/cn_DropDownMenu.gif,             RichFacesComponentsLibrary.html#dropDownMenu,                                       jbossrichfaces/freezone/docs/tlddoc/rich/dropDownMenu.html,       jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIDropDownMenu.html,               /richfaces/dropDownMenu.xhtml
+menuGroup=          richMenu,             Menu Group,           /images/ico_dropDownMenu.gif,           /images/cn_MenuGroup.gif,                RichFacesComponentsLibrary.html#menuGroup,                                          jbossrichfaces/freezone/docs/tlddoc/rich/menuGroup.html,          jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIMenuGroup.html,                  /richfaces/dropDownMenu.xhtml
+menuItem=           richMenu,             Menu Item,            /images/ico_dropDownMenu.gif,           /images/cn_MenuItem.gif,                 RichFacesComponentsLibrary.html#menuItem,                                           jbossrichfaces/freezone/docs/tlddoc/rich/menuItem.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIMenuItem.html,                   /richfaces/dropDownMenu.xhtml
+menuSeparator=      richMenu,             Menu Separator,       /images/ico_dropDownMenu.gif,           /images/cn_MenuSeparator.gif,            RichFacesComponentsLibrary.html#menuSeparator,                                      jbossrichfaces/freezone/docs/tlddoc/rich/menuSeparator.html,      jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIMenuSeparator.html,              /richfaces/dropDownMenu.xhtml
+calendar=           richInputs,           Calendar,             /images/ico_common.gif,                 /images/cn_Calendar.gif,                 RichFacesComponentsLibrary.html#calendar,                                           jbossrichfaces/freezone/docs/tlddoc/rich/calendar.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UICalendar.html,                   /richfaces/calendar.xhtml
+message=            richMisc,             Message,              /images/ico_common.gif,                 /images/cn_Message.gif,                  RichFacesComponentsLibrary.html#message,                                            jbossrichfaces/freezone/docs/tlddoc/rich/message.html,            jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIRichMessage.html,                    /richfaces/message.xhtml
+messages=           richMisc,             Messages,             /images/ico_common.gif,                 /images/cn_Messages.gif,                 RichFacesComponentsLibrary.html#messages,                                           jbossrichfaces/freezone/docs/tlddoc/rich/messages.html,           jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIRichMessages.html,                   /richfaces/messages.xhtml
+virtualEarth=       richMisc,             Virtual Earth,        /images/ico_VirtualEarth.gif,           /images/cn_VirtualEarth.gif,             RichFacesComponentsLibrary.html#virtualEarth,                                       jbossrichfaces/freezone/docs/tlddoc/rich/virtualEarth.html,       jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIVirtualEarth.html,               /richfaces/virtualEarth.xhtml
+insert=		  richMisc,             Insert,        	    /images/ico_common.gif,           	  /images/cn_insert.gif,             	 RichFacesComponentsLibrary.html#insert,		                                     jbossrichfaces/freezone/docs/tlddoc/rich/insert.html,             jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIInsert.html,                     /richfaces/insert.xhtml
+scrollableDataTable= richDataIterators,   Scrollable Data Table,/images/ico_common.gif,                 /images/cn_ScrollableDataTable.gif,      RichFacesComponentsLibrary.html#scrollableDataTable,                                jbossrichfaces/freezone/docs/tlddoc/rich/scrollableDataTable.html,jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIScrollableDataTable.html,        /richfaces/scrollableDataTable.xhtml
+tree=               richTree,             Tree,                 /images/ico_Tree.gif,                   /images/cn_tree.gif,                     RichFacesComponentsLibrary.html#tree,                                               jbossrichfaces/freezone/docs/tlddoc/rich/tree.html,               jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UITree.html,                       /richfaces/tree.xhtml
+treeNodesAdaptor=   richTree,             Tree Adaptor,         /images/ico_Tree.gif,                   /images/cn_treeNodesAdaptor.gif,         RichFacesComponentsLibrary.html#treeNodesAdaptor,                                   jbossrichfaces/freezone/docs/tlddoc/rich/treeNodesAdaptor.html,   jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UITreeNodesAdaptor.html,           /richfaces/treeNodesAdaptor.xhtml
+recursiveTreeNodesAdaptor=   richTree,    Recursive Tree Adaptor,/images/ico_Tree.gif,                  /images/cn_recursiveTreeNodesAdaptor.gif,RichFacesComponentsLibrary.html#recursiveTreeNodesAdaptor,                          jbossrichfaces/freezone/docs/tlddoc/rich/recursiveTreeNodesAdaptor.html, jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIRecursiveTreeNodesAdaptor.html, /richfaces/treeNodesAdaptor.xhtml
+ajaxattributes=     ajaxSupport,          Ajax Attributes,      /images/ico_common.gif,                 /images/cn_ajaxAttributes.gif,           ArchitectureOverview.html,                                                          jbossajax4jsf/freezone/docs/tlddoc/overview-summary.html,         jbossajax4jsf/freezone/docs/apidoc/overview-summary.html,                                      /richfaces/ajaxAttributes.xhtml
+actionparam=        ajaxSupport,          Action Parameter,     /images/ico_common.gif,                 /images/cn_actionParameter.gif,          RichFacesComponentsLibrary.html#actionparam,                                        jbossajax4jsf/freezone/docs/tlddoc/a4j/actionparam.html,          jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIActionParameter.html,                   /richfaces/actionparam.xhtml
+commandButton=      ajaxSupport,          Command Button,       /images/ico_common.gif,                 /images/cn_commandButton.gif,            RichFacesComponentsLibrary.html#commandButton,                                      jbossajax4jsf/freezone/docs/tlddoc/a4j/commandButton.html,        jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxCommandButton.html,                 /richfaces/commandButton.xhtml
+commandLink=        ajaxSupport,          Command Link,         /images/ico_common.gif,                 /images/cn_commandLink.gif,              RichFacesComponentsLibrary.html#commandLink,                                        jbossajax4jsf/freezone/docs/tlddoc/a4j/commandLink.html,          jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxCommandLink.html,                   /richfaces/commandLink.xhtml
+form=               ajaxSupport,          Ajax Form,            /images/ico_common.gif,                 /images/cn_ajaxForm.gif,                 RichFacesComponentsLibrary.html#form,                                               jbossajax4jsf/freezone/docs/tlddoc/a4j/form.html,                 jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxForm.html,                          /richfaces/form.xhtml
+support=            ajaxSupport,          Ajax Support,         /images/ico_common.gif,                 /images/cn_ajaxSupport.gif,              RichFacesComponentsLibrary.html#support,                                            jbossajax4jsf/freezone/docs/tlddoc/a4j/support.html,              jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxSupport.html,                       /richfaces/support.xhtml
+jsFunction=         ajaxSupport,          JS Function,          /images/ico_common.gif,                 /images/cn_jsFunction.gif,               RichFacesComponentsLibrary.html#jsFunction,                                         jbossajax4jsf/freezone/docs/tlddoc/a4j/jsFunction.html,           jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxFunction.html,                      /richfaces/jsFunction.xhtml
+poll=               ajaxSupport,          Poll,                 /images/ico_common.gif,                 /images/cn_poll.gif,                     RichFacesComponentsLibrary.html#poll,                                               jbossajax4jsf/freezone/docs/tlddoc/a4j/poll.html,                 jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIPoll.html,                              /richfaces/poll.xhtml
+push=               ajaxSupport,          Push,                 /images/ico_common.gif,                 /images/cn_push.gif,                     RichFacesComponentsLibrary.html#push,                                               jbossajax4jsf/freezone/docs/tlddoc/a4j/push.html,                 jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIPush.html,                              /richfaces/push.xhtml
+status=             ajaxSupport,          Status,               /images/ico_common.gif,                 /images/cn_status.gif,                   RichFacesComponentsLibrary.html#status,                                             jbossajax4jsf/freezone/docs/tlddoc/a4j/status.html,               jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxStatus.html,                        /richfaces/status.xhtml
+ajaxListener=       ajaxSupport,          Ajax Listener,        /images/ico_common.gif,                 /images/cn_ajaxListener.gif,             RichFacesComponentsLibrary.html#ajaxListener,                                       jbossajax4jsf/freezone/docs/tlddoc/a4j/ajaxListener.html,         jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/taglib/html/jsp/AjaxListenerTag.html,          /richfaces/ajaxListener.xhtml
+region=             ajaxSupport,          Ajax Region,          /images/ico_common.gif,                 /images/cn_ajaxRegion.gif,               RichFacesComponentsLibrary.html#region,                                             jbossajax4jsf/freezone/docs/tlddoc/a4j/region.html,               jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxRegion.html,                        /richfaces/region.xhtml
+loadBundle=         ajaxResources,        Bundle,               /images/ico_common.gif,                 /images/cn_Bundle.gif,                   RichFacesComponentsLibrary.html#loadBundle,                                         jbossajax4jsf/freezone/docs/tlddoc/a4j/loadBundle.html,           jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UILoadBundle.html,                        /richfaces/bundle.xhtml
+loadScript=         ajaxResources,        Script,               /images/ico_common.gif,                 /images/cn_Script.gif,                   RichFacesComponentsLibrary.html#loadScript,                                         jbossajax4jsf/freezone/docs/tlddoc/a4j/loadScript.html,           jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIResource.html,                          /richfaces/script.xhtml
+loadStyle=          ajaxResources,        Style,                /images/ico_common.gif,                 /images/cn_Style.gif,                    RichFacesComponentsLibrary.html#loadStyle,                                          jbossajax4jsf/freezone/docs/tlddoc/a4j/loadStyle.html,            jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIResource.html,                          /richfaces/style.xhtml
+keepAlive=          ajaxResources,        Keep Alive,           /images/ico_common.gif,                 /images/cn_KeepAlive.gif,                RichFacesComponentsLibrary.html#keepAlive,                                          jbossajax4jsf/freezone/docs/tlddoc/a4j/keepAlive.html,            jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/taglib/html/jsp/KeepAliveTag.html,             /richfaces/keepAlive.xhtml
+include=            ajaxOutput,           Include,              /images/ico_common.gif,                 /images/cn_include2.gif,                 RichFacesComponentsLibrary.html#include,                                            jbossajax4jsf/freezone/docs/tlddoc/a4j/include.html,              jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIInclude.html,                           /richfaces/include.xhtml
+mediaOutput=        ajaxOutput,           Media Output,         /images/ico_common.gif,                 /images/cn_MediaOutput.gif,              RichFacesComponentsLibrary.html#mediaOutput,                                        jbossajax4jsf/freezone/docs/tlddoc/a4j/mediaOutput.html,          jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/resource/UIMediaOutput.html,              /richfaces/mediaOutput.xhtml
+outputPanel=        ajaxOutput,           Output Panel,         /images/ico_common.gif,                 /images/cn_OutputPanel.gif,              RichFacesComponentsLibrary.html#outputPanel,                                        jbossajax4jsf/freezone/docs/tlddoc/a4j/outputPanel.html,          jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxOutputPanel.html,                   /richfaces/outputPanel.xhtml
+repeat=             richDataIterators,    Repeat,               /images/ico_common.gif,                 /images/cn_Repeat.gif,                   RichFacesComponentsLibrary.html#repeat,                                             jbossajax4jsf/freezone/docs/tlddoc/a4j/repeat.html,               jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/repeat/UIRepeat.html,                     /richfaces/repeat.xhtml
+htmlCommandLink=    ajaxMisc,             Html Command Link,    /images/ico_common.gif,                 /images/cn_HtmlCommandLink.gif,          RichFacesComponentsLibrary.html#htmlCommandLink,                                    jbossajax4jsf/freezone/docs/tlddoc/a4j/htmlCommandLink.html,      jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/renderkit/html/HtmlCommandLinkRenderer.html,   /richfaces/htmlCommandLink.xhtml
+log=                ajaxMisc,             Log,                  /images/ico_common.gif,                 /images/cn_Log.gif,                      RichFacesComponentsLibrary.html#log,                                                jbossajax4jsf/freezone/docs/tlddoc/a4j/log.html,                  jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxLog.html,                           /richfaces/log.xhtml
+page=               ajaxMisc,             Ajax Page,            /images/ico_common.gif,                 /images/cn_AjaxPage.gif,                 RichFacesComponentsLibrary.html#page,                                               jbossajax4jsf/freezone/docs/tlddoc/a4j/page.html,                 jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIAjaxRegion.html,                        /richfaces/page.xhtml
+portlet=            ajaxMisc,             Ajax Portlet,         /images/ico_common.gif,                 /images/cn_AjaxPortlet.gif,              RichFacesComponentsLibrary.html#portlet,                                            jbossajax4jsf/freezone/docs/tlddoc/a4j/portlet.html,              jbossajax4jsf/freezone/docs/apidoc/org/ajax4jsf/ajax/UIPortlet.html,                           /richfaces/portlet.xhtml
+effect=             richMisc,             Effect,               /images/ico_common.gif,                 /images/cn_Effect.gif,                   RichFacesComponentsLibrary.html#effect,                                             jbossrichfaces/freezone/docs/tlddoc/rich/effect.html,             jbossrichfaces/freezone/docs/apidoc/org/richfaces/component/UIEffect.html,                     /richfaces/effect.xhtml

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/path.properties
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/path.properties	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/common/path.properties	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,3 @@
+dgPath=http://labs.jboss.com/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/
+apiPath=http://labs.jboss.com/file-access/default/members/
+tldPath=http://labs.jboss.com/file-access/default/members/

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/exadel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/exadel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/gold.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/gold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/pyramids.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/pyramids.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/tower.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/gmap/images/tower.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/tree/data.txt
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/tree/data.txt	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/resources/org/richfaces/demo/tree/data.txt	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,42 @@
+Yes Sir,I Can Boogie	Baccara		Grand Collection			6750318	242			1		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	220	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\01 Yes Sir,I Can Boogie.m4a
+Soryy,i`m A Lady	Baccara		Grand Collection			7643797	266			2		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	227	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\02 Soryy,i`m A Lady.m4a
+A Quien Le Importa	Baccara		Grand Collection			7649974	270			3		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	224	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\03 A Quien Le Importa.m4a
+The Devil Send You To Laredo	Baccara		Grand Collection			6084233	222			4		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	216	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\04 The Devil Send You To Laredo.m4a
+Ni Mas Ni Menos	Baccara		Grand Collection			5323998	219			5		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	192	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\05 Ni Mas Ni Menos.m4a
+Parlez-vous Francais?	Baccara		Grand Collection			7620098	264			6		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	228	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\06 Parlez-vous Francais_.m4a
+Que Naadie Sepa Mi Sufrir	Baccara		Grand Collection			6702931	228			7		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	232	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\07 Que Naadie Sepa Mi Sufrir.m4a
+Borriquito	Baccara		Grand Collection			5275303	226			8		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	184	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\08 Borriquito.m4a
+Love Me Please Love Me	Baccara		Grand Collection			8061128	278			9		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	229	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\09 Love Me Please Love Me.m4a
+Paloma Blanca	Baccara		Grand Collection			6897984	236			10		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	231	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\10 Paloma Blanca.m4a
+Me Tienes Desenganada	Baccara		Grand Collection			6989122	238			11		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	232	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\11 Me Tienes Desenganada.m4a
+El Porompompero	Baccara		Grand Collection			6711469	236			12		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	225	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\12 El Porompompero.m4a
+Yes Sir, I Can Boogie	Baccara		Grand Collection			4820326	255			13		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	149	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\13 Yes Sir, I Can Boogie.m4a
+Sorry,i`m A Lady	Baccara		Grand Collection			5844870	217			14		1999	7/4/2005 2:15 PM	5/7/2005 3:36 PM	213	44100		AAC audio file		www.allofmp3.com						M:\My Music\Baccara\Grand Collection\14 Sorry,i`m A Lady.m4a
+Brandenburg Concerto No 1-1 I	Bach, Johann Sebastian		Forever Classics		Other	6778589	282					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 1-1 I.mp3
+Brandenburg Concerto No 1-2 I	Bach, Johann Sebastian		Forever Classics		Other	6181116	257					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 1-2 I.mp3
+Brandenburg Concerto No 1-3 I	Bach, Johann Sebastian		Forever Classics		Other	8123999	338					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 1-3 I.mp3
+Brandenburg Concerto No 1-4 I	Bach, Johann Sebastian		Forever Classics		Other	12878076	536					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 1-4 I.mp3
+Brandenburg Concerto No 2-1 I	Bach, Johann Sebastian		Forever Classics		Other	7811784	325					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 2-1 I.mp3
+Brandenburg Concerto No 2-2 I	Bach, Johann Sebastian		Forever Classics		Other	5467033	227					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 2-2 I.mp3
+Brandenburg Concerto No 2-3 I	Bach, Johann Sebastian		Forever Classics		Other	4503428	187					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 2-3 I.mp3
+Brandenburg Concerto No 3-1 I	Bach, Johann Sebastian		Forever Classics		Other	10262487	427					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 3-1 I.mp3
+Brandenburg Concerto No 3-2 I	Bach, Johann Sebastian		Forever Classics		Other	8596711	358					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Brandenburg Concerto No 3-2 I.mp3
+Organ Concerto In D Minor, BW	Bach, Johann Sebastian		Forever Classics		Other	17580117	732					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Organ Concerto In D Minor, BW.mp3
+Toccata & Fugue In D Minor, B	Bach, Johann Sebastian		Forever Classics		Other	13384016	557					1996	7/4/2005 2:00 PM	4/24/2004 7:31 AM	192	44100		MPEG audio file								M:\My Music\Bach, Johann Sebastian\Forever Classics\Toccata & Fugue In D Minor, B.mp3
+The Road To Hell (Part 1)	Chris Rea		The Road To Hell			7734984	293			1		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	209	44100		AAC audio file		www.allofmp3.com	1	6/11/2004 11:06 PM				M:\My Music\Chris Rea\The Road To Hell\01 The Road To Hell (Part 1).m4a
+The Road To Hell (Part 2)	Chris Rea		The Road To Hell			8279561	272			2		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	241	44100		AAC audio file		www.allofmp3.com	1	6/11/2004 11:10 PM				M:\My Music\Chris Rea\The Road To Hell\02 The Road To Hell (Part 2).m4a
+You Must Be Evil	Chris Rea		The Road To Hell			7923206	261			3		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	239	44100		AAC audio file		www.allofmp3.com	1	6/11/2004 11:14 PM				M:\My Music\Chris Rea\The Road To Hell\03 You Must Be Evil.m4a
+Texas	Chris Rea		The Road To Hell			8610554	310			4		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	220	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\04 Texas.m4a
+Looking For A Rainbow	Chris Rea		The Road To Hell			13633770	484			5		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	223	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\05 Looking For A Rainbow.m4a
+Your Warm And Tender Love	Chris Rea		The Road To Hell			7416353	273			6		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	214	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\06 Your Warm And Tender Love.m4a
+Daytona	Chris Rea		The Road To Hell			9394003	306			7		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	243	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\07 Daytona.m4a
+That`s What They Always Say	Chris Rea		The Road To Hell			7676117	268			8		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	226	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\08 That`s What They Always Say.m4a
+Let`s Dance	Chris Rea		The Road To Hell			8243277	257			9		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	254	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\09 Let`s Dance.m4a
+I Just Wanna Be With You	Chris Rea		The Road To Hell			6707876	221			10		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	240	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\10 I Just Wanna Be With You.m4a
+Tell Me There`s A Heaven	Chris Rea		The Road To Hell			9665532	361			11		1989	3/3/2007 2:08 PM	5/9/2004 11:11 AM	212	44100		AAC audio file		www.allofmp3.com						M:\My Music\Chris Rea\The Road To Hell\11 Tell Me There`s A Heaven.m4a
+Storm on Serret Mountain	David Miles Huber	David Miles Huber	Distant Thunder		Blues	29298688	1831			1		1993	7/4/2005 1:58 PM	4/24/2004 7:30 AM	128	44100		MPEG audio file								M:\My Music\David Miles Huber\Distant Thunder\01 Storm on Serret Mountain.mp3
+After the Storm	David Miles Huber	David Miles Huber	Distant Thunder		Blues	28840498	1802			2		1993	7/4/2005 1:59 PM	4/24/2004 7:30 AM	128	44100		MPEG audio file								M:\My Music\David Miles Huber\Distant Thunder\02 After the Storm.mp3
+Storm on Serret Mountain	David Miles Huber		Relaxation & Meditation With Music & Nature - Distant Thunder		misc	29319168	1832			1			7/4/2005 1:59 PM	4/24/2004 7:30 AM	128	44100		MPEG audio file								M:\My Music\David Miles Huber\Relaxation & Meditation With Music & Nat\01 Storm on Serret Mountain.mp3
+Spring Showers	David Miles Huber		Relaxation & Meditation With Music & Nature - Distant Thunder		misc	28790784	1799			2			7/4/2005 1:59 PM	4/24/2004 7:30 AM	128	44100		MPEG audio file								M:\My Music\David Miles Huber\Relaxation & Meditation With Music & Nat\02 Spring Showers.mp3
+Exotic Journey	David Miles Huber		Relaxation & Meditation With Music & Nature - Tropical Rainforest		misc	29294819	1830			1		1993	7/4/2005 1:59 PM	4/24/2004 7:30 AM	128	44100		MPEG audio file								M:\My Music\David Miles Huber\Relaxation & Meditation With Music & Nat\01 Exotic Journey.mp3
+Evening Rain	David Miles Huber		Relaxation & Meditation With Music & Nature - Tropical Rainforest		misc	28823552	1801			2		1993	7/4/2005 1:59 PM	4/24/2004 7:30 AM	128	44100		MPEG audio file								M:\My Music\David Miles Huber\Relaxation & Meditation With Music & Nat\02 Evening Rain.mp3

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/META-INF/MANIFEST.MF
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/META-INF/MANIFEST.MF	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/META-INF/MANIFEST.MF	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+

Modified: portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/portlet.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/portlet.xml	2008-01-07 20:21:45 UTC (rev 179)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/portlet.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -9,7 +9,7 @@
 
      <init-param>
         <name>javax.portlet.faces.defaultViewId.view</name>
-        <value>/jsf/start.xhtml</value>
+        <value>/welcome.xhtml</value>
       </init-param>
 
         <init-param>

Modified: portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/web.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/web.xml	2008-01-07 20:21:45 UTC (rev 179)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/WEB-INF/web.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -6,15 +6,26 @@
 
    <description>RichFacesPortlet</description>
 
-   <context-param>
-      <param-name>org.richfaces.SKIN</param-name>
-      <param-value>wine</param-value>
-   </context-param>
+   <!--<context-param>-->
+      <!--<param-name>org.richfaces.SKIN</param-name>-->
+      <!--<param-value>#{skinBean.skin}</param-value>-->
+   <!--</context-param>-->
 
    <context-param>
       <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
       <param-value>org.ajax4jsf.portlet.application.FaceletPortletViewHandler</param-value>
    </context-param>
+
+   <context-param>
+		<param-name>org.richfaces.LoadStyleStrategy</param-name>
+		<param-value>ALL</param-value>
+	</context-param>
+	<context-param>
+		<param-name>org.richfaces.LoadScriptStrategy</param-name>
+		<param-value>ALL</param-value>
+	</context-param>
+
+
    <filter>
       <display-name>Ajax4jsf Filter</display-name>
       <filter-name>ajax4jsf</filter-name>
@@ -72,7 +83,7 @@
 
    <listener>
       <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
-   </listener>
+   </listener>                                  
    <servlet>
       <servlet-name>FacesServlet</servlet-name>
       <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/css/common.css
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/css/common.css	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/css/common.css	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,298 @@
+form {
+	margin:0;
+	padding:0;
+}
+
+* {
+	font-family: Verdana,Arial;
+}
+
+p {
+	margin-top: 15px;
+	margin-bottom: 5px;
+	font-size: 12px;
+	font-family: Verdana,Arial;
+}
+
+	.footer-text {
+		font-size: 10px;	
+	}
+
+body{
+	margin : 0px;
+	background-position : top left;
+	background-repeat : no-repeat;
+	background-color : White;
+	padding-top:428px;
+	font-family: Verdana;
+}
+
+.page_brick{
+	position : absolute;
+	top : 0px;
+	width : 998px;
+}
+
+li{
+	margin-top : 5px;
+	margin-bottom : 5px;
+	margin-left : -12px;
+}
+ul{
+	margin-top : 10px;
+	margin-bottom : 10px;
+}
+
+.sample-container {
+	padding: 8px 25px 5px 25px;
+}
+
+.top_navbar{
+	position : absolute;
+	top : 2px;
+	right : 0px;
+	font-family : verdana;
+	font-size : 11px;
+}
+.top_navbar td{
+	padding : 5px 10px 7px 10px;
+	background-position : left;
+	background-repeat : repeat-y;
+	background-color : transparent;
+}
+.top_navbar td a{
+	color : #000000;
+	text-decoration : none;
+}
+.top_navbar td a:hover{
+	color : #000000;
+	text-decoration : underline;
+}
+.skin_chooser{
+	position : absolute;
+	top : 77px;
+	left : 294px;
+	font-family : verdana;
+	font-size : 11px;
+	height : 26px;
+}
+.skin_chooser td{
+	padding : 0px 0px 0px 10px;
+	background-color : transparent;
+}
+.skin_chooser td a{
+	color : #7795AF;
+	text-decoration : none;
+}
+.skin_chooser td a:hover{
+	color : #7795AF;
+	text-decoration : underline;
+}
+.skin_chooser .skin_line{
+	font-family : verdana;
+	font-size : 11px;
+}
+.skin_chooser .skin_line .control a{
+	color : #7795AF;
+	text-decoration : none;
+}
+.skin_chooser .skin_line .control a:hover{
+	color : #7795AF;
+	text-decoration : underline;
+}
+.skin_chooser .skin_line a{
+	color : #000000;
+	text-decoration : none;
+}
+.skin_chooser .skin_line a:hover{
+	color : #000000;
+	text-decoration : underline;
+}
+
+
+.left_menu{
+	position : absolute;
+	z-index : 10;
+	top : 71px;
+	left : 28px;
+	width : 222px;
+}
+.panel_documents{
+	background-color: transparent;
+	border : 1px solid #FFFFFF;
+	padding : 10px 10px 10px 20px;
+}
+.panel_documents div{
+	background-color: transparent;
+	font-family : verdana;
+	font-size : 11px;
+	border:0;
+	padding:0;
+}
+
+.panel_documents a{
+	color : #000000;
+	text-decoration : none;
+}
+.panel_documents a:hover{
+	color : #000000;
+	text-decoration : underline;
+}
+
+.menu_separator{
+	background-color : #ACBECE;
+	height : 5px;
+	font-size : 1px;
+}
+
+.panel_menu{
+	background-color : transparent;
+	border : 1px solid #FFFFFF;
+	border-bottom : 0px;
+	background-position : left;
+	background-repeat : repeat-y;
+	background-color : transparent;	
+	padding : 0px 1px 0px 0px;
+}
+	html>body .panel_menu {
+		padding : 0;
+	}
+
+
+.panel_menu div {
+    background-color:transparent;
+    padding:0;
+}
+
+.panel_menu div.rich-panelbar {
+    border-color: #ACBECE;
+
+}
+
+.panel_menu div.rich-panelbar-header, .panel_menu div.rich-panelbar-header-act{
+    background-color: #E4EAEF;
+    background-image:none;
+    padding:3px 20px 3px 20px;
+    border-top: 1px solid white;
+    border-bottom: 1px solid white;
+    color: black;
+}
+.panel_menu .rich-panelbar-content {
+   padding:1px 5px 1px 10px;
+
+
+}
+
+.panel_menu a {
+	color : #000000;
+	text-decoration : none;
+}
+
+.panel_menu table .unactive .ico{
+	border : 1px solid #FFFFFF;
+}
+.panel_menu table .active .ico{
+	border : 1px solid #ACBECE;
+}
+.panel_menu table .active .text{
+	color : #FFFFFF;
+	font-family : verdana;
+	font-size : 11px;
+	background-color : #ACBECE;
+	padding-left : 10px
+}
+.panel_menu table .unactive .text{
+	font-family : verdana;
+	font-size : 11px;
+	padding-left : 10px
+}
+.text {
+	cursor : pointer;
+	padding:0px 0px 0px 10px;
+}
+ .ico{
+	cursor : pointer;
+	padding-top:1px;
+	padding-right:3px;
+	padding-bottom:1px;
+	padding-left:3px; 
+	
+}
+
+.component_name{
+	position : absolute;
+	top : 124px;
+	left : 290px;
+}
+
+.content_container{
+	position : absolute;
+	top : 176px;
+	left : 0px;
+}
+.content_container_pdddings{
+	padding : 0px 35px 35px 0px;
+}
+.content_container_left_brick{
+	background-color : transparent;
+	width : 294px;
+}
+
+.footer{
+	border-top : 2px solid #ACBECE;
+	text-align : right;
+	height : 50px;
+	font-family : verdana;
+	font-size : 11px;
+	padding : 0px 15px 0px 0px;
+}
+.content_tab {
+	background-color: transparent; 
+	border-width:0;
+	background-position : top left;
+	background-repeat : no-repeat;
+}
+.active_tab {
+	background-position : top left;
+	border-width: 1px 1px 0px 1px;
+}
+.inactive_tab {
+	background-position : top left;
+}
+
+.top_tab .rich-tabhdr-side-border {
+}
+
+.top_tab .dr-tbpnl-tbtopbrdr{
+}
+
+.header_tabs_class{
+	border-width:0px;
+}
+
+.source_frame {
+	border: 1px solid #ACBECE; 
+	margin: 8px 0px 15px 0px;
+	width: 100%; 
+	height:300px;
+}
+
+.vertical-align-top {
+	vertical-align: top;
+}
+
+.TableHeadingColor {
+	background-color:#E9EEF2;
+}
+table.doctable {
+	border:1px solid #CCC;
+	border-left-width:0px;
+	border-bottom-width:0px;
+	margin: 10px 0;
+}
+table.doctable td {
+	border:0px solid #CCC;
+	border-left-width:1px;
+	border-bottom-width:1px;
+}
+	
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/css/xhtml-source.css
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/css/xhtml-source.css	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/css/xhtml-source.css	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+body {
+    color: green;
+	background: #FFFFE7;
+	font-family: monospace
+}
+
+.comment {
+    color: gray;
+    font-style: italic;
+}
+
+.keyword {
+    color: blue;
+    font-weight: normal;
+}
+
+.string {
+    color: maroon;
+    font-weight: bold
+}
+
+.type {
+    color: black;
+    text-decoration: none;
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/ajax_process.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/ajax_process.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/error.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/passed.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ajax/passed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/bullet_arrow.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/bullet_arrow.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/alabama.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/alabama.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/alaska.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/alaska.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/arizona.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/arizona.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/arkansas.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/arkansas.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/california.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/california.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/colorado.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/colorado.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/connecticut.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/connecticut.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/delaware.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/delaware.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/florida.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/florida.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/georgia.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/georgia.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/hawaii.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/hawaii.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/idaho.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/idaho.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/illinois.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/illinois.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/indiana.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/indiana.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/iowa.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/iowa.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/kansas.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/kansas.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/kentucky.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/kentucky.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/louisiana.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/louisiana.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/maine.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/maine.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/maryland.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/maryland.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/massachusetts.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/massachusetts.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/michigan.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/michigan.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/minnesota.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/minnesota.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/mississippi.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/mississippi.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/missouri.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/missouri.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/montana.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/montana.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/nebraska.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/nebraska.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/nevada.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/nevada.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newhampshire.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newhampshire.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newjersey.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newjersey.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newmexico.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newmexico.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newyork.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/newyork.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/northcarolina.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/northcarolina.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/northdakota.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/northdakota.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/ohio.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/ohio.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/oklahoma.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/oklahoma.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/oregon.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/oregon.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/pennsylvania.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/pennsylvania.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/rhodeisland.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/rhodeisland.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/southcarolina.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/southcarolina.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/southdakota.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/southdakota.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/tennessee.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/tennessee.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/texas.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/texas.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/utah.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/utah.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/vermont.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/vermont.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/virginia.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/virginia.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/washington.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/washington.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/westvirginia.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/westvirginia.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/wisconsin.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/wisconsin.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/wyoming.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/capitals/wyoming.gif
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_AjaxPage.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_AjaxPage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_AjaxPortlet.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_AjaxPortlet.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Bundle.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Bundle.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Calendar.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Calendar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Column.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Column.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ColumnGroup.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ColumnGroup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataDefinitionList.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataDefinitionList.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataFilterSlider.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataFilterSlider.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataGrid.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataGrid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataList.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataList.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataOrderedList.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataOrderedList.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataTable.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataTable.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataTableScroller.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DataTableScroller.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragDropParameter.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragDropParameter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragIndicator.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragIndicator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragSupport.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DragSupport.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DropDownMenu.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DropDownMenu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DropSupport.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_DropSupport.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Effect.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Effect.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_GoogleMap.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_GoogleMap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_HtmlCommandLink.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_HtmlCommandLink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Include.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Include.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_KeepAlive.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_KeepAlive.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Log.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Log.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MediaOutput.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MediaOutput.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuGroup.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuGroup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuItem.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuItem.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuSeparator.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_MenuSeparator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Message.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Message.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Messages.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Messages.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ModalPanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ModalPanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_OutputPanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_OutputPanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Paint2D.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Paint2D.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_PanelBar.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_PanelBar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_PanelMenu.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_PanelMenu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Repeat.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Repeat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Script.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Script.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ScrollableDataGrid.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ScrollableDataGrid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ScrollableDataTable.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ScrollableDataTable.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_SimpleTogglePanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_SimpleTogglePanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Style.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_Style.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_SuggestionBox.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_SuggestionBox.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_TogglePanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_TogglePanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ToolBar.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ToolBar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ToolTip.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ToolTip.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_VirtualEarth.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_VirtualEarth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_actionParameter.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_actionParameter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxAttributes.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxAttributes.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxForm.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxForm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxListener.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxListener.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxRegion.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxRegion.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxSupport.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_ajaxSupport.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_commandButton.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_commandButton.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_commandLink.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_commandLink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_include2.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_include2.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_insert.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_insert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_jQuery.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_jQuery.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_jsFunction.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_jsFunction.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_panel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_panel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_poll.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_poll.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_push.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_push.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_recursiveTreeNodesAdaptor.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_recursiveTreeNodesAdaptor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_separator.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_slider.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_slider.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_spacer.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_spinner.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_spinner.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_status.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_status.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_tabpanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_tabpanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_tree.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_tree.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_treeNodesAdaptor.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/cn_treeNodesAdaptor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/coming_soon.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/coming_soon.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/basket.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/basket.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/bball.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/bball.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/can.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/can.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/dropcan.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/dropcan.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/opencan.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/dnd/opencan.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Calendar.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Calendar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataFilterSlider.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataFilterSlider.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataTable.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataTable.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataTableScroller.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DataTableScroller.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DragIndicator.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DragIndicator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DragSupport.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DragSupport.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DropSupport.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_DropSupport.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_GoogleMap.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_GoogleMap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_ModalPanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_ModalPanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Paint2D.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Paint2D.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_PanelBar.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_PanelBar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_SimpleTogglePanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_SimpleTogglePanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_SuggestionBox.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_SuggestionBox.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_TogglePanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_TogglePanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_ToolBar.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_ToolBar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Tree.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_Tree.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_VirtualEarth.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_VirtualEarth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_common.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_common.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_dropDownMenu.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_dropDownMenu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_panel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_panel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_panelMenu.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_panelMenu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_separator.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_slider.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_slider.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_spacer.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_spinner.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_spinner.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_tabpanel.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/ico_tabpanel.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/menu_bg.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/menu_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/modal/close.png
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/modal/close.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/page_bg.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/page_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/pn_about.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/pn_about.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/pn_aboutDemo.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/pn_aboutDemo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_active_bg.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_active_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_border_bg.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_border_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_unactive_bg.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tab_unactive_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tabpanel_bg.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tabpanel_custom/tabpanel_bg.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/top_nav_bg.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/top_nav_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/disc.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/disc.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/singer.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/singer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/song.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/images/tree/song.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/index.jsp
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/index.jsp	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/index.jsp	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,7 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head></head>
+	<body>
+		<jsp:forward page="/welcome.jsf" />
+	</body>
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/assignTo.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/assignTo.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/assignTo.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+  
+<h:form>
+	<rich:panel>
+		<a4j:commandButton value="Set Name to Alex"  reRender="rep" >
+			<a4j:actionparam name="username" value="Alex" assignTo="#{userBean.name}"/>
+		</a4j:commandButton>
+		<rich:spacer width="20" />
+		<a4j:commandButton value="Set Name to John"  reRender="rep" >
+			<a4j:actionparam name="username" value="John" assignTo="#{userBean.name}"/>
+		</a4j:commandButton>
+	</rich:panel>
+	<rich:panel>
+		<h:outputText id="rep" value="Selected Name:#{userBean.name}"/>
+	</rich:panel>
+</h:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/changeSkin.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/changeSkin.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/changeSkin.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	<h:form>
+		<rich:panel>
+			<f:facet name="header">
+				<h:outputText value="Change Demo Appplication Skin To: "/>
+			</f:facet>
+			<h:commandLink value="DeepMarine">
+				<a4j:actionparam name="skin" value="deepMarine" assignTo="#{skinBean.skin}"/>
+			</h:commandLink>
+			<rich:spacer width="20" />
+			<h:commandLink value="BlueSky" >
+				<a4j:actionparam name="skin" value="blueSky" assignTo="#{skinBean.skin}"/>
+			</h:commandLink>
+		</rich:panel>
+	</h:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/screenSize.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/screenSize.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/examples/screenSize.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,24 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	<h:form>
+			<a4j:commandButton value="Show Screen Size" reRender="infoPanel">
+				<a4j:actionparam name="w" value="screen.width" 
+						assignTo="#{userBean.screenWidth}" noEscape="true" />
+				<a4j:actionparam name="h" value="screen.height"
+						assignTo="#{userBean.screenHeight}" noEscape="true" />
+			</a4j:commandButton>
+	
+		<rich:panel id="infoPanel">
+			<h:panelGrid columns="2">
+				<h:outputText value="Width:" />
+				<h:outputText value="#{userBean.screenWidth}"/>
+				<h:outputText value="Height:" />
+				<h:outputText value="#{userBean.screenHeight}"/>
+			</h:panelGrid>
+		</rich:panel>
+	</h:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<style>
+			 input[type="button"] {
+			 	background-color:#{a4jSkin.trimColor};
+			 }
+			</style>
+			
+			<p>a4j:actionparam is a component that combines together the functionality of f:param and ActionListener. 
+			Additionally to the f:param, this component allows to assign the value to the property of the manager bean
+			directly using the assignTo attribute. 
+			</p>
+			<div class="sample-container">
+				<ui:include src="/richfaces/actionparam/examples/assignTo.xhtml" />
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/actionparam/examples/assignTo.xhtml"/>
+				</ui:include>
+			</div>
+			<p>
+			You can use a4j:param not only with ajax components, but with non-ajax command component also.
+			In the following example, the used skin of the demo is changed when the whole page is refreshed
+			with the regular non-ajax h:commandLink. Using this feature you can update model values without
+			invoking even a single line of java code on the server side.
+			</p>
+			<div class="sample-container">
+
+				<ui:include src="/richfaces/actionparam/examples/changeSkin.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/actionparam/examples/changeSkin.xhtml"/>
+				</ui:include>
+				
+			</div>
+			<p>Attributes 'name' and 'value' are mandatory. You can specify the converter with 'converter' 
+			attribute if you need to convert the value before the model is updates. Note that 
+			the property is assigned with a parameter value on the UPDATE_MODEL phase. Thus, if
+			the validation of the form is failed, this phase will be skipped and the property
+			is not updated.
+			</p>
+			<p>It is possible to use javascript variable of custom function for the 'value' attribute. In this
+			case the 'noEscape' attribute should be set to true. When noEscape="true", the 'value' can contain
+			any javascript expression or javascript function invocation and the result of them will be send 
+			to the server as a value of a4j:actionparam. The following example demonstrates how to assign 
+			the backing bean with browser screen size values.
+			</p>
+			<div class="sample-container">
+				<ui:include src="/richfaces/actionparam/examples/screenSize.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/actionparam/examples/screenSize.xhtml"/>
+				</ui:include>
+			</div>
+
+		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/actionparam.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/actionparam/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/actionparam"/>
+			</ui:include>		
+		</rich:tabPanel>
+
+ </ui:composition >
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/data.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/data.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/data.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1 @@
+<a4j:commandButton value="Update" data="#{userBean.name}" oncomplete="showTheName(data.name)" />

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/eventqueue.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/eventqueue.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/eventqueue.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,3 @@
+<h:inputText value="#{userBean.name}">
+	<a4j:support event="onkeyup" eventsQueue="foo" reRender="bar" />
+</h:inputText>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender1.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender1.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender1.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,3 @@
+<a4j:outputPanel ajaxRendered="true">
+	<h:messages />
+</a4j:outputPanel>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender2.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender2.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender2.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,7 @@
+...
+<a4j:commandButton value="update" reRender="infoBlock"/>
+	....
+<h:panelGrid id="infoBlock">
+	.....
+</h:panelGrid>
+.....
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender3.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender3.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/snippets/reRender3.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+.....
+<h:form id="form1">
+ 	....
+ 	<a4j:commandButton value="Usual Way" reRender="infoBlock, infoBlock2" />
+ 	<a4j:commandButton value="Shortcut" reRender=":infoBlock,:sv:infoBlock2" />
+	.....
+</h:form>
+<h:panelGrid id="infoBlock">
+	.....
+</h:panelGrid>
+.....
+<f:subview id="sv">
+	<h:panelGrid id="infoBlock2">
+	.....
+	</h:panelGrid>
+	.....
+</f:subview>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,235 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<style>
+			.viewsourcepanel {
+				 padding-bottom:0px;
+				 width:100%;
+				 overflow:auto;
+				 border-width:0;
+				 background-color:#FFFFE7;
+			}
+			.viewsourcebody {
+				padding:0;
+			}
+			ol{
+				font-size:12px !important; 
+			}
+		</style>
+
+			<p>This section overviews the attributes that are common for Ajax components
+			such as a4j:support, a4j:commandButton, a4j:jsFunction, a4j:poll, a4j:push and so
+			on. Also, most RichFaces components with built-in Ajax support have these
+			attributes for a similar purpose.
+			</p>
+			<p>
+			Ajax components attributes help RichFaces to expose its features.
+			Most of the attributes have default values. Thus, you can start working with RichFaces
+			without knowing the usage of these attribute. However, their usage allows to
+			tune the required Ajax behavior very smoothly. 
+			</p>
+			<h1 class="hsample">Re-Rendering</h1>
+			<p>
+			<b>reRender</b> is a key attribute. It allows to point to the area(s) on a page that
+			should be updated as a response on Ajax interaction. The value of the reRender
+			attribute is an id of the JSF component or an id list. This is a simple example:
+            </p>
+		
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert src="/richfaces/ajaxAttributes/snippets/reRender2.xhtml" highlight="xhtml"></rich:insert>
+			</rich:panel>	 
+			<p>
+			reRender uses <a target="_blank" href="http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/javax/faces/component/UIComponent.html#findComponent(java.lang.String)">
+			UIComponent.findComponent()</a> algorithm (with some additional exceptions)
+			to find the component in the component tree. As you see, the algorithm presumes
+			several steps. Each other step is used if the previous step is not successful.
+			Therefore, you can define how fast the component is
+			found mentioning it more precisely. The following example shows the difference
+			in approaches (both buttons will work successfully):
+            </p>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert src="/richfaces/ajaxAttributes/snippets/reRender3.xhtml" highlight="xhtml"></rich:insert>
+			</rich:panel>	 
+			<p>
+				You can use JSF EL expression as a value of the reRender attribute. It might be a property of
+				types Set, Collection, Array or simple String. The EL for reRender is resolved right before the
+				Render Response phase. Hence, you can calculate what should be re-rendered on any previous
+				phase during the Ajax request processing.
+			</p>
+			<p>Most common problem with using reRender is pointing it to the component that has a
+			'rendered' attribute. Note, that JSF does not mark the place in the browser DOM where the outcome
+			of the component should be placed in case the 'rendered' condition returns false.  Therefore,
+			after the component becomes rendered during the Ajax request, RichFaces delivers the rendered
+			code to the client, but does not update a page, because the place for update is unknown.
+			You need to point to one of the parent components that has no 'rendered' attribute. As an
+			alternative, you can wrap the component with a4j:outputPanel layout="none". 
+			</p>
+			<p>
+				<b>ajaxRendered</b> attribute of the a4j:outputPanel set to true allows to define the
+				area of the page that will be re-rendered even if it is not pointed in the reRender attribute
+				explicitly. It might be useful if you have an area on a page that should be updated as a
+				response on any Ajax request. For example, the following code allows to output error 
+				messages regardless of what Ajax request causes the Validation phase failed.
+			</p>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert src="/richfaces/ajaxAttributes/snippets/reRender1.xhtml" highlight="xhtml"></rich:insert>
+			</rich:panel>	
+			<p>
+			<b>limitToList</b> attribute allows to dismiss the behavior of the a4j:outputPanel ajaxRendered
+			attribute. limitToList = "true" means to update only the area(s) that mentioned in the
+			reRender attribute explicitly. All output panels with ajaxRendered="true" will be ignored.
+			</p>
+			<h1 class="hsample">Queue and Traffic Flood Protection</h1>
+			<p>
+			<b>eventsQueue</b> attribute defines the name of the queue that will be used to order upcoming Ajax
+			requests. By default, RichFaces does not queue Ajax requests. If events are produced
+			simultaneously, they will come to the server simultaneously. JSF implementations 
+			(especially, the very first ones) does not guaranty that the request that comes first will be
+			served or passed into the JSF lifecycle first. The order how the server side data
+			will be modified in case of simultaneous request might be unpredictable. 
+			Usage of eventsQueue attribute allows to avoid possible mess. Define the queue name explicitly,
+			if you expect intensive Ajax traffic in your application.
+			</p>
+			<p>
+			The next request posted in the same queue will wait until the previos one is not 
+			processed and Ajax Response is returned back if the eventsQueue attribute is defined. In
+			addition, Richfaces starts to remove from the queue 'similar' requests. 'Similar' requests are
+			the requests produced by the same event. For example, according to the following code, 
+			only the newest request will be sent to the server if a user types very fast and has typed 
+			the several characters already before the previous Ajax Response is back.
+			</p>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert src="/richfaces/ajaxAttributes/snippets/eventqueue.xhtml" highlight="xhtml"></rich:insert>
+			</rich:panel>	
+			<p><b>requestDelay</b> attribute defines the time (in ms.) that the request will be wait in
+			the queue before it is ready to send. When the delay time is over, the request will be 
+			sent to the server or removed if the newest 'similar' request is in a queue already .
+			</p>
+			<p><b>ignoreDupResponses</b> attribute orders to ignore the Ajax Response produced by the
+			request if the newest 'similar' request is in a queue already. ignoreDupResponses="true"
+			does not cancel the request while it is processed on the server, but just allows to
+			avoid unnecessary updates on the client side if the response loses the actuality.
+			</p>
+			<p>Defining the eventsQueue along with requestDelay allows to protect against unnecessary 
+			traffic flood and synchronizes Ajax requests order. If you have several sources of
+			Ajax requests, you can define the same queue name there. This might be very helpful if
+			you have Ajax components that invoke request asynchronously from the ones produced by 
+			events from users. For example a4j:poll or a4j:push. In case the requests from such
+			components modify the same data, the synchronization might be very helpful.</p>
+			
+			<h1 class="hsample">Data Processing Options</h1>
+			<p>RichFaces uses form based approach for Ajax request sending. This means each time, when a
+			user click an Ajax button or a4j:poll produces an asynchronous request, the data from the closest 
+			JSF form is submitted with the XMLHTTPRequest object. The form data contains the values
+			from the form input element and auxiliary information such as state saving data</p>
+			<p>
+			When <b>ajaxSingle</b> attribute is equal true, it orders to include only a value of the
+			current component (along with f:param or a4j:action param values if any) to the request
+			map. In case of a4j:support, it will be a value of the parent component.
+			</p>
+			<p> Note, that ajaxSingle="true" reduces the upcoming traffic, but does not 
+			prevent decoding other input components on the server side. Some JSF components,
+			 such as h:selectOneMenu do recognize the missing data in the request map value as
+			 a null value and try to pass the validation process with a failed result. Thus, 
+			 use a4j:region to limit a part of the component tree that will be processed
+			 on the server side when it is required.
+			</p>
+			<p><b>immediate</b> attribute has the same purpose as any other non-JSF component.
+			The default ActionListener should be executed immediately (i.e. during the Apply Request
+			Values phase of a request processing lifecycle), rather than waiting until the
+			Invoke Application phase. Using immediate="true" is one of the ways to have some 
+			data model values updated when other cannot be updated because of a problem with
+			passing the Validation phase successfully. This might be important inside the 
+			h:dataTable like components where using a4j:region is impossible due to the
+			h:dataTable component architecture.
+			</p>
+			<p><b>bypassUpdates</b> attribute allows to bypass the Update Model phase. It 
+			might be useful if you need to check user input against the available validator,
+			but not to update the model with those data. Note, that an action will be invoked
+			at the end of the Validation phase only if the Validation phase is passed successfully.
+			The listeners of the Application phase will not be invoked in any case.
+			</p>
+			<h1 class="hsample">Action and Navigation</h1>
+			<p>Ajax component is similar to any other non-Ajax JSF component like h:commandButton. It
+			allows to submit the form. You can use action and actionListener attribute to invoke
+			the action method and define the action event.
+			</p>
+			<p>
+			<b>action</b> method must return null if you want to have an Ajax Response with a partual page
+			update. This is regular mode called "Ajax request generates Ajax Response". In case of
+			action does not return null, but the action outcome that matches one of navigation rules, RichFaces
+			starts to work in "Ajax request generates Non-Ajax Response" mode.
+			This mode might be helpful in two major cases:
+            </p>
+            <ol>
+			<li>RichFaces allows to organize a page flow inside the a4j:include component. This is a typical
+			scenario for Wizard like behavior. The new content is rendered inside the a4j:include area. The
+			content is taken from the navigation rule of the faces configuration file (usually, the faces-config.xml).
+			Note, that the content of the "wizard" is not isolated from the rest of the page. The included 
+			page should not have own f:view (it does not matter if you use facelets). You need to have an
+			Ajax component inside the a4j:include to navigate between the wizard pages. Otherwize, the whole 
+			page update will be performed.
+			</li>
+			<li>If you want to involve the server side validators and navigate to the next page only if
+			the Validation phase is passed successfully, you can replace h:commandButton with a4j:commandButton
+			and point to the action method that navigates to the next page. If Validation process fails, 
+			the partial page update will occur and a user will see an error message. Otherwize, the application
+			proceeds to the next page. Make sure, you define &lt;redirect /&gt; option for the navigation rule to
+			avoid memory leaks.
+			</li>
+			</ol>
+		    <h1 class="hsample">Javascript Interactions</h1>
+            <p>
+                RichFaces allows writing Ajax-enabled JSF application without writing any Javascript code.
+				However, you can still invoke the javascript code if you need. There are several ajax
+				attributes that helps to do it.
+			</p>
+			<p>
+				<b>onsubmit</b> attribute allows to invoke javascript code before an Ajax request is
+				sent. If 'onsubmit' returns false, the Ajax request is canceled. The code of 'onsubmit'
+				is inserted before the RichFaces Ajax call. Hence, the 'onsubmit' should not has a 'return'
+				statement if you want the Ajax request to be sent. If you are going to invoke a javscript
+				function that returns true or false, use the conditional statement to return something only
+				when you need to cancel the request. For example, onsubmit="if (mynosendfunct()==false){return false}".
+			</p>
+			<p>
+				<b>onclick</b> attribute is similar to the 'onsubmit', but for clickable components such
+				as a4j:commandLink and a4j:commandButton. If it returns false, the Ajax request is canceled also.
+			</p>
+			<p>
+				<b>oncomplete</b> attribute allows to invoke the javascript code right after the
+				Ajax Response is returned back and the DOM tree of the browser is updated. Richfaces
+				registers the code for further invocation of XMLHTTP request object before an Ajax
+				request is sent. This means the code will not be changed during processing of
+				the request on the server if you use JSF EL value binding. Also, you cannot use
+				'this' inside the code, because it will not point the component where Ajax request
+				was initiated.
+			</p>
+			<p>
+				<b>data</b> attribute allows to get the additional data from the server during an
+				Ajax call. You can use JSF EL to point the property of the managed bean and its value
+				will be serialized in JSON format and be available on the client side. You can refer
+				to it using the 'data' variable. For example:
+			</p>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert src="/richfaces/ajaxAttributes/snippets/data.xhtml" highlight="xhtml"></rich:insert>
+			</rich:panel>	 
+			<p>
+				Richfaces allows to serialize not only primitive types into JSON format, but also complex
+				types including arrays and collections. The beans should be serializable to be refered
+				with 'data'.
+			</p>
+
+
+		</ui:define>
+		<ui:define name="sources">
+			<span style="display:none"/>
+		</ui:define>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxAttributes.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,14 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Attributes</ui:define>
+	<!--ui:define name="body"-->
+
+				<ui:include src="/richfaces/ajaxAttributes/usage.xhtml"/>
+	<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+    "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="GNU source-highlight 2.1.2
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite">
+<title>usage.xhtml</title>
+<link rel="stylesheet" href="../../../css\xhtml-source.css" type="text/css">
+</head>
+<body>
+<pre><tt><span class="normal">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</span>
+<span class="keyword">&lt;html</span><span class="normal"> </span><span class="type">xmlns</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://www.w3.org/1999/xhtml</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:ui</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://java.sun.com/jsf/facelets</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:h</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://java.sun.com/jsf/html</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:f</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://java.sun.com/jsf/core</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:a4j</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://richfaces.org/a4j</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:rich</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://richfaces.ajax4jsf.org/rich</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;ui:composition</span><span class="normal"> </span><span class="type">template</span><span class="symbol">=</span><span class="string">"</span><span class="string">/templates/component-sample.xhtml</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;ui:define</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">sample</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;p&gt;</span>
+<span class="normal">				Additionally to the listeners provided by JSF specification, RichFaces add one more:</span>
+<span class="normal">				Ajax Listener (a4j:ajaxListener). Ajax Listener is invoked before the Render Response</span>
+<span class="normal">				phase. Instead of Action Listener of Value Change Listener which are not invoked when</span>
+<span class="normal">				Validation of Update Model phases failed, Ajax Listener is guarantied to be invoked</span>
+<span class="normal">				for each Ajax response. Hence, it is a good place to update the list of re-rendered</span>
+<span class="normal">				components, for example.</span>
+<span class="normal">			</span><span class="keyword">&lt;/p&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;p&gt;</span>
+<span class="normal">				Ajax Listener is not invoked for a non-Ajax request and when RichFaces works in</span>
+<span class="normal">				"Ajax Request generates Non-Ajax Response" mode. Therefore, Ajax Listener invocation</span>
+<span class="normal">				is a good indicator that Ajax response is going to be processed.</span>
+<span class="normal">			</span><span class="keyword">&lt;/p&gt;</span>
+<span class="normal">			</span>
+<span class="normal">			</span><span class="keyword">&lt;p&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;b&gt;</span><span class="normal">type</span><span class="keyword">&lt;/b&gt;</span><span class="normal"> attribute defines the fully qualified Java class name for listener. This</span>
+<span class="normal">				class should implement org.ajax4jsf.events.AjaxListener interface. You can access to</span>
+<span class="normal">				the source of the event (Ajax component) using event.getSource() call.</span>
+<span class="normal">			</span><span class="keyword">&lt;/p&gt;</span>
+<span class="normal">			</span>
+
+<span class="normal">			</span>
+<span class="normal">		</span><span class="keyword">&lt;/ui:define&gt;</span>
+
+<span class="normal">	</span><span class="keyword">&lt;/ui:composition&gt;</span>
+<span class="keyword">&lt;/html&gt;</span>
+</tt></pre>
+</body>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<p>
+				Additionally to the listeners provided by the JSF specification, RichFaces adds one more:
+				Ajax Listener (a4j:ajaxListener). Ajax Listener is invoked before the Render Response
+				phase. Instead of Action Listener or Value Change Listener which is not invoked when
+				Validation of the Update Model phases fails, Ajax Listener is guarantied to be invoked
+				for each Ajax Response. Hence, it is a good way to update a list of re-rendered
+				components, for example.
+			</p>
+			<p>
+				Ajax Listener is not invoked for a non-Ajax request and when RichFaces works in
+				"Ajax request generates Non-Ajax Response" mode. Therefore, Ajax Listener invocation
+				is a good indicator that Ajax Response is going to be processed.
+			</p>
+			
+			<p>
+				<b>type</b> attribute defines the fully qualified Java class name for the listener. This
+				class should implement org.ajax4jsf.events.AjaxListener interface. You can access to
+				the source of the event (Ajax component) using event.getSource() call.
+			</p>
+			
+
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/ajaxListener.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Listener</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/ajaxListener/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/ajaxListener"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1 @@
+TODO: source should be added
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/source/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1 @@
+x
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+    "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="GNU source-highlight 2.1.2
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite">
+<title>usage.xhtml</title>
+<link rel="stylesheet" href="../../../css\xhtml-source.css" type="text/css">
+</head>
+<body>
+<pre><tt><span class="normal">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;</span>
+<span class="keyword">&lt;html</span><span class="normal"> </span><span class="type">xmlns</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://www.w3.org/1999/xhtml</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:ui</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://java.sun.com/jsf/facelets</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:h</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://java.sun.com/jsf/html</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:f</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://java.sun.com/jsf/core</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:a4j</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://richfaces.org/a4j</span><span class="string">"</span>
+<span class="normal">	</span><span class="type">xmlns:rich</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://richfaces.ajax4jsf.org/rich</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;ui:composition</span><span class="normal"> </span><span class="type">template</span><span class="symbol">=</span><span class="string">"</span><span class="string">/templates/component-sample.xhtml</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;ui:define</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">sample</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">			</span>
+<span class="normal">			</span><span class="keyword">&lt;p&gt;</span><span class="normal">a4j:loadBundle allows to use reference to bundle messages during the Ajax re-rendering.</span>
+<span class="normal">			a4j:loadBundle is a substitute for the f:loadBundle in JSF 1.1 which is not a JSF component originally.</span>
+<span class="normal">			f:loadBundle is a jsp tag that load the bundle messages into the request scope when page is</span>
+<span class="normal">			rendered. As soon as each Ajax request works in own request scope, the bundles loaded with</span>
+<span class="normal">			f:loadBundle are unavailable.</span>
+<span class="normal">			</span><span class="keyword">&lt;/p&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;p&gt;</span><span class="normal">Instead of f:loadBundle that might be located anywhere on the page, the a4j:loadBundle </span>
+<span class="normal">			should be declared inside the f:view (this does not matter in case on using Facelets)</span>
+<span class="normal">			</span><span class="keyword">&lt;/p&gt;</span>
+
+<span class="normal">			</span><span class="keyword">&lt;p&gt;</span><span class="normal">JSF 1.2 introduces the bundle registered in the faces-config.xml. This fixed the problem</span>
+<span class="normal">			 with f:loadBundle. Therefore, you can use this JSF 1.2 way to declare your bundles.</span>
+<span class="normal">			</span><span class="keyword">&lt;/p&gt;</span>
+<span class="normal">			</span>
+<span class="normal">		</span><span class="keyword">&lt;/ui:define&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;ui:define</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">sources</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;h:panelGroup</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;/ui:define&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;/ui:composition&gt;</span>
+<span class="keyword">&lt;/html&gt;</span>
+</tt></pre>
+</body>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>a4j:loadBundle allows to use reference to bundle messages during the Ajax re-rendering.
+			a4j:loadBundle is a substitution for the f:loadBundle in JSF 1.1 which is not originally a JSF component.
+			f:loadBundle is a jsp tag that loads the bundle messages into the request scope when page is
+			rendered. As soon as each Ajax request works in own request scope, the bundles loaded with
+			f:loadBundle are unavailable.
+			</p>
+			<p>Instead of f:loadBundle that might be located anywhere on the page, the a4j:loadBundle 
+			should be declared inside the f:view (this does not matter in case of using Facelets)
+			</p>
+
+			<p>JSF 1.2 introduces the bundle registered in the faces-config.xml. This fixes the problem
+			 with f:loadBundle. Therefore, you can use this JSF 1.2 way to declare your bundles.
+			</p>
+			
+		</ui:define>
+		<ui:define name="sources">
+			<h:panelGroup />
+		</ui:define>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/bundle.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Load Bundle</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/bundle/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/loadBundle"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/calSample.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/calSample.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/calSample.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,53 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<style type="text/css">
+		.ecol1 { width:250px; vertical-align: top; }
+		.ecol2 { vertical-align: top; border-left:1px solid #CCC; }
+	</style>
+
+	<h:form>
+
+		<h:panelGrid id="panel" columns="2"  width="100%" columnClasses="ecol1, ecol2">
+			<a4j:outputPanel id="calendar" layout="block">
+					<rich:calendar value="#{calendarBean.selectedDate}"
+						locale="#{calendarBean.locale}"
+						popup="#{calendarBean.popup}"
+						datePattern="#{calendarBean.pattern}"
+					 />
+			</a4j:outputPanel>
+		
+		
+			<h:panelGrid columns="2">
+				<h:outputText value="Popup Mode:" />
+				<h:selectBooleanCheckbox value="#{calendarBean.popup}">
+					<a4j:support event="onclick"  reRender="calendar"/>						
+				</h:selectBooleanCheckbox>
+					
+				<h:outputText value="Select Locale" />
+				<h:selectOneRadio value="en/US" valueChangeListener="#{calendarBean.selectLocale}">
+					<a4j:support event="onclick" reRender="calendar"/>
+					<f:selectItem itemLabel="US" itemValue="en/US"/>
+					<f:selectItem itemLabel="DE" itemValue="de/DE"/>
+					<f:selectItem itemLabel="FR" itemValue="fr/FR"/>
+					<f:selectItem itemLabel="RU" itemValue="ru/RU"/>
+				</h:selectOneRadio>	
+
+				<h:outputText value="Select Date Pattern:"/>
+				<h:selectOneMenu value="#{calendarBean.pattern}">
+					<a4j:support event="onchange" reRender="calendar"/>
+					<f:selectItem itemLabel="d/M/yy" itemValue="d/M/yy"/>
+					<f:selectItem itemLabel="dd/M/yy" itemValue="dd/M/yy"/>
+					<f:selectItem itemLabel="d/MMM/y" itemValue="d/MMM/y"/>
+					<f:selectItem itemLabel="MMM d, yyyy" itemValue="MMM d, yyyy"/>												
+				</h:selectOneMenu>
+				
+			</h:panelGrid>	
+	
+		</h:panelGrid>
+	</h:form>	
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/reRender2.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/reRender2.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/examples/reRender2.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,7 @@
+...
+<a4j:commandButton value="update" reRender="infoBlock"/>
+	....
+<h:panelGrid id="<b>infoBlock</b>">
+	.....
+</h:panelGrid>
+.....
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/jsAPI.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/jsAPI.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/jsAPI.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,92 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+	<p>
+	Calendar object JavaScript API supports the following calls:
+	<ul>
+		<li>
+			<b>getCurrentDate()</b>	returns the full date currently being viewed
+		</li>
+		<li>
+			<b>getCurrentMonth(asMonthLabel)</b> returns a number of the month currently being viewed(for <b>asMonthLabel</b> true - returns month as its label)
+		</li>
+		<li>
+			<b>getCurrentYear()</b>	returns a number of the year currently being viewed
+		</li>
+		<li>
+			<b>changeCurrentDate(yearOffset, monthOffset)</b> sets a new current month to be displayed.
+		</li>
+		<li>
+			<b>doCollapse(), doExpand()</b> collapse or expand the calendar in a popup mode.
+		</li>
+		<li>
+			<b>doSwitch()</b> inverts a state for the popup calendar.
+		</li>
+		<li>
+			<b>getNextMonth(asMonthLabel), getPreviousMonth(asMonthLabel)</b> returns the previous and next month for the currently being viewed one.
+		</li>
+		<li>
+			<b>getNextYear, getPreviousYear</b> returns the previous and next years for the currently being viewed one.
+		</li>
+		<li>
+			<b>getSelectedDate(), getSelectedDateString(pattern)</b> returns the currently selected date as date or as String. In case of empty pattern, it is returned in the current locale pattern.  
+		</li>
+		<li>
+			<b>nextMonth()</b>	navigates to the next month
+		</li>
+		<li>
+			<b>nextYear()</b>	navigates to the next year
+		</li>
+		<li>
+			<b>prevMonth()</b>	navigates to the previous month 
+		</li>
+		<li>
+			<b>prevYear()</b>	navigates to the previous year
+		</li>
+		<li>
+			<b>render(), renderFooter(), renderOptionalFooter(), renderHeader(), renderOptionalHeader()</b> - functions to initiate cliend side rendering of the calendar or additional elements.
+			
+		</li>
+		<li>
+			<b>resetSelectedDate()</b> - clears a selected day value.
+		</li>
+		<li>
+			<b>selectDate(date, noUpdate, eventData)</b>	selects the date specified.  If the date isn't in the current
+		 month, performs a request to select some. if noUpdate is true, a request isn't fired for data, only client side rendering is invoked.  
+		 </li>
+		 <li>
+		 	<b>showSelectedDate()</b> switch calendar to show currently selected date.
+		 </li>
+		 <li>
+		 	<b>today(noUpdate, noHighlight)</b> switch calendar to todayDate. If parameters - true, request will not be fired to switch, and additional highlighting will be off.  
+		 </li>
+	</ul>
+	</p>
+	<p>
+		You can access the calendar object using <code>$(calendar_client_id).component</code>
+		call from 		any place outside of the component itself.
+	</p>
+		
+	<p>	 <dl><dt>If you develop the macrodefinition for the calendar object, you can use:</dt>
+		<dd><code>Richfaces.getComponent('calendar',element).api_function_name(parameters)</code></dd>
+		<dt>For example, the following call is
+		used on the "Next Year" button on the popup calendar panel:</dt>
+		<dd><code>Richfaces.getComponent('calendar',this).nextYear(); </code></dd>
+		 The second parameter 
+		is an element inside the calendar. Richfaces.invokeOnComponent tries to find
+		the component in the parents hierarchy with type specified with the first parameter and
+		invokes the function defined with the third parameter.
+		</dl>
+	</p>					
+						
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/model.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/model.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/model.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+		<p>Calendar may use a special Data Model to provide data for
+		element rendering. You can re-define the default Calendar Model using
+		the <b>dataModel</b> attribute pointed to the object that implements
+		CalendarDataModel interface.</p>
+		<p>CalendarDataModel has the following methods:
+		<ul>
+			<li><b>CalendarDataModelItem[] getData(Date[]) </b> is called
+			every time when components need the next block of CalendarDataItems.
+			That may happens when the calendar is rendered, or when you navigate to the
+			next/previous month or in any other case when the calendar is rendered. This
+			method is called in an Ajax mode when the calendar renders a new page.</li>
+			<li><b>Object getToolTip(Date)</b> is used when tool tips are
+			displayed in "single" mode.</li>
+		</ul>
+		</p>
+		<p>CalendarDataModelItem provides the following methods:
+		<ul>
+			<li><b>Boolean isEnabled()</b> returns true if date is
+			"selectable" on the calendar, the default implementation returns true</li>
+			<li><b>String getStyleClass()</b> returns String that is
+			appended to a style class for the date span. For example it may be
+			"relevant holiday" that mean a class lools like "rich-cal-day
+			relevant holiday". The default implementation returns an empty string.</li>
+			<li><b>Object getData()</b> returns any additional payload that
+			must be a JSON-serializable object. It may be used in the custom date
+			representation on the calendar (inside the custom facet).</li>
+			<li><b>Boolean hasToolTip()</b> returns true if the given date has
+			an associated one with it tooltip data. The default implementation returns
+			false.</li>
+			<li><b>Object getToolTip()</b> returns tool tip data that is used in a "batch" tooltip loading mode.</li>
+		</ul>
+		</p>
+		<p>
+			<b>Note: </b><i>Tooltips and date disablement isn't supported in the current implementation on the client side. It will be implemented in the next releases.</i>
+		</p>
+
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>
+				rich:calendar allows to select the date using monthly calendar elements on pages.
+				It is possible to use the component in a popup and inline code. At a popup mode Calendar 
+				is initially rendered as input for date and button on the right side to call a popup. 
+				In case of an inline mode, the monthly calendar is located on a page initially.
+			 </p>
+			
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/calendar/examples/calSample.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/calendar/examples/calSample.xhtml"/>
+				</ui:include>
+													
+			</div>
+			<p>
+			<b>locale</b> attribute is defined as a Locale. The default value is set to the Locale of the current page.
+			The name of the month and week days names depend of the Locale. 
+			</p>
+						
+			<p>
+			<b>popup</b> attribute is a flag that directs to the calendar mode. If true, the popup mode is used.
+			Otherwise, the inline mode is set.
+			</p>
+						
+			<p>
+			<b>showInput</b> attribute defines whether the input field should be rendered in a popup mode. If
+			set to false, only the button (calendar icon) appears on the page.
+			</p>
+						
+			<p>
+			<b>enableManualInput</b> attribute allows to input the date in a text field manually.
+			The default value is false. It means a user can only select the date from the calendar element.
+			</p>
+						
+						
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/calendar.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Rich Calendar</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/calendar/usage.xhtml"/>
+			</rich:tab>			
+			<rich:tab label="Calendar Model">
+				<ui:include src="/richfaces/calendar/model.xhtml"/>
+			</rich:tab>				
+			<rich:tab label="Client Side API">
+				<ui:include src="/richfaces/calendar/jsAPI.xhtml"/>
+			</rich:tab>				
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/calendar"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/comingSoon.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/comingSoon.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/comingSoon.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components</ui:define>
+	<!--ui:define name="body"-->
+		<div id="coming" style="display:none">
+		<div style="text-align:center"><h:graphicImage value="/images/coming_soon.gif" />
+		</div>
+		<p>The demo example development for this component is in progress. You can see
+		the documentations for it using the links that located right above the left side
+		menu.<br/>
+		If you still have questions how to use the component in right way, ask your
+		questions at JBoss RichFaces forum at:<br />
+		<a target="_blank" href="http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261">
+		http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261</a>
+		</p>
+		</div>
+		<rich:effect event="load" for="window" type="Appear" params="targetId:'coming',duration:1.0,from:0.4,to:1.0" />
+		
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/examples/sayHello.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/examples/sayHello.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/examples/sayHello.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,24 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1" />
+	
+	<a4j:form>
+		<h:panelGrid columns="3">
+			<h:outputText value="Name:" />
+			<h:inputText value="#{userBean.name}" />
+			<a4j:commandButton value="Say Hello" reRender="out" />
+		</h:panelGrid>
+	</a4j:form>
+	<h:panelGroup id="out">
+		<h:outputText value="Hello " rendered="#{not empty userBean.name}" />
+		<h:outputText value="#{userBean.name}" />
+		<h:outputText value="!" rendered="#{not empty userBean.name}" />
+	</h:panelGroup>
+	
+	<rich:separator height="1" style="padding-top:10px" />
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>
+			a4j:commandButton is similar to the standard h:commandButton, but produces an
+			Ajax request with a further partial page update. 'reRender' attribute points to the
+			component(s) that should be re-rendered in the component tree and updated
+			in the browser DOM after an Ajax Response is completed.
+			</p>
+			
+			<p>
+				The following example shows how the greeting message is shown on the screen 
+				without refreshing the entire page:
+			</p>
+			
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/commandButton/examples/sayHello.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/commandButton/examples/sayHello.xhtml"/>
+				</ui:include>			
+										
+			</div>
+			<p>
+				For additional information about attributes of this compponent read
+				<a href="#{facesContext.externalContext.requestContextPath}/richfaces/ajaxAttributes.jsf?c=ajaxattributes">
+					<h:outputText value="'Ajax Attribute' section" />
+				</a>.
+			</p>			
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandButton.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Button</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/commandButton/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/commandButton"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/examples/sayHello.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/examples/sayHello.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/examples/sayHello.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1" />
+	
+	<a4j:form>
+		<h:panelGrid columns="3">
+			<h:outputText value="Name:" />
+			<h:inputText value="#{userBean.name}" />
+			<a4j:commandLink reRender="out">
+				<h:outputText value="Say Hello" /> 
+			</a4j:commandLink>
+		</h:panelGrid>
+	</a4j:form>
+	<h:panelGroup id="out">
+		<h:outputText value="Hello " rendered="#{not empty userBean.name}" />
+		<h:outputText value="#{userBean.name}" />
+		<h:outputText value="!" rendered="#{not empty userBean.name}" />
+	</h:panelGroup>
+	
+	<rich:separator height="1" style="padding-top:10px" />
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>
+			a4j:commandLink is similar to the standard h:commandLink, but produces an
+			Ajax request with further partial page update. 'reRender' attribute point to the
+			component(s) that should be re-rendered in the component tree and updated
+			in the browser DOM after the Ajax Response is complete.
+			</p>
+			
+			<p>
+				The following example shows how the greeting message is shown on the screen 
+				without refreshing the entire page:
+			</p>
+			
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/commandLink/examples/sayHello.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/commandLink/examples/sayHello.xhtml"/>
+				</ui:include>						
+			</div>
+			<p>
+				For additional information about attributes of this component read
+				<a href="#{facesContext.externalContext.requestContextPath}/richfaces/ajaxAttributes.jsf?c=ajaxattributes">
+					<h:outputText value="'Ajax Attribute' section" />
+				</a>.
+			</p>			
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/commandLink.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Link</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/commandLink/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/commandLink"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/examples/filterData.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/examples/filterData.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/examples/filterData.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,98 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<style>
+			.rich-table-firstrow  .rich-table-cell{
+			  border-top-width:0px;
+			}
+	</style>
+
+	<a4j:form id="form1"
+		reRender="list-body" ajaxSubmit="true" ignoreDupResponses="true"
+		requestDelay="500">
+
+		<a4j:region id="stat1">
+
+			<a4j:outputPanel id="slider-body">
+
+				<rich:dataFilterSlider sliderListener="#{dfsBean.doSlide}"
+					binding="#{inventoryList.dataFilterSlider}" for="carList"
+					forValRef="inventoryList.carInventory" filterBy="getMileage"
+					manualInput="true" onSlide="true" onChange="true"
+					storeResults="true" trackStyleClass="track" width="200px"
+					styleClass="slider-container" startRange="10000" endRange="60000"
+					increment="10000" rangeStyleClass="range" trailer="true"
+					trailerStyleClass="trailer" handleStyleClass="handle"
+					handleValue="1" id="slider_1"></rich:dataFilterSlider>
+
+			</a4j:outputPanel>
+
+			<rich:spacer height="15" />
+
+			<a4j:outputPanel id="list-body">
+				<h:dataTable id="carIndex" rows="10"
+					binding="#{inventoryList.carMakeIndexUIData}"
+					value="#{inventoryList.carMakeIndex}" var="category"
+					styleClass="list-table1" columnClasses="column-index"
+					rowClasses="list-row3">
+
+					<h:column>
+						<a4j:commandLink actionListener="#{inventoryList.filterCarList}"
+							reRender="carList">
+							<h:outputText value="#{category}" />
+							<f:attribute name="filterRule" value="showTable" />
+
+						</a4j:commandLink>
+					</h:column>
+
+				</h:dataTable>
+				<rich:spacer height="15" />
+
+				<rich:dataTable width="300" id="carList" rows="10"
+					value="#{inventoryList.carInventory}" var="category">
+					<f:facet name="header">
+						<rich:columnGroup>
+							<h:column>
+								<h:outputText styleClass="headerText" value="Make" />
+							</h:column>
+							<h:column>
+								<h:outputText styleClass="headerText" value="Model" />
+							</h:column>
+							<h:column>
+								<h:outputText styleClass="headerText" value="Price" />
+							</h:column>
+							<h:column>
+								<h:outputText styleClass="headerText" value="Mileage" />
+							</h:column>
+						</rich:columnGroup>
+					</f:facet>
+
+					<h:column>
+						<h:outputText value="#{category.make}" />
+					</h:column>
+					<h:column>
+						<h:outputText value="#{category.model}" />
+					</h:column>
+					<h:column>
+						<h:outputText value="#{category.price}" />
+					</h:column>
+					<h:column>
+						<h:outputText value="#{category.mileage}" />
+					</h:column>
+
+				</rich:dataTable>
+
+			</a4j:outputPanel>
+
+			<rich:spacer height="15" />
+
+
+		</a4j:region>
+
+	</a4j:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+		<p>The Slider component can be used to filter any UIData object or
+		can be used independently to send its values to the backing bean. It
+		has 2 modes, the first mode stores the UIData object on session, so as user interaction will work smoothly. The second just sends the
+		previous and new values as a "sliderEvent" to the backing bean.</p>
+
+		<div class="sample-container">
+			<ui:include src="/richfaces/dataFilterSlider/examples/filterData.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/dataFilterSlider/examples/filterData.xhtml"/>
+			</ui:include>			
+
+		</div>
+	</ui:define>
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataFilterSlider.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Data FIlter Slider</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dataFilterSlider/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dataFilterSlider"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/examples/form.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/examples/form.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/examples/form.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,39 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+<style>
+.label{
+font-weight:bold;
+}
+</style>
+	<rich:panel>
+		<f:facet name="header">
+			<h:outputText value="Car Store"></h:outputText>
+		</f:facet>
+		<h:form>
+		<rich:dataGrid value="#{dataTableScrollerBean.allCars}" var="car" columns="4" elements="12">
+			<rich:panel>
+				<f:facet name="header">
+					<h:outputText value="#{car.make} #{car.model}"></h:outputText>
+				</f:facet>
+				<h:panelGrid columns="2">
+					<h:outputText value="Price:" styleClass="label"></h:outputText>
+					<h:outputText value="#{car.price}" />
+					<h:outputText value="Mileage:" styleClass="label"></h:outputText>
+					<h:outputText value="#{car.mileage}" />
+					<h:outputText value="VIN:" styleClass="label"></h:outputText>
+					<h:outputText value="#{car.vin}" />
+					<h:outputText value="Stock:" styleClass="label"></h:outputText>
+					<h:outputText value="#{car.stock}" />
+				</h:panelGrid>
+			</rich:panel>
+			<f:facet name="footer">
+				<rich:datascroller></rich:datascroller>
+			</f:facet>
+		</rich:dataGrid>
+		</h:form>
+	</rich:panel>		
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+
+			
+			<p>The component takes a list from a model and outputs it the same way as with 
+			&lt;h:PanelGrid&gt; for inline data. To define grid properties and styles, use the same 
+			definitions as for &lt;h:panelGrid&gt;.<br />
+			The following example shows the dataGrid component in use:
+			</p>
+			
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/dataGrid/examples/form.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dataGrid/examples/form.xhtml"/>
+				</ui:include>				
+			
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataGrid.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Data Grid</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dataGrid/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dataGrid"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/examples/lists.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/examples/lists.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/examples/lists.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,24 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+<style>
+.label{
+font-weight:bold;
+}
+</style>
+		<h:form>
+		<rich:dataList var="car" value="#{dataTableScrollerBean.allCars}" rows="10">
+			<h:outputText value="#{car.make} #{car.model}"/><br/>
+			<h:outputText value="Price:" styleClass="label"></h:outputText>
+			<h:outputText value="#{car.price} " />
+			<h:outputText value="Mileage:" styleClass="label"></h:outputText>
+			<h:outputText value="#{car.mileage} " />
+			<h:outputText value="VIN:" styleClass="label"></h:outputText> 
+			<h:outputText value="#{car.vin}" />
+		</rich:dataList>
+		</h:form>
+</ui:composition>  
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+
+			
+			<p>Data Lists components allows to generate  DL, DT and DD lists using lists 
+			 from the model bean.
+			<br />
+			The following example shows the dataList component in use. Two another components could be used in the same way.
+			</p>
+			
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/dataLists/examples/lists.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dataLists/examples/lists.xhtml"/>
+				</ui:include>				
+			
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataLists.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Data Lists</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dataLists/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dataList"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/extendedDataModel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,69 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+      			
+      			<style type="text/css">
+	      			.rich-message-label {
+	      				color:red;
+	      			}
+      				.col1 {
+      					width:240px;
+      				}
+      				.col2 {
+      					width:80px;
+      				}
+      				.col4 {
+      					width:80px;
+      				}
+      			</style>
+      			
+      			
+      			
+      			
+				<h:form>
+				<rich:datascroller for="auction" maxPages="5"/>
+				<rich:spacer height="30" />				
+				<rich:dataTable id="auction" value="#{auctionDataModel}" columnClasses="col1,col2,col3,col4"
+										var="item" rows="10" width="100%"> 
+					<rich:column>
+						<f:facet name="header">
+							<h:outputText value="Description"/>
+						</f:facet>
+						<h:outputText value="#{item.description}"/>
+					</rich:column>
+					<rich:column>
+						<f:facet name="header">
+							<h:outputText value="Highest Bid"/>
+						</f:facet>
+						<h:outputText id="highestBid" value="#{item.highestBid}">
+							<f:convertNumber pattern="$#,##0.00"/>
+						</h:outputText>
+					</rich:column>
+					<rich:column>
+						<f:facet name="header">
+							<h:outputText value="Your Bid"/>
+						</f:facet>
+						
+						<rich:message for="bid" /><br/>
+						<h:inputText id="bid" value="#{item.bid}" label="Bid">
+							<f:convertNumber />
+							<f:validateLongRange minimum = "0" maximum = "1000000"/>
+						</h:inputText>
+						<a4j:commandLink id="bid_link" actionListener="#{item.placeBid}" value="Place a bid!" reRender="bid,amount,highestBid" />
+
+					</rich:column>
+					<rich:column>
+						<f:facet name="header">
+							<h:outputText value="Amount"/>
+						</f:facet>
+						<h:outputText id="amount" value="#{item.amount}" >
+							<f:convertNumber pattern="$#,##0.00"/>
+						</h:outputText>
+					</rich:column>
+				</rich:dataTable>
+				</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/report.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/report.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/examples/report.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,99 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+				<rich:dataTable 
+					onRowMouseOver="this.style.backgroundColor='#F1F1F1'"
+					onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
+					cellpadding="0" cellspacing="0" 
+					width="700" border="0" var="record" value="#{report.expReport.records}">
+				
+					<f:facet name="header">
+						<rich:columnGroup>
+							<rich:column rowspan="2">
+								<rich:spacer />
+							</rich:column>
+							<rich:column colspan="3">
+								<h:outputText value="Expenses" />
+							</rich:column>
+							<rich:column rowspan="2">
+								<h:outputText value="subtotals" />
+							</rich:column>
+							<rich:column breakBefore="true">
+								<h:outputText value="Meals" />
+							</rich:column>
+							<rich:column>
+								<h:outputText value="Hotels" />
+							</rich:column>
+							<rich:column>
+								<h:outputText value="Transport" />
+							</rich:column>
+						</rich:columnGroup>
+					</f:facet>
+	
+					<rich:column  colspan="5">
+					<h:outputText value="#{record.city}" /></rich:column>
+					
+					
+					<rich:subTable
+						onRowMouseOver="this.style.backgroundColor='#F8F8F8'"
+						onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'"
+						var="expense" value="#{record.items}">
+						<rich:column>
+							<h:outputText value="#{expense.day}"></h:outputText>
+							<f:facet name="footer">
+								<rich:spacer />
+							</f:facet>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expense.meals}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							<f:facet name="footer">
+								<h:outputText value="#{record.totalMeals}"><f:convertNumber  pattern="$####.00" /></h:outputText>
+							</f:facet>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expense.hotels}"><f:convertNumber  pattern="$####.00"  /></h:outputText>
+							<f:facet name="footer">
+								<h:outputText value="#{record.totalHotels}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							</f:facet>
+						</rich:column>
+						<rich:column>
+							<h:outputText value="#{expense.transport}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							<f:facet name="footer">
+								<h:outputText value="#{record.totalTransport}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							</f:facet>
+						</rich:column>
+						<rich:column>
+							<rich:spacer></rich:spacer>
+							<f:facet name="footer">
+								<h:outputText value="#{record.total}"><f:convertNumber   pattern="$####.00"    /></h:outputText>
+							</f:facet>
+						</rich:column>					
+						
+					</rich:subTable>
+		
+					<f:facet name="footer">
+				
+						<rich:columnGroup>
+							<rich:column>Totals</rich:column>
+							<rich:column>
+								<h:outputText value="#{report.expReport.totalMeals}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							</rich:column>
+							<rich:column>
+								<h:outputText value="#{report.expReport.totalHotels}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							</rich:column>
+							<rich:column>
+								<h:outputText value="#{report.expReport.totalTransport}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							</rich:column>
+							<rich:column>
+								<h:outputText value="#{report.expReport.grandTotal}"><f:convertNumber   pattern="$####.00"  /></h:outputText>
+							</rich:column>
+						</rich:columnGroup>
+					</f:facet>
+		
+				</rich:dataTable>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/extended-data-model.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,52 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<p>
+Perhaps the most obvious problem of DataTable and javax.faces.model.DataModel is lack of support for more complicated scenarios that uses 
+data from the database.
+To solve that problem <b>Richfaces</b> has two major tools:
+<ul>
+	<li>
+	set of data-driven components that render data sets in many different ways (<b>rich:dataTable</b> , <b>rich:dataGrid</b>, <b>rich:dataList</b>, <b>a4j:repeat</b> etc.). 
+	All this components derived it common functionality from the common core that, in addition to standard javax.faces.model.DataModel, 
+	can understand and use
+	</li>
+	<li>
+	extended data model classes <b>org.ajax4jsf.model.ExtendedDataModel</b> and <b>org.ajax4jsf.model.SerializableDataModel</b>. This two classes works 
+	together to provide functions that missing in standard DataModel.
+	</li>
+</ul>
+The most important additional functions are:
+<ul>
+	<li>access for rows by primary keys instead of index position</li>
+	<li>implementation of "visitor" pattern over the "range" of rows to support "table scroller" or "paginator" functions</li>
+	<li>ability to serialize table data so it may be used on a post-back processing without additional database query</li>
+</ul>
+To use this extensions you need to implement your own DataModel that extends one of our ExtendedDataModel classes and implement few of 
+important functions. Below is the example of such implementation.
+			</p>
+			<div class="sample-container" >
+							
+				<ui:include src="/richfaces/dataTable/examples/extendedDataModel.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dataTable/examples/extendedDataModel.xhtml"/>
+					<ui:param name="openlabel" value="View Page Source" />
+				</ui:include>					
+ 
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/demo/extendeddatamodel/AuctionDataModel.java"/>
+					<ui:param name="openlabel" value="View AuctionDataModel.java Source" />
+					<ui:param name="sourcetype" value="java" />
+				</ui:include>					
+								
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+
+			
+			<p>DataTable allows to show a tabular data. Additional to the stadard &lt;h:dataTable&gt;, this component
+			enables row and column spans for columns, a flexible layout for a header and a footer. 
+			DataTable supports "master-detail" pattern and allows to show the combination 
+			of a master table and detail sub-tables.<br />
+			The following example shows the dataTable component in use:
+			</p>
+			
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/dataTable/examples/report.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dataTable/examples/report.xhtml"/>
+				</ui:include>				
+			
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTable.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Data Table</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dataTable/usage.xhtml"/>
+			</rich:tab>			
+			<rich:tab label="Extended Data Model">
+				<ui:include src="/richfaces/dataTable/extended-data-model.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dataTable"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/scrollableDataTable.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/scrollableDataTable.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/scrollableDataTable.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,58 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+		<style>
+		</style>
+			
+		<h:form>
+			<rich:spacer height="30" />
+			<rich:scrollableDataTable rowKeyVar="rkv" frozenColCount="1" height="400px" width="700px" id="carList" rows="40" columnClasses="col"
+				value="#{dataTableScrollerBean.allCars}" var="category" sortMode="multi">
+
+				<rich:column id="make" sortable="true">
+					<f:facet name="header">
+						<h:outputText styleClass="headerText" value="Make" />
+					</f:facet>
+					<h:outputText value="#{category.make}" />
+				</rich:column>
+				<rich:column id="model" sortable="true">
+					<f:facet name="header">
+						<h:outputText styleClass="headerText" value="Model" />
+					</f:facet>
+					<h:outputText value="#{category.model}" />
+				</rich:column>
+				<rich:column id="price" sortable="true">
+					<f:facet name="header">
+						<h:outputText styleClass="headerText" value="Price" />
+					</f:facet>
+					<h:outputText value="#{category.price}" />
+				</rich:column>
+				<rich:column id="mileage" sortable="true">
+					<f:facet name="header">
+						<h:outputText styleClass="headerText" value="Mileage" />
+					</f:facet>
+					<h:outputText value="#{category.mileage}" />
+				</rich:column>
+				<rich:column width="200px" id="vin" sortable="true">
+					<f:facet name="header">
+						<h:outputText styleClass="headerText" value="VIN" />
+					</f:facet>
+					<h:outputText value="#{category.vin}" />
+				</rich:column>
+				<rich:column id="stock" sortable="true">
+					<f:facet name="header">
+						<h:outputText styleClass="headerText" value="Stock" />
+					</f:facet>
+					<h:outputText value="#{category.stock}" />
+				</rich:column>
+
+
+
+			</rich:scrollableDataTable>
+		</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/simpleScroller.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/simpleScroller.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/examples/simpleScroller.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,54 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+		<style>
+		 .col {
+		 	width:100px;
+		 }
+		</style>
+			
+		<h:form>
+			<rich:datascroller align="left"  for="carList" maxPages="20" />
+			<rich:spacer height="30" />
+			<rich:dataTable width="483" id="carList" rows="10" columnClasses="col"
+				value="#{dataTableScrollerBean.allCars}" var="category">
+				<f:facet name="header">
+					<rich:columnGroup>
+						<h:column>
+							<h:outputText styleClass="headerText" value="Make" />
+						</h:column>
+						<h:column>
+							<h:outputText styleClass="headerText" value="Model" />
+						</h:column>
+						<h:column>
+							<h:outputText styleClass="headerText" value="Price" />
+						</h:column>
+						<h:column>
+							<h:outputText styleClass="headerText" value="Mileage" />
+						</h:column>
+					</rich:columnGroup>
+				</f:facet>
+
+				<h:column>
+					<h:outputText value="#{category.make}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{category.model}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{category.price}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{category.mileage}" />
+				</h:column>
+
+
+
+			</rich:dataTable>
+		</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,24 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+		<p>The component is designed to provide the functionality of table 
+		 pagination using AJAX requests.</p>
+
+		<div class="sample-container">
+				<ui:include src="/richfaces/dataTableScroller/examples/simpleScroller.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dataTableScroller/examples/simpleScroller.xhtml"/>
+					<ui:param name="openlabel" value="View Page Source" />
+				</ui:include>			
+		</div>
+	</ui:define>
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dataTableScroller.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Data Table Scroller</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dataTableScroller/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/datascroller"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragIndicator.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragIndicator.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragIndicator.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Drag-n-Drop. Drag Indicator</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dragSupport/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dragIndicator"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/examples/dnd.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/examples/dnd.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/examples/dnd.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,109 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+
+	<style>
+		.panelc {
+			width:25%;
+			vertical-align:top;
+			height:300px;
+		}
+		
+		.dropTargetPanel {
+			width: 90%;
+		}
+	</style>
+
+	<rich:dragIndicator id="indicator" />
+
+	<h:form id="form">
+
+		<h:panelGrid columnClasses="panelc" columns="4" width="100%">
+
+			<rich:panel style="width:100px"> 
+				<f:facet name="header">
+					<h:outputText value="Source List" />
+				</f:facet>
+				<h:dataTable id="src" columns="1" value="#{dndBean.frameworks}"
+					var="fm" >
+
+					<h:column>
+						<a4j:outputPanel style="border:1px solid gray;padding:2px;"
+							layout="block">
+							<rich:dragSupport dragIndicator=":indicator"
+								dragType="#{fm.family}" dragValue="#{fm}">
+								<rich:dndParam name="label" value="#{fm.name}" />
+							</rich:dragSupport>
+							<h:outputText value="#{fm.name}"></h:outputText>
+						</a4j:outputPanel>
+					</h:column>
+
+				</h:dataTable>
+			</rich:panel>
+
+			<rich:panel styleClass="dropTargetPanel">
+				<f:facet name="header">
+					<h:outputText value="PHP Frameworks" />
+				</f:facet>
+				<rich:dropSupport id="php" acceptedTypes="PHP" dropValue="PHP"
+					dropListener="#{eventBean.processDrop}" reRender="phptable, src">
+				</rich:dropSupport>
+
+				<h:dataTable id="phptable" columns="1" value="#{dndBean.containerPHP}" var="fm">
+					<h:column>
+						<h:outputText value="#{fm.name}"></h:outputText>
+					</h:column>
+				</h:dataTable>
+
+
+			</rich:panel>
+
+			<rich:panel styleClass="dropTargetPanel">
+				<f:facet name="header">
+					<h:outputText value=".NET Frameworks" />
+				</f:facet>
+				<rich:dropSupport id="dnet" acceptedTypes="DNET" dropValue="DNET"
+					dropListener="#{eventBean.processDrop}" reRender="dnettable, src">
+				</rich:dropSupport>
+
+				<h:dataTable id="dnettable" columns="1" value="#{dndBean.containerDNET}" var="fm">
+					<h:column>
+						<h:outputText value="#{fm.name}"></h:outputText>
+					</h:column>
+				</h:dataTable>
+
+
+			</rich:panel>
+
+			<rich:panel styleClass="dropTargetPanel">
+				<f:facet name="header">
+					<h:outputText value="ColdFusion Frameworks" />
+				</f:facet>
+				<rich:dropSupport id="cf" acceptedTypes="CF" dropValue="CF"
+					dropListener="#{eventBean.processDrop}" reRender="cftable, src">
+				</rich:dropSupport>
+
+				<h:dataTable id="cftable" columns="1" value="#{dndBean.containerCF}" var="fm">
+					<h:column>
+						<h:outputText value="#{fm.name}"></h:outputText>
+					</h:column>
+				</h:dataTable>
+
+
+			</rich:panel>
+
+
+
+
+		</h:panelGrid>
+		<a4j:commandButton action="#{dndBean.reset}" value="Start Over" 
+			reRender="src,phptable,cftable,dnettable" />
+	</h:form>
+	 <a4j:outputPanel ajaxRendered="true">
+		<h:messages></h:messages>
+	</a4j:outputPanel>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,57 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+ 
+		<p>The Richfaces Drag-n-Drop component suite includes three components: dragSupport, dropSupport
+		and dragIndicator.</p>
+		<p>dragSupport is used to point to the JSF component that becomes draggable. dragSupport
+		is similar to Ajax4jsf &lt;a4j:support&gt;. If you want to add a draggable feature to the existing 
+		component, attach dragSupport as a child component to it.
+		</p>
+		<p>dropSupport is similar to the dragSupport, but it's used to define the drag zone. dropSupport
+		has a built-in Ajax support. I.e. it allows to send an Ajax request and re-render the specified
+		area on a page when the Ajax response is returned back. With the dropListener attribute you can
+		point to a method of the backing bean that accepts dropEvent as a parameter. This event contains
+		information provided by dropValue and dragValue attributes of dropSupport and dragSupport.
+		</p>
+
+		<p>Drag Indicator is a special visual representation of a dragged object. It contains
+		a drag marker and a drag label by default, but you can freely define the necessary layout using 
+		a "single" facet for drag-n-drop of a single object or "multiple" for drag-n-drop on the group of 
+		objects</p>
+
+		
+		<p>
+		<i>Note: The parent component for dragSupport and dropSupport should be designed to render
+		its children and has two attribute &quot;onmouseover&quot; and &quot;onmouseout&quot;. You can use &lt;a4j:outputPanel&gt; as
+		a container if the component is not satisfy this requirements. Use &lt;a4j:outputPanel&gt; layout="block"
+		to wrap the component with a block type layout. We will work to eliminate this restriction in
+		future.</i>
+		</p>
+		
+		  <p>The following example demonstrates the drag-n-drop functionality on practice. The left list
+		  contains the examples of Ajax frameworks. Do you know them? The demo helps you to sort them out. 
+		  Drag one and drag over the headers of three panels. If the draggable framework is suitable for a certain 
+		  framework family, it will be accepted. Otherwise, the drag indicator shows the "reject" icon.</p>
+				
+		<div class="sample-container">
+				<ui:include src="/richfaces/dragSupport/examples/dnd.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dragSupport/examples/dnd.xhtml"/>
+					<ui:param name="openlabel" value="View Page Source" />
+				</ui:include>				
+		
+		</div>
+
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dragSupport.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Drag-n-Drop. DragSupport</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dragSupport/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dragSupport"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/sidemenu.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/sidemenu.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/sidemenu.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,51 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<style>
+		.optionList {
+		  height:22px;
+		}
+		.vertical-menu-cell {
+			padding:0px 4px 0px 4px;
+		}
+	
+	</style>
+
+	<h:form>
+
+		<h:panelGrid class="vertical-menu-cell" columnClasses="optionList" columns="1" cellspacing="0" cellpadding="0">
+			<rich:dropDownMenu style="border:1px solid #{a4jSkin.panelBorderColor}" value="Option1" direction="bottom-right" jointPoint="tr">
+				<rich:menuItem value="Suboption1-1" />
+				<rich:menuItem value="Suboption1-2">
+					<f:facet name="icon">
+					<h:graphicImage value="/richfaces/toolBar/images/print.gif" />
+					</f:facet>
+				
+				</rich:menuItem>
+				<rich:menuItem value="Suboption1-3" />
+			</rich:dropDownMenu>
+			<rich:dropDownMenu style="border:1px solid #{a4jSkin.panelBorderColor}" value="Option2"  direction="bottom-right"  jointPoint="tr">
+				<rich:menuItem value="Suboption2-1" />
+				<rich:menuItem value="Suboption2-2" />
+				<rich:menuGroup value="Group2" direction="#{bean.groupDirection}">
+					<rich:menuItem value="SuboptionG2-2-1" />
+					<rich:menuItem value="SuboptionG2-2-2" />
+				</rich:menuGroup>
+				
+				<rich:menuItem value="Suboption2-3" />
+			</rich:dropDownMenu>
+			<rich:dropDownMenu style="border:1px solid #{a4jSkin.panelBorderColor}" value="Option3"  direction="bottom-right"  jointPoint="tr">
+				<rich:menuItem value="Suboption3-1" />
+				<rich:menuItem value="Suboption3-2" />
+				<rich:menuItem value="Suboption3-3" />
+			</rich:dropDownMenu>
+		 
+		</h:panelGrid>
+	</h:form>	
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/topmenu.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/topmenu.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/examples/topmenu.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,61 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<h:form>
+	
+		<rich:toolBar>
+			<rich:dropDownMenu value="File">
+			
+				<rich:menuItem submitMode="ajax" value="New" action="#{ddmenu.doNew}">
+				</rich:menuItem>
+				<rich:menuItem   submitMode="ajax"  value="Open" action="#{ddmenu.doOpen}"/>
+				<rich:menuGroup value="Save As...">
+					<rich:menuItem   submitMode="ajax" value="Text File"  action="#{ddmenu.doSaveText}"/>
+					<rich:menuItem   submitMode="ajax" value="PDF File"  action="#{ddmenu.doSavePDF}"/>
+				</rich:menuGroup>
+				<rich:menuItem  submitMode="ajax" value="Close" action="#{ddmenu.doClose}"/>
+				<rich:menuSeparator id="menuSeparator11"/>
+				<rich:menuItem  submitMode="ajax" value="Exit"  action="#{ddmenu.doExit}"/>
+			
+			</rich:dropDownMenu>
+			
+			<rich:dropDownMenu>
+	
+				<f:facet name="label">
+					<h:panelGrid cellpadding="0" cellspacing="0" columns="2" style="vertical-align:middle">
+						<h:graphicImage value="/richfaces/toolBar/images/yellow_lamp.gif"/>
+						<h:outputText value="Links" />
+					</h:panelGrid>
+				</f:facet>
+	
+				<rich:menuItem submitMode="none" onclick="document.location.href='http://labs.jboss.com/jbossrichfaces/'">
+					<f:facet name="icon">
+						<h:graphicImage value="/richfaces/toolBar/images/webapp_welcome.gif" />
+					</f:facet>
+					<h:outputLink value="http://labs.jboss.com/jbossrichfaces/">
+						<h:outputText value="RichFaces Home Page"></h:outputText>
+					</h:outputLink>
+				</rich:menuItem>
+	
+				<rich:menuItem submitMode="none" onclick="document.location.href='http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261'">
+					<f:facet name="icon">
+						<h:graphicImage value="/richfaces/toolBar/images/timer_task.gif" />
+					</f:facet>
+					<h:outputLink value="http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261">
+						<h:outputText value="RichFaces Forum"></h:outputText>
+					</h:outputLink>
+				</rich:menuItem>
+	
+			</rich:dropDownMenu>
+		</rich:toolBar>
+	</h:form>					
+	<a4j:outputPanel ajaxRendered="true">
+		<h:outputText value="Current Selection: "></h:outputText>
+		<h:outputText style="font-weight:bold" value="#{ddmenu.current}"></h:outputText>
+	</a4j:outputPanel>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+    "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="GNU source-highlight 2.1.2
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite">
+<title>usage.xhtml</title>
+<link rel="stylesheet" href="../../../css/xhtml-source.css" type="text/css">
+</head>
+<body>
+<pre><tt><span class="keyword">&lt;div</span><span class="normal"> </span><span class="type">class</span><span class="symbol">=</span><span class="string">"</span><span class="string">sample-container</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;h:form&gt;</span>
+
+<span class="normal">		</span><span class="keyword">&lt;rich:toolBar&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;rich:dropDownMenu</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">File</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">			</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">ajax</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">New</span><span class="string">"</span><span class="normal"> </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.doNew}</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;/rich:menuItem&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal">   </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">ajax</span><span class="string">"</span><span class="normal">  </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Open</span><span class="string">"</span><span class="normal"> </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.doOpen}</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuGroup</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Save As...</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;rich:menuItem</span><span class="normal">   </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">ajax</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Text File</span><span class="string">"</span><span class="normal">  </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.doSaveText}</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;rich:menuItem</span><span class="normal">   </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">ajax</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">PDF File</span><span class="string">"</span><span class="normal">  </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.doPDF}</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;/rich:menuGroup&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal">  </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">ajax</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Close</span><span class="string">"</span><span class="normal"> </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.doClose}</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuSeparator</span><span class="normal"> </span><span class="type">id</span><span class="symbol">=</span><span class="string">"</span><span class="string">menuSeparator11</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal">  </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">ajax</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Exit</span><span class="string">"</span><span class="normal">  </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.doExit}</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">			</span>
+<span class="normal">			</span><span class="keyword">&lt;/rich:dropDownMenu&gt;</span>
+<span class="normal">			</span>
+<span class="normal">			</span><span class="keyword">&lt;rich:dropDownMenu&gt;</span>
+
+<span class="normal">				</span><span class="keyword">&lt;f:facet</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">label</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;h:panelGrid</span><span class="normal"> </span><span class="type">cellpadding</span><span class="symbol">=</span><span class="string">"</span><span class="string">0</span><span class="string">"</span><span class="normal"> </span><span class="type">cellspacing</span><span class="symbol">=</span><span class="string">"</span><span class="string">0</span><span class="string">"</span><span class="normal"> </span><span class="type">columns</span><span class="symbol">=</span><span class="string">"</span><span class="string">2</span><span class="string">"</span><span class="normal"> </span><span class="type">style</span><span class="symbol">=</span><span class="string">"</span><span class="string">vertical-align:middle</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">						</span><span class="keyword">&lt;h:graphicImage</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">/richfaces/toolBar/images/yellow_lamp.gif</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">						</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Links</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;/h:panelGrid&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;/f:facet&gt;</span>
+
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">none</span><span class="string">"</span><span class="normal"> </span><span class="type">onclick</span><span class="symbol">=</span><span class="string">"</span><span class="string">document.location.href='http://labs.jboss.com/jbossrichfaces/'</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;f:facet</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">icon</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">						</span><span class="keyword">&lt;h:graphicImage</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">/richfaces/toolBar/images/webapp_welcome.gif</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;/f:facet&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;h:outputLink</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://labs.jboss.com/jbossrichfaces/</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">						</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">RichFaces Home Page</span><span class="string">"</span><span class="keyword">&gt;</span><span class="keyword">&lt;/h:outputText&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;/h:outputLink&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;/rich:menuItem&gt;</span>
+
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">submitMode</span><span class="symbol">=</span><span class="string">"</span><span class="string">none</span><span class="string">"</span><span class="normal"> </span><span class="type">onclick</span><span class="symbol">=</span><span class="string">"</span><span class="string">document.location.href='http://jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=261'</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;f:facet</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">icon</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">						</span><span class="keyword">&lt;h:graphicImage</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">/richfaces/toolBar/images/timer_task.gif</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;/f:facet&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;h:outputLink</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">http://jboss.com/index.html?module=bb&amp;amp;op=viewforum&amp;amp;f=261</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">						</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">RichFaces Forum</span><span class="string">"</span><span class="keyword">&gt;</span><span class="keyword">&lt;/h:outputText&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;/h:outputLink&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;/rich:menuItem&gt;</span>
+
+<span class="normal">			</span><span class="keyword">&lt;/rich:dropDownMenu&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;/rich:toolBar&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;/h:form&gt;</span><span class="normal">					</span>
+<span class="normal">	</span><span class="keyword">&lt;a4j:outputPanel</span><span class="normal"> </span><span class="type">ajaxRendered</span><span class="symbol">=</span><span class="string">"</span><span class="string">true</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Current Selection: </span><span class="string">"</span><span class="keyword">&gt;</span><span class="keyword">&lt;/h:outputText&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">style</span><span class="symbol">=</span><span class="string">"</span><span class="string">font-weight:bold</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{ddmenu.current}</span><span class="string">"</span><span class="keyword">&gt;</span><span class="keyword">&lt;/h:outputText&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;/a4j:outputPanel&gt;</span>
+<span class="keyword">&lt;/div&gt;</span><span class="normal">			</span>
+<span class="normal">...</span>
+<span class="normal">...</span>
+<span class="keyword">&lt;div</span><span class="normal"> </span><span class="type">class</span><span class="symbol">=</span><span class="string">"</span><span class="string">sample-container</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;h:form&gt;</span>
+
+<span class="normal">		</span><span class="keyword">&lt;h:panelGrid</span><span class="normal"> </span><span class="type">class</span><span class="symbol">=</span><span class="string">"</span><span class="string">vertical-menu-cell</span><span class="string">"</span><span class="normal"> </span><span class="type">columns</span><span class="symbol">=</span><span class="string">"</span><span class="string">1</span><span class="string">"</span><span class="normal"> </span><span class="type">cellspacing</span><span class="symbol">=</span><span class="string">"</span><span class="string">0</span><span class="string">"</span><span class="normal"> </span><span class="type">cellpadding</span><span class="symbol">=</span><span class="string">"</span><span class="string">0</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;rich:dropDownMenu</span><span class="normal"> </span><span class="type">style</span><span class="symbol">=</span><span class="string">"</span><span class="string">border:1px solid #{a4jSkin.panelBorderColor}</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Option1</span><span class="string">"</span><span class="normal"> </span><span class="type">direction</span><span class="symbol">=</span><span class="string">"</span><span class="string">bottom-right</span><span class="string">"</span><span class="normal"> </span><span class="type">jointPoint</span><span class="symbol">=</span><span class="string">"</span><span class="string">tr</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption1-1</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption1-2</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;f:facet</span><span class="normal"> </span><span class="type">name</span><span class="symbol">=</span><span class="string">"</span><span class="string">icon</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;h:graphicImage</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">/richfaces/toolBar/images/print.gif</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;/f:facet&gt;</span>
+<span class="normal">				</span>
+<span class="normal">				</span><span class="keyword">&lt;/rich:menuItem&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption1-3</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;/rich:dropDownMenu&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;rich:dropDownMenu</span><span class="normal"> </span><span class="type">style</span><span class="symbol">=</span><span class="string">"</span><span class="string">border:1px solid #{a4jSkin.panelBorderColor}</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Option2</span><span class="string">"</span><span class="normal">  </span><span class="type">direction</span><span class="symbol">=</span><span class="string">"</span><span class="string">bottom-right</span><span class="string">"</span><span class="normal">  </span><span class="type">jointPoint</span><span class="symbol">=</span><span class="string">"</span><span class="string">tr</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption2-1</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption2-2</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuGroup</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Group2</span><span class="string">"</span><span class="normal"> </span><span class="type">direction</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{bean.groupDirection}</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">SuboptionG2-2-1</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">					</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">SuboptionG2-2-2</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;/rich:menuGroup&gt;</span>
+<span class="normal">				</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption2-3</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;/rich:dropDownMenu&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;rich:dropDownMenu</span><span class="normal"> </span><span class="type">style</span><span class="symbol">=</span><span class="string">"</span><span class="string">border:1px solid #{a4jSkin.panelBorderColor}</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Option3</span><span class="string">"</span><span class="normal">  </span><span class="type">direction</span><span class="symbol">=</span><span class="string">"</span><span class="string">bottom-right</span><span class="string">"</span><span class="normal">  </span><span class="type">jointPoint</span><span class="symbol">=</span><span class="string">"</span><span class="string">tr</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption3-1</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption3-2</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;rich:menuItem</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">Suboption3-3</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;/rich:dropDownMenu&gt;</span>
+<span class="normal">		 </span>
+<span class="normal">		</span><span class="keyword">&lt;/h:panelGrid&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;/h:form&gt;</span><span class="normal">	</span>
+
+<span class="keyword">&lt;/div&gt;</span>
+</tt></pre>
+</body>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/source/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,90 @@
+<div class="sample-container">
+	<h:form>
+
+		<rich:toolBar>
+			<rich:dropDownMenu value="File">
+			
+				<rich:menuItem submitMode="ajax" value="New" action="#{ddmenu.doNew}">
+				</rich:menuItem>
+				<rich:menuItem   submitMode="ajax"  value="Open" action="#{ddmenu.doOpen}"/>
+				<rich:menuGroup value="Save As...">
+					<rich:menuItem   submitMode="ajax" value="Text File"  action="#{ddmenu.doSaveText}"/>
+					<rich:menuItem   submitMode="ajax" value="PDF File"  action="#{ddmenu.doPDF}"/>
+				</rich:menuGroup>
+				<rich:menuItem  submitMode="ajax" value="Close" action="#{ddmenu.doClose}"/>
+				<rich:menuSeparator id="menuSeparator11"/>
+				<rich:menuItem  submitMode="ajax" value="Exit"  action="#{ddmenu.doExit}"/>
+			
+			</rich:dropDownMenu>
+			
+			<rich:dropDownMenu>
+
+				<f:facet name="label">
+					<h:panelGrid cellpadding="0" cellspacing="0" columns="2" style="vertical-align:middle">
+						<h:graphicImage value="/richfaces/toolBar/images/yellow_lamp.gif"/>
+						<h:outputText value="Links" />
+					</h:panelGrid>
+				</f:facet>
+
+				<rich:menuItem submitMode="none" onclick="document.location.href='http://labs.jboss.com/jbossrichfaces/'">
+					<f:facet name="icon">
+						<h:graphicImage value="/richfaces/toolBar/images/webapp_welcome.gif" />
+					</f:facet>
+					<h:outputLink value="http://labs.jboss.com/jbossrichfaces/">
+						<h:outputText value="RichFaces Home Page"></h:outputText>
+					</h:outputLink>
+				</rich:menuItem>
+
+				<rich:menuItem submitMode="none" onclick="document.location.href='http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261'">
+					<f:facet name="icon">
+						<h:graphicImage value="/richfaces/toolBar/images/timer_task.gif" />
+					</f:facet>
+					<h:outputLink value="http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261">
+						<h:outputText value="RichFaces Forum"></h:outputText>
+					</h:outputLink>
+				</rich:menuItem>
+
+			</rich:dropDownMenu>
+		</rich:toolBar>
+	</h:form>					
+	<a4j:outputPanel ajaxRendered="true">
+		<h:outputText value="Current Selection: "></h:outputText>
+		<h:outputText style="font-weight:bold" value="#{ddmenu.current}"></h:outputText>
+	</a4j:outputPanel>
+</div>			
+...
+...
+<div class="sample-container">
+	<h:form>
+
+		<h:panelGrid class="vertical-menu-cell" columns="1" cellspacing="0" cellpadding="0">
+			<rich:dropDownMenu style="border:1px solid #{a4jSkin.panelBorderColor}" value="Option1" direction="bottom-right" jointPoint="tr">
+				<rich:menuItem value="Suboption1-1" />
+				<rich:menuItem value="Suboption1-2">
+					<f:facet name="icon">
+					<h:graphicImage value="/richfaces/toolBar/images/print.gif" />
+					</f:facet>
+				
+				</rich:menuItem>
+				<rich:menuItem value="Suboption1-3" />
+			</rich:dropDownMenu>
+			<rich:dropDownMenu style="border:1px solid #{a4jSkin.panelBorderColor}" value="Option2"  direction="bottom-right"  jointPoint="tr">
+				<rich:menuItem value="Suboption2-1" />
+				<rich:menuItem value="Suboption2-2" />
+				<rich:menuGroup value="Group2" direction="#{bean.groupDirection}">
+					<rich:menuItem value="SuboptionG2-2-1" />
+					<rich:menuItem value="SuboptionG2-2-2" />
+				</rich:menuGroup>
+				
+				<rich:menuItem value="Suboption2-3" />
+			</rich:dropDownMenu>
+			<rich:dropDownMenu style="border:1px solid #{a4jSkin.panelBorderColor}" value="Option3"  direction="bottom-right"  jointPoint="tr">
+				<rich:menuItem value="Suboption3-1" />
+				<rich:menuItem value="Suboption3-2" />
+				<rich:menuItem value="Suboption3-3" />
+			</rich:dropDownMenu>
+		 
+		</h:panelGrid>
+	</h:form>	
+
+</div>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+
+			
+			<p>RichFaces Drop Down menu is a component that allows to organize the hierarchical menu
+			similar to one that almost every desktop application has.
+			</p>
+	
+			<div class="sample-container">
+
+				<ui:include src="/richfaces/dropDownMenu/examples/topmenu.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dropDownMenu/examples/topmenu.xhtml"/>
+				</ui:include>		
+
+			</div>			
+			<p>The drop down menu has a label that always appears on the page and invisible panel
+			 that appears with a particular client side event (onmouseover, onclick etc). The event is
+			 defined with an 'event' attribute.</p>
+			 <p>Drop Down Menu can contains a set of Menu Items, Menu Groups and Menu Separators. 
+			 Group plays a role of label for secondary levels on the menu. Separator is represented with 
+			 horizontal lines between the items or groups. An item is an active element that might produce
+			 Ajax or non-Ajax requests. The submittion mode is defined with 'submitMode' attribute that has
+			 three possible options - "server", "ajax" or "none". Mode "none" does not produce any request, but
+			 allows you to provide your own functionality inside the menu item with an inline content.
+			</p>
+			<p>You can place a block of drop down menus horizontally or vertially how it is shown below.
+			</p>
+
+			<div class="sample-container">
+
+				<ui:include src="/richfaces/dropDownMenu/examples/sidemenu.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/dropDownMenu/examples/sidemenu.xhtml"/>
+				</ui:include>		
+			
+	
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropDownMenu.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Drop Down Menu Component</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dropDownMenu/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dropDownMenu"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropSupport.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropSupport.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/dropSupport.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Drag-n-Drop. DragSupport</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/dragSupport/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/dropSupport"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/attributes.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/attributes.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/attributes.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+
+			<p>
+			<b>name</b> attribute defines the name of the javascript function will be generated
+			on the page when the component is rendered. You can invoke this function to activate
+			the effect. The function access one parameter. It is a set of effect options in JSON
+			format.
+			</p>
+			<p>
+			<b>type</b> attribute defines the type of effect. For example, "Fade", "Blind",
+			"Opacity". Take a look at scriptaculous documentation for set of available effect.
+			</p>
+
+			<p>
+			<b>for</b> attribute defines the id of the component or html tag, the effect will
+			be attached to. Richfaces converts the 'for' attribute value to the client id
+			of the component if such component is found. If not, the value is left as is for 
+			possible wiring with on the DOM element's id on the client side.<br/>
+			By default, the target of the effect is the same element that effect pointed to.
+			However, the target element is might be overridden with 'targetId' option passed
+			with 'params' attribute of with function paramenter.
+			</p>
+			<p>
+			<b>params</b> attribute allows to define the set of options possible for 
+			particurar effect. For example, 'duration', 'delay', 'from', 'to'. Additionally to
+			the options used by the effect itself, there are two option that might override the
+			rich:effect attribute. Those are:
+			<ul>
+				<li><b>targetId</b> allows to re-define the target of effect. The option
+				is overrire the value of 'for' attribute</li>
+				<li><b>type</b> defines the effect type. The option
+				is overrire the value of 'type' attribute</li>
+			</ul>
+			</p>
+
+
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/examples/diffTypes.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/examples/diffTypes.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/examples/diffTypes.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,90 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+<style type="text/css">
+	.box {
+		background-color: #FFF;
+		height:100px;
+		width: 200px;
+		text-align:center;
+	}
+	.cell {
+		height:120px;
+		width: 220px;
+		vertical-align:top;
+	
+	}
+	
+</style>
+
+<h:panelGrid columns="3" columnClasses="cell">
+
+	<rich:panel id="fadebox" styleClass="box">
+		<f:facet name="header">Fade Effect</f:facet>
+		<rich:effect event="onclick" type="Fade" />
+		<rich:effect event="onclick"  for="fadebox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="bdbox" styleClass="box">
+		<f:facet name="header">BlindDown Effect</f:facet>
+		<rich:effect event="onclick" type="BlindDown" params="duration:0.8" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="bubox" styleClass="box">
+		<f:facet name="header">BlindUp Effect</f:facet>
+		<rich:effect event="onclick" type="BlindUp" params="duration:0.8" />
+		<rich:effect event="onclick"  for="bubox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="opacitybox" styleClass="box">
+		<f:facet name="header">Opacity Effect</f:facet>
+		<rich:effect event="onclick" type="Opacity" params="duration:0.8, from:1.0, to:0.1" />
+		<rich:effect event="onclick"  for="opacitybox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="switchbox" styleClass="box">
+		<f:facet name="header">SwitchOff Effect</f:facet>
+		<rich:effect event="onclick" type="SwitchOff" params="duration:0.8" />
+		<rich:effect event="onclick"  for="switchbox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="dobox" styleClass="box">
+		<f:facet name="header">DropOut Effect</f:facet>
+		<rich:effect event="onclick"  type="DropOut" params="duration:0.8" />
+		<rich:effect event="onclick"  for="dobox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="highlightbox" styleClass="box">
+		<f:facet name="header">Highlight Effect</f:facet>
+		<rich:effect event="onclick"  type="Highlight" params="duration:0.8" />
+		<rich:effect event="onclick"  for="highlightbox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="foldbox" styleClass="box">
+		<f:facet name="header">Fold Effect</f:facet>
+		<rich:effect event="onclick"  type="Fold" params="duration:0.8" />
+		<rich:effect event="onclick"  for="foldbox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+	<rich:panel id="squishbox" styleClass="box">
+		<f:facet name="header">Squish Effect</f:facet>
+		<rich:effect event="onclick"  type="Squish" params="duration:0.8" />
+		<rich:effect event="onclick"  for="squishbox"  type="Appear" params="delay:3.0,duration:0.5" />
+		<h:outputText value="Click to Activate" />
+	</rich:panel>
+
+</h:panelGrid>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/snippets/usecases.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/snippets/usecases.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/snippets/usecases.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<!-- attaching by event  -->
+<rich:panel>
+	<rich:effect event="onmouseout" type="Opacity" params="duration:0.8,from:1.0,to:0.3" />
+    .... panel content ....
+</rich:panel>
+...
+
+<!--  invoking from javascript -->
+<div id="contentDiv">
+  ..... div content ......
+</div>
+
+<input type="button" onclick="hideDiv({duration:0.7})" value="Hide" />
+<input type="button" onclick="showDiv()" value="Show" />
+
+<rich:effect  name="hideDiv"  for="contentDiv" type="Fade" />
+<rich:effect  name="showDiv"  for="contentDiv" type="Appear" />
+
+<!-- attaching to window on load and applying on particular page element -->
+<rich:effect for="window" event="onload" 
+    type="Appear" params="targetId:'contentDiv',duration:0.8,from:0.3,to:1.0" />
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+			<p>rich:effect utilizes the set of effects provided by scriptaculous javascript library. It 
+			allows to attach effects to JSF components and html tags. For the reference of the available
+			effects and their parameters see the scriptaculous documentation and wiki. There are
+			<b>some of many</b> possible effects available out-of-the-box: 
+			</p>
+			<div class="sample-container">
+				<ui:include src="/richfaces/effect/examples/diffTypes.xhtml" />
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/effect/examples/diffTypes.xhtml"/>
+				</ui:include>		
+			</div>			
+			<p>
+			It is possible to use rich:effect in two modes: 
+			<ul>
+			<li>attached to the JSF components or html tags and triggered by a particular event. Wiring 
+			effect with JSF components might occur on the server or the client. Wiring with html tag is
+			possible only on the client side</li>
+			<li>invoking from the javascript code by an effect name. During the rendering, rich:effect generates the javascript
+			function with a defined name. When the function is called, the effect is applied</li>
+			</ul>
+			Here are the typical variants of usage:
+			</p>
+
+			<div class="sample-container">
+				<rich:insert src="/richfaces/effect/snippets/usecases.html" highlight="xhtml" />
+			</div>			
+		
+
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/effect.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Rich Effects</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/effect/usage.xhtml"/>
+			</rich:tab>			
+			<rich:tab label="Key Attributes">
+				<ui:include src="/richfaces/effect/attributes.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/effect"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/examples/ajaxSubmit.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/examples/ajaxSubmit.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/examples/ajaxSubmit.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,37 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<h:panelGrid columns="2">
+		<rich:panel>
+			<f:facet name="header">
+				<h:outputText value="Form with ajaxSubmit equals true"/>
+			</f:facet>
+			
+			<a4j:form ajaxSubmit="true" reRender="name">
+				<h:panelGrid>
+					<h:commandButton value="Set Local Name to John (Ajax)" action="#{userBean.nameItJohn}" />
+					<h:outputText id="name" value="Name:#{userBean.name}" />
+				</h:panelGrid>
+			</a4j:form>
+		</rich:panel>
+	
+		<rich:panel>
+			<f:facet name="header">
+				<h:outputText value="Form with ajaxSubmit equals false"/>
+			</f:facet>
+			
+			<a4j:form>
+				<h:panelGrid>
+					<h:commandButton value="Set Both Name to Mark (non-Ajax)" action="#{userBean.nameItMark}" />
+					<h:outputText id="name" value="Name:#{userBean.name}" />
+				</h:panelGrid>
+			</a4j:form>
+			
+		</rich:panel>
+	
+	</h:panelGrid>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/snippets/commandLinkProblem.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/snippets/commandLinkProblem.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/snippets/commandLinkProblem.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,15 @@
+  ....
+  <-- This code does not work correctly after the link is re-rendered -->
+  <h:form>
+	  	....
+	  	<a4j:commandButton value="Update Non-Ajax Link" reRender="panel" />
+	  	....
+	  	<h:panelGrid id="panel">
+	  	 	....
+	  		<h:commandLink value="Non-Ajax Submit" action="foo" >
+	  			...
+	  		</h:commandLink>  
+	  		....
+	  	</h:panelGrid>
+	  	....
+  </h:form>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<style type="text/css">
+			.viewsourcepanel {
+				 padding-bottom:0px;
+				 width:100%;
+				 overflow:auto;
+				 border-width:0;
+				 background-color:#FFFFE7;
+			}
+			.viewsourcebody {
+				padding:0;
+			}
+			
+			 input[type="button"], input[type="submit"] {
+			 	background-color:#{a4jSkin.trimColor};
+			 }
+			</style>
+			
+			<p>a4j:form functionality is similar to the standard h:form component except two additional features:
+			<ul>
+				<li>Along with a4j:htmlCommandLink, it fixes the problem of h:commandLink component that cannot be re-rendered without 
+				re-rendering the whole form it belongs to.</li>
+				<li>It might convert all non-ajax action 
+				components (including the third party components) to the ajaxian ones if ajaxSubmit
+				attribute is set to true</li>
+			</ul>
+			</p>
+			<p>
+			h:commandLink renderer generates the javascript code that is used to submit the form when the link
+			is clicked. However, if the h:commandLink is rendered outside of the form, for example, when
+			you point to it with reRender, the wrong code is generated that causes the broken functionality
+			when user clicks this link later. The example of problematic code is below. To fix the code,
+			you need to replace h:form with a4j:form and h:commandLink with a4j:htmlCommandLink.
+			
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert src="/richfaces/form/snippets/commandLinkProblem.xhtml" highlight="xhtml"/>
+			</rich:panel>
+			
+
+			</p>
+			<p>
+			When ajaxSubmit="true", all standard action components on this form become ajaxable. This
+			approach is similar to the one AjaxAnywhere framework uses. If a form works in an ajax mode, 
+			the standard ajax attribute such as reRender, eventQueue, requestDelay can be used. The
+			following example demonstates the difference between partial and full-page refreshing.
+			In both cases, the regular h:commandButton is used for the form submision.
+			</p>
+			
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/form/examples/ajaxSubmit.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/form/examples/ajaxSubmit.xhtml"/>
+				</ui:include>
+													
+			</div>
+			
+			<p>
+			Note:You should not use a4j:form ajaxSubmit="true" if it contains other ajax command components.
+			Also, due to the security reason, uploadFile form element cannot be convertible to
+			the be ajaxable.
+			</p>
+			<p>
+				For additional information about attributes of this component read
+				<a href="#{facesContext.externalContext.requestContextPath}/richfaces/ajaxAttributes.jsf?c=ajaxattributes">
+					<h:outputText value="'Ajax Attribute' section" />
+				</a>.
+			</p>			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/form.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Form</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/form/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/form"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/examples/mapUsage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/examples/mapUsage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/examples/mapUsage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,62 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+		
+	<style>
+		.optionList {
+		  height:30px;
+		}
+	</style>
+	
+	<h:panelGrid columns="2">
+		<rich:gmap  gmapVar="map" zoom="#{gmBean.zoom}"  style="width:400px;height:400px" gmapKey="#{gmBean.gmapkey}" />
+		
+		<h:panelGroup>
+			<rich:tabPanel switchType="ajax" width="350" height="400">
+				<rich:tab label="Using Google Map API">
+					<h:panelGrid columns="2" columnClasses="optionList">
+						<h:outputText value="Controls:" />
+						<h:panelGroup>
+							<a href="javascript: void 0" onclick="map.hideControls()">Hide</a>
+							<a href="javascript: void 0" onclick="map.showControls()">Show</a><br/>
+						</h:panelGroup>
+	
+						<h:outputText value="Zoom:" />
+						<rich:inputNumberSlider id="zoom" showInput="false" minValue="1"  maxValue="18"
+								value="#{gmBean.zoom}" 	onchange="map.setZoom(this.value)"/>
+		
+	
+						<h:outputText value="Map Type:" />
+						<h:panelGroup>
+							<a href="javascript: void 0" onclick="map.setMapType(G_NORMAL_MAP)">Normal</a>
+							<a href="javascript: void 0" onclick="map.setMapType(G_SATELLITE_MAP)">Satellite</a>
+							<a href="javascript: void 0" onclick="map.setMapType(G_HYBRID_MAP)">Hybrid</a><br/>
+						</h:panelGroup>
+	
+					</h:panelGrid>
+				</rich:tab>
+				
+				<rich:tab label="Using Ajax with JSON">
+					<rich:dataGrid var="place" value="#{gmBean.point}" columns="2" >
+						<h:graphicImage onclick="showPlace('#{place.id}')" style="cursor:pointer" value="resource://#{place.pic}" />			
+					</rich:dataGrid>
+			
+				</rich:tab>
+	
+			
+			</rich:tabPanel>
+		</h:panelGroup>
+	</h:panelGrid>
+	<h:form>
+		<a4j:jsFunction name="showPlace"  data="#{gmBean.currentPlace}" reRender=":zoom"
+			oncomplete="map.setCenter(new GLatLng(data.lat, data.lng),data.zoom)">
+		  <a4j:actionparam name="id" assignTo="#{gmBean.currentId}"></a4j:actionparam>
+		</a4j:jsFunction>
+	</h:form>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+			
+			<p>The 
+				Richfaces Gmap component is a wrapper for the standard Google Map widgets. You can use the whole set of
+				functionality Google Map API provides for you. 
+				See <a target="_blank" href="http://www.google.com/apis/maps/documentation/">
+				Google Maps API Version 2 Documentation</a> for Google Map API features.
+			</p>
+			<p>
+				Gmap has built-in Ajax capability. You do not need to uptade the component using reRender to see
+				the changes. RichFaces Gmap component is good together with Ajax4jsf jsFunction
+				component that allows to invoke the server side data and convert it into a JSON format.
+				
+			</p>
+			<ui:include src="/richfaces/gmap/examples/mapUsage.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/gmap/examples/mapUsage.xhtml"/>
+				<ui:param name="openlable" value="View page Source"/>
+			</ui:include>						
+						
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/gmap.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Google Map Component</ui:define>
+	<!--ui:define name="body"-->
+		<f:view contentType="text/html">
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/gmap/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/gmap"/>
+			</ui:include>		
+		</rich:tabPanel>
+		</f:view>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/snippets/commandLinkProblem.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/snippets/commandLinkProblem.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/snippets/commandLinkProblem.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+  ....
+  <-- This code does not work correctly after the link is re-rendered -->
+  <-- Parameter will not be encoded correctly in this case -->
+  <h:form>
+	  	....
+	  	<a4j:commandButton value="Update Non-Ajax Link" reRender="panel" />
+	  	....
+	  	<h:panelGrid id="panel">
+	  	 	....
+	  		<h:commandLink value="Non-Ajax Submit" action="foo" >
+	  			<f:param name="param1" value="foo"/>
+	  			...
+	  		</h:commandLink>  
+	  		....
+	  	</h:panelGrid>
+	  	....
+  </h:form>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<style type="text/css">
+			.viewsourcepanel {
+				 padding-bottom:0px;
+				 width:100%;
+				 overflow:auto;
+				 border-width:0;
+				 background-color:#FFFFE7;
+			}
+			.viewsourcebody {
+				padding:0;
+			}
+			
+			 input[type="button"], input[type="submit"] {
+			 	background-color:#{a4jSkin.trimColor};
+			 }
+			</style>				
+			<p>a4j:htmlCommandLink functionality is similar to the standard h:commandLink component except the additional feature.
+			
+			</p>
+			<p>
+				h:commandLink renderer generates the JavaScript code that is used to submit a form when a link
+				is clicked. However, if the h:commandLink is rendered outside of the form, for example, when
+				you point to it with reRender, the wrong code is generated that causes incorrect functionality.
+				This issue could be solved by a4j:form usage. 
+			</p>
+			<p>But another problem is that the link should render hidden inputs 
+				for its parameters encoding. And these fields are not generated if the link is not initially rendered and 
+				then updated via Ajax. Such problems could be solved with the a4j:htmlCommandLink usage. Necessary fields are encoded
+				even when the link is not rendered initially. Hence it may be Ajax updated and parameters work correctly. 
+			</p>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert highlight="xhtml" src="/richfaces/htmlCommandLink/snippets/commandLinkProblem.xhtml"></rich:insert>
+			</rich:panel>		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/htmlCommandLink.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Html Command Link</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/htmlCommandLink/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/htmlCommandLink"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/finalStep.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/finalStep.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/finalStep.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+
+	<div style="position:relative;height:140px">
+		<h:panelGrid
+			columns="2" columnClasses="wfcol1">
+			<h:outputText value="First Name:" />
+			<h:outputText value="#{profile.firstName}" />
+			<h:outputText value="Last Name:" />
+			<h:outputText value="#{profile.lastName}" />
+			<h:outputText value="Company:" />
+			<h:outputText value="#{profile.company}" />
+			<h:outputText value="Notes:" />
+			<h:outputText value="#{profile.notes}" />
+		</h:panelGrid>
+		<div class="navPanel">
+			<a4j:commandButton 	value="&lt;&lt;Previous" style="float:left" immediate="true"
+				action="previous" />
+		</div>
+	</div>
+
+</ui:composition>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wizard.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wizard.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wizard.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<style type="text/css">
+		.col1 { vertical-align:top;	}
+		.col2 {	vertical-align:top;	width:450px; }
+		.wizard { width:400px; }
+		.wform td {	vertical-align:top;	}
+		.wfcol1 { width:60px; vertical-align:top; }
+		.wfcol2 { vertical-align:top; }
+		.wfcol3 { vertical-align:top; }
+		.s1row td { height:30px; }
+		.rich-message { color:red;	}
+		
+		.navPanel {
+			position:absolute;
+			bottom:0;
+			height:23px;
+			margin:0;
+			padding:2px;
+		}
+		
+		.navPanel input[type="button"] {
+			background-color: #{richSkin.additionalBackgroundColor};
+		}
+		
+	</style>
+
+	<rich:separator height="1" style="padding:10px"/>
+	<h:panelGrid width="100%" columns="2" columnClasses="col1,col2">
+		<f:verbatim>
+			The demo shows the example of three-steps wizard created
+			using a4j:include. The navigation rules defined in the
+			faces-config.xml are used to navigate between the steps
+			of the wizard.
+		
+		</f:verbatim>
+		<a4j:keepAlive beanName="profile" />
+		<rich:panel styleClass="wizard">
+			<f:facet name="header">
+			<h:outputText value="Using a4j:include for Wizard-like behaviour" />
+			</f:facet>
+			<h:form>
+				<a4j:include viewId="/richfaces/include/examples/wstep1.xhtml" />
+			</h:form>
+		</rich:panel>
+	
+	</h:panelGrid>
+	<rich:separator height="1" style="padding:10px"/>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep1.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep1.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep1.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,29 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	
+	<div style="position:relative;height:140px">
+	<h:panelGrid rowClasses="s1row" columns="3" columnClasses="wfcol1,wfcol2,wfcol3">
+		<h:outputText value="First Name:" />
+		<h:inputText id="fn" value="#{profile.firstName}" label="First Name" required="true" />
+		<rich:message  for="fn" />
+		
+		<h:outputText value="Last Name:" />
+		<h:inputText  id="ln" value="#{profile.lastName}"  label="Last Name"  required="true" />
+		<rich:message  for="ln" />
+		
+		<h:outputText value="Company:" />
+		<h:inputText id="comp" value="#{profile.company}"  label="Company"  required="true" />
+		<rich:message for="comp"/>
+		
+	
+		
+	</h:panelGrid>
+	<div class="navPanel">
+		<a4j:commandButton value="Next &gt;&gt;" style="float:right" action="next"/>
+	</div>
+	</div>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep2.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep2.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/examples/wstep2.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<div style="position:relative;height:140px">	
+	<h:panelGrid columns="3" columnClasses="wfcol1,wfcol2,wfcol3">
+		<h:outputText value="Notes:" />
+		<h:inputTextarea cols="20" rows="4" id="notes" value="#{profile.notes}" label="Notes" required="true" />
+		<rich:message  for="notes" />
+		
+		
+	</h:panelGrid>
+	<div class="navPanel">
+	<a4j:commandButton value="&lt;&lt;Previous" style="float:left"  immediate="true" action="previous"/>
+	<a4j:commandButton value="Next &gt;&gt;"  style="float:right"  action="next"/>
+	</div>
+
+	
+	</div>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/snippet/navigation.xml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/snippet/navigation.xml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/snippet/navigation.xml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+                              "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+<faces-config>
+<!--  The rest parts of the faces-config.xml are not shown here -->
+<navigation-rule> 
+   <from-view-id>/richfaces/include/examples/wstep1.xhtml</from-view-id> 
+    <navigation-case> 
+      <from-outcome>next</from-outcome> 
+      <to-view-id>/richfaces/include/examples/wstep2.xhtml</to-view-id> 
+    </navigation-case> 
+ </navigation-rule>  
+ <navigation-rule> 
+   <from-view-id>/richfaces/include/examples/wstep2.xhtml</from-view-id> 
+    <navigation-case> 
+      <from-outcome>previous</from-outcome> 
+      <to-view-id>/richfaces/include/examples/wstep1.xhtml</to-view-id> 
+    </navigation-case> 
+    <navigation-case> 
+      <from-outcome>next</from-outcome> 
+      <to-view-id>/richfaces/include/examples/finalStep.xhtml</to-view-id> 
+    </navigation-case> 
+ </navigation-rule>  
+ <navigation-rule> 
+   <from-view-id>/richfaces/include/examples/finalStep.xhtml</from-view-id> 
+    <navigation-case> 
+      <from-outcome>previous</from-outcome> 
+      <to-view-id>/richfaces/include/examples/wstep2.xhtml</to-view-id> 
+    </navigation-case> 
+ </navigation-rule> 
+ </faces-config>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+ 
+		<p>a4j:include functionality is equal to the facelets ui:include functionality, plus, it enables the
+		partial page navigation in an Ajax mode. The standard JSF navigation rules are used to define the
+		navigation between the view.
+		</p>
+		<p>
+			<b>viewId</b> attribute specifies the view id of a page that will be included. It should be 
+			a full context-relative path of the resource in order to use as from-view and to-view in the
+			JSF navigation cases. 
+		</p>
+		
+		<div class="sample-container">
+				<ui:include src="/richfaces/include/examples/wizard.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/include/examples/wizard.xhtml"/>
+					<ui:param name="openlabel" value="View Page Source" />
+				</ui:include>				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/include/examples/wstep1.xhtml"/>
+					<ui:param name="openlabel" value="View wstep1.xhtml Source" />
+				</ui:include>				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/include/examples/wstep2.xhtml"/>
+					<ui:param name="openlabel" value="View wstep2.xhtml Source" />
+				</ui:include>				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/include/examples/finalStep.xhtml"/>
+					<ui:param name="openlabel" value="View finalStep.xhtml Source" />
+				</ui:include>				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/include/snippet/navigation.xml"/>
+					<ui:param name="openlabel" value="View faces-config.xml Navigation Rules" />
+					<ui:param name="sourcetype" value="xml" />
+				</ui:include>				
+		</div>
+
+		<p>
+			The Ajax command component (button, link, jsFunction, etc) should be located inside the
+			a4j:include in order to have a partial navigation. When the navigation is
+			performed, a part of the component tree content is replaced with the content of a view given
+			by a navigation rule. 
+		</p>
+		<p>	The content of the a4j:include is not isolated from the whole view. You can point to the other
+		parts of the view with reRender if you want to update them while you navigate inside the
+		a4j:include.
+		</p>
+
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/include.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Include</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/include/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/include"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/examples/sliderUsage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/examples/sliderUsage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/examples/sliderUsage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<a4j:form ajaxSubmit="true">
+		<p>
+			Here is an example of default inputNumberSlider:
+			<rich:inputNumberSlider value="50"/>
+		</p>
+		<p>
+			Here is "minimalistic" input:
+			<rich:inputNumberSlider value="50" showInput="false" enableManualInput="false" showBoundaryValues="false" showToolTip="false"/>
+		</p>
+		<p>
+			Another variation of input:
+			<rich:inputNumberSlider value="500" width="500" maxValue="1000" step="50" showToolTip="false" />
+		</p>
+	</a4j:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+		<p>
+			InputNumberSlider is a highly customizable component that is used to define numeric input in a given range. You can use a slider or just type some text into an input field. 
+		</p>
+		<div class="sample-container" >
+			<ui:include src="/richfaces/inputNumberSlider/examples/sliderUsage.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/inputNumberSlider/examples/sliderUsage.xhtml"/>
+			</ui:include>		
+		</div>
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSlider.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - InputNumberSlider</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/inputNumberSlider/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/inputNumberSlider"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/examples/spinnerUsage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/examples/spinnerUsage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/examples/spinnerUsage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,18 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	<a4j:form ajaxSubmit="true">
+		<p>
+			Here is an example of default inputNumberSpinner:
+			<rich:inputNumberSpinner value="50"/>
+		</p>
+		<p>
+				Here is one more inputNumberSpinner:
+			<rich:inputNumberSpinner value="50" step="10"/>
+		</p>
+	</a4j:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+		<p>
+			InputNumberSpinner is a highly customizable component that is used to define a numeric input in a given range. A user can use a spinner control or just type some text into an input field. 
+		</p>
+		<div class="sample-container" >
+			<ui:include src="/richfaces/inputNumberSpinner/examples/spinnerUsage.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/inputNumberSpinner/examples/spinnerUsage.xhtml"/>
+			</ui:include>		
+		</div>
+	</ui:define>
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/inputNumberSpinner.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - InputNumberSpinner</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/inputNumberSpinner/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/inputNumberSpinner"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/examples/groovy.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/examples/groovy.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/examples/groovy.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,13 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+
+	
+	<rich:insert src="/richfaces/insert/snippets/sample.groovy" highlight="groovy" />
+	
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/snippets/sample.groovy
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/snippets/sample.groovy	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/snippets/sample.groovy	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,9 @@
+double[] values = new double[8]
+
+i = 0
+[1, 2, 3, 4, 5, 6, 7, 8].each {
+  println it
+  values[i++] = it
+  // uncomment the next line and it works fine!!
+  //println it
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<p>rich:insert component allows to insert and, optionally, format the file from the application
+		context into the page. The context relative path to the file is specified with <b>src</b>
+		attribute.
+		</p>
+		<p>
+		<b>highlight</b> attribute defines the type of a syntax highlighting. If this attribute is 
+		specified, inserting text is formated and keywords are colorized using 
+		<a href="https://jhighlight.dev.java.net/" target="_blank">jhighlight
+		open source</a> library. You need to have jhighlight.jar in the classpath to have this feature 
+		enabled. The following example shows the groovy code snippet inserted and highlighted:
+		</p>
+
+				
+		<div class="sample-container">
+			<ui:include src="/richfaces/insert/examples/groovy.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/insert/examples/groovy.xhtml"/>
+				<ui:param name="openlabel" value="View Page Source" />
+			</ui:include>	
+		</div>
+		
+		<p>
+		<b>errorContent</b> attribute defines the alternative content that will be shown
+		in case rich:insert cannot read the resource defined with 'src' attribute. If 
+		errorContent attribute is not defined, the component shown the actual error message in the
+		place where the content is expected.
+		</p>
+		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/insert.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Page Insert</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/insert/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/insert"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/fishEye.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/fishEye.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/fishEye.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,52 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	
+	<style type="text/css">
+		.pic-normal {
+			width: 120px;
+			border: 2px solid #ACBECE;
+
+		}
+		.wrap1 {
+			width:190px;
+			height: 130px;
+			float: left;			
+		}
+	</style>
+	
+			
+	<rich:separator lineType="solid" height="1" />
+	<h:outputText value="This demo shows how to attach the mouseover/mouseout events to the
+	DOM objects. However the images below show how to make them enlarged." />
+	
+	<rich:separator lineType="solid" height="1" style="padding-bottom:10px;" />
+	
+	<a4j:outputPanel id="gallery">
+		<h:graphicImage value="/richfaces/jQuery/images/pic1.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic2.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic3.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic4.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic5.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic6.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic7.jpg" />
+		<h:graphicImage value="/richfaces/jQuery/images/pic8.jpg" />
+	</a4j:outputPanel>	
+	
+	<br style="clear:both" />
+
+
+	<rich:jQuery selector="#gallery img" query="addClass('pic-normal')"/>
+	<rich:jQuery selector="#gallery img" query="wrap('&lt;div class=\'wrap1\'&gt;')" />
+	<rich:jQuery selector="#gallery img" query="mouseover(function(){enlargePic(this)})"/>
+	<rich:jQuery selector="#gallery img" query="mouseout(function(){normalPic(this)})"/>
+	
+	<rich:jQuery name="enlargePic" timing="onJScall" query="stop().animate({width:'180px'})" />
+	<rich:jQuery name="normalPic" timing="onJScall" query="stop().animate({width:'120px'})" />
+	
+	
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/zebra.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/zebra.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/examples/zebra.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,63 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<style  type="text/css">
+		.odd-row {
+			background-color: #ECF3FE;
+		}
+		.even-row {
+			background-color: #FCFFFE;
+		}
+		.active-row {
+			background-color: #FFEBDA;
+		}
+		
+	</style>
+	
+	
+	<rich:separator lineType="solid" height="1" />
+	
+			<h:outputText value="This demo shows how just four rich:jQuery queries allow to
+			add zebra-style to a table and highlight rows under the mouse cursor." />
+
+	
+			<rich:dataTable width="483" id="carList" rows="15"
+				value="#{dataTableScrollerBean.allCars}" var="category">
+				<f:facet name="header">
+					<rich:columnGroup>
+						<h:column><h:outputText value="Make" /></h:column>
+						<h:column><h:outputText value="Model" /></h:column>
+						<h:column><h:outputText value="Price" /></h:column>
+						<h:column><h:outputText value="Mileage" /></h:column>
+					</rich:columnGroup>
+				</f:facet>
+
+				<h:column>
+					<h:outputText value="#{category.make}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{category.model}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{category.price}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{category.mileage}" />
+				</h:column>
+
+			</rich:dataTable>
+			
+			<rich:jQuery selector="#carList tr:odd" query="addClass('odd-row')" />
+			<rich:jQuery selector="#carList tr:even" query="addClass('even-row')" />
+			<rich:jQuery selector="#carList tr" 
+				query="mouseover(function(){jQuery(this).addClass('active-row')})"/>
+			<rich:jQuery selector="#carList tr" 
+				query="mouseout(function(){jQuery(this).removeClass('active-row')})"/>
+
+
+	<rich:separator height="1" style="padding-top:10px" />
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic1.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic1.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic2.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic2.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic3.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic3.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic4.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic4.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic5.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic5.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic6.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic6.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic7.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic7.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic8.jpg
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/images/pic8.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>rich:jQuery integrates jQuery javascript framework into the JavaServer
+			 Faces application. The component allows to apply the styles and behavior
+			 to the DOM elements dynamically, including the result of JSF components rendering. 
+			 For more information about jQuery framework and its features,
+			 you can read <a href="http://jquery.com/">http://jquery.com</a>
+			</p>
+			<p>Integrated jQuery works without conflicts with prototype.js library that is used
+			 widely in the RichFaces library. This means that $() function is delegated
+			 back to the prototype.js. Use jQuery() function instead to refer to
+			 jQuery objects if necessary. Read more about jQuery usage with other libraries
+			 at <a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries">
+			 http://docs.jquery.com/Using_jQuery_with_Other_Libraries</a>
+			</p>
+
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/jQuery/examples/zebra.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/jQuery/examples/zebra.xhtml"/>
+				</ui:include>						
+			</div>
+			<p>
+				rich:jQuery can be used in two major modes:
+				<ul>
+					<li>	as a once time query applied immediately or on document ready event</li>
+					<li>	as a javascript function that can be invoked from the custom javascript</li>
+				</ul>
+				The mode is chosen with timing attribute that can have the following options:
+				<ul>
+					<li>immediate - applying the query immediately </li>
+					<li>onload  - applying the query when the document is loaded.</li>
+					<li>onJScall - applying the query by invoked the javascript function defined with the name attribute</li>
+				</ul>
+			</p>
+			<p>
+				Defining "name" attribute is mandatory when timing="onJScall".
+				If "name" attribute is defined when timing equals to "immediate" or "onload",
+				the query is applied according to this value, but you still have an
+				opportunity to invoke it by a function name.<br/>
+				The selector attribute defines an object or list of objects, the query
+				defined with the query attribute will be applied to.
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/jQuery/examples/fishEye.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/jQuery/examples/fishEye.xhtml"/>
+				</ui:include>						
+			</div>
+			
+		
+		</ui:define>
+
+	</ui:composition>
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jQuery.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - jQuery Extension</ui:define>
+	<!--ui:define name="body"-->
+
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+	
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/jQuery/usage.xhtml"/>
+			</rich:tab>	
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/jQuery"/>
+			</ui:include>		
+		</rich:tabPanel>
+
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/examples/hoverEcho.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/examples/hoverEcho.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/examples/hoverEcho.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,29 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator lineType="solid" height="1" />
+	<table  width="400">
+		<tbody>
+		<tr>
+			<td onmouseover="updateName('Alex')"  onmouseout="updateName('')" > Alex</td>
+			<td onmouseover="updateName('Jonh')"  onmouseout="updateName('')" > Jonh</td>
+			<td onmouseover="updateName('Roger')"  onmouseout="updateName('')" > Roger</td>
+		</tr>
+		<tr>
+			<td colspan="3"><h:outputText id="showname" value="Name: #{userBean.name}" /></td>
+		</tr>
+		</tbody>
+	</table>
+
+	<a4j:form>
+		<a4j:jsFunction name="updateName" reRender="showname">
+			<a4j:actionparam name="param1" assignTo="#{userBean.name}"	/>					
+		</a4j:jsFunction>
+	</a4j:form>
+
+	<rich:separator height="1" style="padding-top:10px" />
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>a4j:jsFunction component is very similar to a4j:commandButton, but allows to perform
+				an Ajax request from a Javascript code directly. The component sends a request using
+				a standard JSF approach, so the JSF form is required. The following example
+				shows how the part of the page is re-rendered when a user hovers over the names.
+			</p>
+
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/jsFunction/examples/hoverEcho.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/jsFunction/examples/hoverEcho.xhtml"/>
+				</ui:include>						
+			</div>
+			
+			<p>
+				<b>name</b> attribute defines the name of the function that will be generated. You
+				can use it as a regular Javascript function name to invoke. a4j:actionparam
+				is used to pass the function arguments (you can use f:param as well). The order and
+				the number of parameters corresponds to the arguments of the called function. The
+				value(s) of the a4j:actionparam will be replaced with the value of function arguments
+				before the Ajax request is sent. To read more about a4j:action param visit 
+				<a href="#{facesContext.externalContext.requestContextPath}/richfaces/actionparam.jsf?c=actionparam">
+					<h:outputText value="'Ajax Paramemeter' section" />
+				</a>.
+			</p>
+			<p>
+				As for any other Ajax components, you can use <b>reRender</b> attribute to update the area(s) of the page
+				after an Ajax Response comes back. Also, you can use <b>data</b> attribute and <b>oncomplete</b> attribute to
+				take the data from the server and use them for Javascript to call them. For additional information about
+				Javascript oriented and other important attributes of a4j:jsFunction read
+				<a href="#{facesContext.externalContext.requestContextPath}/richfaces/ajaxAttributes.jsf?c=ajaxattributes">
+					<h:outputText value="'Ajax Attribute' section" />
+				</a>.
+			</p>			
+		</ui:define>
+
+	</ui:composition>
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/jsFunction.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax JS Function</ui:define>
+	<!--ui:define name="body"-->
+
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+	
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/jsFunction/usage.xhtml"/>
+			</rich:tab>	
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/jsFunction"/>
+			</ui:include>		
+		</rich:tabPanel>
+
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/examples/enabledIssue.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/examples/enabledIssue.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/examples/enabledIssue.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,86 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1" />
+	
+		<style type="text/css">
+			.pcolumn {
+				padding:10px;
+				vertical-align:top;
+			}
+		</style>
+	
+		<h:panelGrid columns="2" width="100%" columnClasses="pcolumn">
+
+			<f:verbatim>
+				This example <b>will not work</b> as expected. The expression for 'enabled' attribute
+				equals true only after UPDATE model phase when the rsBean properties are
+				updated with submitted values. So, the component is rendered as enabled
+				on the RENDER RESPONSE phase.<br />
+				However, those values do not make sence during the next Ajax request. The
+				rsBean is created from scratch as soon as it is a new request. JSF makes a
+				decision what is process on the second (APPLY VALUES) phase. At this moment,
+				the expression for 'disabled' still equals false. Therefore, the processing
+				for button is bypassed. The action does not invoked as a result.
+				phase
+			</f:verbatim>				
+
+			<f:verbatim>
+				This example will work properly. The code is almost the same as for
+				example on the left. Used managed been is based on the same class. The only
+				difference is <b>a4j:keepAlive beanName="rsBean2"</b>. This statment
+				declares to keep the value of the rsBean2 between the Ajax requests.<br/>
+				The rsBean2 is still a request scope bean as it is defined in the
+				faces-config.xml file. a4j:keepAlive stores the rsBean at the end of the 
+				JSF lifecycle. At the beginning of the next cycle, it updates with
+				the rsBean2 with the stored data. Therefore, the expression for 'disabled'
+				equals true on the second phase. The button is processed and the action is
+				invoked.
+			</f:verbatim>				
+
+
+			<h:panelGroup>
+				<h:form>
+					<h:inputText size="4" label="First Addent" value="#{rsBean.addent1}">
+						<a4j:support event="onkeyup" reRender="btn" />
+					</h:inputText>
+					<h:outputText value="+"/>
+					<h:inputText  size="4" label="Second Addent"  value="#{rsBean.addent2}">
+							<a4j:support event="onkeyup" reRender="btn" />						
+					</h:inputText>
+					<a4j:commandButton style="margin:0 5px" id="btn" action="#{rsBean.doSum}" 
+						 value="=" reRender="sum"
+						 disabled="#{rsBean.addent1 == null or rsBean.addent2==null}"/>
+					<h:outputText id="sum" value="#{rsBean.sum}" />
+				</h:form>
+			</h:panelGroup>
+		
+			<h:panelGroup>
+				<a4j:keepAlive beanName="rsBean2" />
+				<h:form>
+					<h:inputText size="4" label="First Addent" value="#{rsBean2.addent1}">
+						<a4j:support event="onkeyup" reRender="btn2" />
+					</h:inputText>
+					<h:outputText value="+"/>
+					<h:inputText   size="4" label="Second Addent"  value="#{rsBean2.addent2}">
+							<a4j:support event="onkeyup" reRender="btn2" />						
+					</h:inputText>
+					<a4j:commandButton style="margin:0 5px" id="btn2" action="#{rsBean2.doSum}" 
+						 value="=" reRender="sum2"
+						 disabled="#{rsBean2.addent1 == null or rsBean2.addent2==null}"/>
+					<h:outputText id="sum2" value="#{rsBean2.sum}" />
+				</h:form>
+				<a4j:outputPanel ajaxRendered="true">
+					<h:messages />
+				</a4j:outputPanel>
+			</h:panelGroup>
+		
+
+		
+		</h:panelGrid>
+		<rich:separator height="1" style="padding-top:10px" />
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+    "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="GNU source-highlight 2.1.2
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite">
+<title>usage.xhtml</title>
+<link rel="stylesheet" href="..\..\..\css\xhtml-source.css" type="text/css">
+</head>
+<body>
+<pre><tt><span class="keyword">&lt;h:panelGroup&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;a4j:keepAlive</span><span class="normal"> </span><span class="type">beanName</span><span class="symbol">=</span><span class="string">"</span><span class="string">rsBean2</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;h:form&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:inputText</span><span class="normal"> </span><span class="type">size</span><span class="symbol">=</span><span class="string">"</span><span class="string">4</span><span class="string">"</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">First Addent</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{rsBean2.addent1}</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">			</span><span class="keyword">&lt;a4j:support</span><span class="normal"> </span><span class="type">event</span><span class="symbol">=</span><span class="string">"</span><span class="string">onkeyup</span><span class="string">"</span><span class="normal"> </span><span class="type">reRender</span><span class="symbol">=</span><span class="string">"</span><span class="string">btn2</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;/h:inputText&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">+</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:inputText</span><span class="normal">   </span><span class="type">size</span><span class="symbol">=</span><span class="string">"</span><span class="string">4</span><span class="string">"</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Second Addent</span><span class="string">"</span><span class="normal">  </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{rsBean2.addent2}</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">				</span><span class="keyword">&lt;a4j:support</span><span class="normal"> </span><span class="type">event</span><span class="symbol">=</span><span class="string">"</span><span class="string">onkeyup</span><span class="string">"</span><span class="normal"> </span><span class="type">reRender</span><span class="symbol">=</span><span class="string">"</span><span class="string">btn2</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span><span class="normal">						</span>
+<span class="normal">		</span><span class="keyword">&lt;/h:inputText&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;a4j:commandButton</span><span class="normal"> </span><span class="type">style</span><span class="symbol">=</span><span class="string">"</span><span class="string">margin:0 5px</span><span class="string">"</span><span class="normal"> </span><span class="type">id</span><span class="symbol">=</span><span class="string">"</span><span class="string">btn2</span><span class="string">"</span><span class="normal"> </span><span class="type">action</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{rsBean2.doSum}</span><span class="string">"</span><span class="normal"> </span>
+<span class="normal">			 </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">=</span><span class="string">"</span><span class="normal"> </span><span class="type">reRender</span><span class="symbol">=</span><span class="string">"</span><span class="string">sum2</span><span class="string">"</span>
+<span class="normal">			 </span><span class="type">disabled</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{rsBean2.addent1 == null or rsBean2.addent2==null}</span><span class="string">"</span><span class="keyword">/&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:outputText</span><span class="normal"> </span><span class="type">id</span><span class="symbol">=</span><span class="string">"</span><span class="string">sum2</span><span class="string">"</span><span class="normal"> </span><span class="type">value</span><span class="symbol">=</span><span class="string">"</span><span class="string">#{rsBean2.sum}</span><span class="string">"</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;/h:form&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;a4j:outputPanel</span><span class="normal"> </span><span class="type">ajaxRendered</span><span class="symbol">=</span><span class="string">"</span><span class="string">true</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		</span><span class="keyword">&lt;h:messages</span><span class="normal"> </span><span class="keyword">/&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;/a4j:outputPanel&gt;</span>
+<span class="keyword">&lt;/h:panelGroup&gt;</span>
+
+<span class="normal">...</span>
+
+<span class="normal">package org.richfaces.demo.ajaxSamples;</span>
+
+<span class="normal">public class rsBean {</span>
+<span class="normal">	private Integer addent1;</span>
+<span class="normal">	private Integer addent2;</span>
+<span class="normal">	private Integer sum;</span>
+<span class="normal">	</span>
+<span class="normal">	public String doSum() {</span>
+<span class="normal">		sum = new Integer((addent1 != null ? addent1.intValue() : 0) + (addent2 != null ? addent2.intValue() : 0));</span>
+<span class="normal">		return null;</span>
+<span class="normal">	}</span>
+<span class="normal">	</span>
+<span class="normal">	//getters and setters skipped</span>
+<span class="normal">}</span></tt></pre>
+</body>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/source/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,36 @@
+<h:panelGroup>
+	<a4j:keepAlive beanName="rsBean2" />
+	<h:form>
+		<h:inputText size="4" label="First Addent" value="#{rsBean2.addent1}">
+			<a4j:support event="onkeyup" reRender="btn2" />
+		</h:inputText>
+		<h:outputText value="+"/>
+		<h:inputText   size="4" label="Second Addent"  value="#{rsBean2.addent2}">
+				<a4j:support event="onkeyup" reRender="btn2" />						
+		</h:inputText>
+		<a4j:commandButton style="margin:0 5px" id="btn2" action="#{rsBean2.doSum}" 
+			 value="=" reRender="sum2"
+			 disabled="#{rsBean2.addent1 == null or rsBean2.addent2==null}"/>
+		<h:outputText id="sum2" value="#{rsBean2.sum}" />
+	</h:form>
+	<a4j:outputPanel ajaxRendered="true">
+		<h:messages />
+	</a4j:outputPanel>
+</h:panelGroup>
+
+...
+
+package org.richfaces.demo.ajaxSamples;
+
+public class rsBean {
+	private Integer addent1;
+	private Integer addent2;
+	private Integer sum;
+	
+	public String doSum() {
+		sum = new Integer((addent1 != null ? addent1.intValue() : 0) + (addent2 != null ? addent2.intValue() : 0));
+		return null;
+	}
+	
+	//getters and setters skipped
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+			<p>
+			a4j:keepAlive extends the live cycle for request scope beans. In general, each Ajax
+			request works inside the own request scope. Therefore, the state of the component
+			tree rendered based on the variable from one request scope does not correspond to the
+			state of the same tree processed during the next Ajax request. This causes one of
+			the most widespread problem when the form elements (buttons or fields) can't be correctly proceeded with Ajax if the  'rendered' attribute is mapped to the request scoped variable
+			
+			</p>
+			<p>Using the session scope variables solves the above mentioned problem. However,
+			using a session scope might be inappropriate from the architectural point of view.
+			a4j:keepAlive allows to reuse the same value for a request scope bean between
+			several Ajax requests. 
+			</p>
+			<p>
+			<b>beanName</b> attribute references to a request scope bean name you'd like  
+			to re-use during the Ajax requests. 
+			</p>
+			<p><b>ajaxOnly</b> attribute is a flag that declares whether the value of the bean
+			should be available during a non-Ajax request. If ajaxOnly="true", a request
+			scope bean will keep the same value during Ajax requests from the given page, but
+			it will be re-created as a regular request scope bean when a non-Ajax request
+			will send from this page.
+			</p>
+	
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/keepAlive/examples/enabledIssue.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/keepAlive/examples/enabledIssue.xhtml"/>
+				</ui:include>						
+			</div>
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/keepAlive.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Keep Bean Alive</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/keepAlive/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/keepAlive"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/examples/log.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/examples/log.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/examples/log.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+
+	<p>There you can explore debug info for Simple Repeater example:</p>
+	<p>Type some symbols to trigger the requests</p>
+	<h:form>
+	<h:panelGrid columns="1">
+		<h:inputText value="#{userBean.name}">
+			<a4j:support event="onkeyup" ignoreDupResponses="true"
+				requestDelay="2000" ajaxSingle="true" reRender="repeater" />
+		</h:inputText>
+		<h:outputText value="Repeated Value: #{userBean.name}" id="repeater" />
+	</h:panelGrid>
+	<a4j:log popup="false" level="ALL" style="width: 800px; height: 300px;"></a4j:log>
+	</h:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<p>
+			Log component allows you to inspect client side activities 
+			during an Ajax request. It shows reuqest data, response data, DOM
+			tree changes on update and other useful debug information.  
+		</p>
+		<p>
+			Debug info can be rendered on the main page or as a separate popup window.
+		</p>
+
+				
+		<div class="sample-container">
+			<ui:include src="/richfaces/log/examples/log.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/log/examples/log.xhtml"/>
+				<ui:param name="openlabel" value="View Page Source" />
+			</ui:include>	
+		</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/log.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Log component</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/log/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/log"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/examples/jpegSample.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/examples/jpegSample.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/examples/jpegSample.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,14 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+
+	<rich:separator height="1" style="padding:10px"/>
+	<a4j:mediaOutput element="img" cacheable="false" session="true"
+		createContent="#{mediaBean.paint}" value="#{mediaData}" mimeType="image/jpeg" />
+	<rich:separator height="1" style="padding:10px"/>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>a4j:mediaOutput allows to generate images, video, sounds and other binary
+			resources defined by a user on-the-fly.
+			</p>
+			<p><b>createContent</b> attribute references to the method that will be used 
+			for content creating. The method accepts two parameters. The first parameter
+			has an OutputStream type. It is a reference to the steam that should be used for output.
+			The second parameter is a reference to a 'value' attribute of the component.
+			</p>
+			<p>
+			<b>value</b> attribute references to data that can be used as a input data for a content
+			creator method. The data should be serializable because it is encoded to the URL
+			to the resource. 
+			</p>
+			<p>
+			<b>mimeType</b> attribute defines the type of output content. It is used to define 
+			the corresponded type in the header of an HTTP response. 
+			</p>
+			<p>
+			<b>cacheable</b> attribute is a flag that defines the caching strategy. If 'cachable'
+			is set to false, the request will be cached. If it is set to true, it will be cached 
+			and the serialized value of 'value' attribute plays the role of a cache key.
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/mediaOutput/examples/jpegSample.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/mediaOutput/examples/jpegSample.xhtml"/>
+					<ui:param name="openlabel" value="View Page Source" />
+				</ui:include>
+				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/demo/media/MediaBean.java"/>
+					<ui:param name="openlabel" value="View MediaBean.java Source" />
+					<ui:param name="sourcetype" value="java" />
+				</ui:include>				
+				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/demo/media/MediaData.java"/>
+					<ui:param name="openlabel" value="View MediaData.java Source" />
+					<ui:param name="sourcetype" value="java" />
+				</ui:include>				
+				
+													
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/mediaOutput.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Media  Output</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/mediaOutput/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/mediaOutput"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/examples/form.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/examples/form.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/examples/form.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,89 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	
+		<style type="text/css">
+			.rich-message-marker img {
+				padding-right:7px;
+			}
+			.rich-message-label {
+				color:red;
+			}
+		</style>		
+			
+			
+		<rich:panel>
+			<f:facet name="header">
+				<h:outputText value="Form Validation. Using rich:message"/>
+			</f:facet>
+			
+			<h:form>
+				<h:panelGrid columns="3">
+					<h:outputText value="Name:" />
+					<h:inputText label="Name" id="name" required="true" value="#{userBean.name}">
+						<f:validateLength minimum="3"  />
+					</h:inputText>
+					<rich:message for="name">
+						<f:facet name="passedMarker">
+							<h:graphicImage  value="/images/ajax/passed.gif" />	
+						</f:facet>
+						<f:facet name="errorMarker">
+							<h:graphicImage value="/images/ajax/error.gif" />	
+						</f:facet>
+					</rich:message>
+					
+					<h:outputText value="Job:" />
+					<h:inputText label="Job" id="job" required="true" value="#{userBean.job}">
+						<f:validateLength minimum="3" maximum="50"  />
+					</h:inputText>
+					<rich:message for="job">
+						<f:facet name="passedMarker">
+							<h:graphicImage  value="/images/ajax/passed.gif" />	
+						</f:facet>
+						<f:facet name="errorMarker">
+							<h:graphicImage  value="/images/ajax/error.gif" />	
+						</f:facet>
+					</rich:message>
+					
+
+					
+					<h:outputText value="Address:" />
+					<h:inputText label="Address" id="address" required="true" value="#{userBean.address}">
+						<f:validateLength minimum="10" />
+					</h:inputText>
+					<rich:message for="address">
+						<f:facet name="passedMarker">
+							<h:graphicImage  value="/images/ajax/passed.gif" />	
+						</f:facet>
+						<f:facet name="errorMarker">
+							<h:graphicImage  value="/images/ajax/error.gif" />	
+						</f:facet>
+					</rich:message>
+					
+					<h:outputText value="Zip:" />
+					<h:inputText label="Zip" id="zip" required="true" value="#{userBean.zip}">
+						<f:validateLength minimum="4" maximum="9"  />
+					</h:inputText>
+					<rich:message for="zip">
+						<f:facet name="passedMarker">
+							<h:graphicImage  value="/images/ajax/passed.gif" />	
+						</f:facet>
+						<f:facet name="errorMarker">
+							<h:graphicImage value="/images/ajax/error.gif" />	
+						</f:facet>
+					</rich:message>
+					
+					<f:facet name="footer">
+						<a4j:commandButton value="Validate" />
+					</f:facet>
+					
+					
+				</h:panelGrid>
+			</h:form>
+		</rich:panel>
+	
+	
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+
+			<p>rich:message is an extension for a standard h:message component. In addition to what the
+			standard component provides, rich:message:
+			<ul>
+				<li>does not require to be wrapped with a4j:outputPanel in order to be rendered during the 
+				Ajax requests</li>
+				<li>allows to have a "passed" or "failed" marker before the text label</li>
+				<li>has a predefined css class names for different kinds of message severities</li>
+			</ul> 
+			</p>
+			<p>The message marker is defined with a facet. There are several facets names available
+			to design the marker for different kind of message severities. The following example
+			shows how the markers might be used to mark the "passed" and "failed" form fields.
+			Fill the form and click "Validate" button to see the entered data passing the
+			defined validation rules.
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/message/examples/form.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/message/examples/form.xhtml"/>
+				</ui:include>
+													
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/message.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Rich Message</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/message/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/message"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/examples/form.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/examples/form.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/examples/form.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,56 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	
+		<style type="text/css">
+			.rich-messages-marker img {padding-right:7px;}
+			.rich-message-label {color:red;}
+			.top {vertical-align:top;}
+		</style>		
+			
+			
+		<rich:panel style="width:400px">
+			<f:facet name="header">
+				<h:outputText value="Form Validation. Using rich:messages"/>
+			</f:facet>
+			
+			<h:form>
+				<rich:messages passedLabel="Data is allowed to be stored." layout="list">
+					<f:facet name="header">
+						<h:outputText value="Entered Data Status:"></h:outputText>
+					</f:facet>
+					<f:facet name="passedMarker">
+						<h:graphicImage  value="/images/ajax/passed.gif" />	
+					</f:facet>
+					<f:facet name="errorMarker">
+						<h:graphicImage value="/images/ajax/error.gif" />	
+					</f:facet>
+				</rich:messages>
+
+				<h:panelGrid columns="2">
+					<h:outputText value="Name:" />
+					<h:inputText label="Name" id="name" required="true" value="#{userBean.name}">
+						<f:validateLength minimum="3"  />
+					</h:inputText>
+					<h:outputText value="Job:" />
+					<h:inputText label="Job" id="job" required="true" value="#{userBean.job}">
+						<f:validateLength minimum="3" maximum="50"  />
+					</h:inputText>
+					<h:outputText value="Address:" />
+					<h:inputText label="Address" id="address" required="true" value="#{userBean.address}">
+						<f:validateLength minimum="10" />
+					</h:inputText>
+					<h:outputText value="Zip:" />
+					<h:inputText label="Zip" id="zip" required="true" value="#{userBean.zip}">
+						<f:validateLength minimum="4" maximum="9"  />
+					</h:inputText>
+					<f:facet name="footer">
+						<a4j:commandButton value="Validate" />
+					</f:facet> 
+				</h:panelGrid>
+			</h:form>
+		</rich:panel>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+
+			<p>rich:messages is an extension for a standard h:messages component. In addition to what the
+			standard component provides, rich:messages:
+			<ul>
+				<li>does not require to be wrapped with a4j:outputPanel in order to be rendered during the 
+				Ajax requests</li>
+				<li>allows to have one "passed" or a few "failed" markers before the text labels</li>
+				<li>has a predefined css class names for different kinds of messages severities</li>
+			</ul> 
+			</p>
+			<p>The message markers is defined with facets. There are several facets names available
+			to design the marker for different kind of messages severities. The following example
+			shows how the markers might be used to mark the "passed" and "failed" form fields.
+			Fill the form and click the "Validate" button to see the entered data passing the
+			defined validation rules.
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/messages/examples/form.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/messages/examples/form.xhtml"/>
+				</ui:include>
+													
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/messages.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Rich Messages</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/messages/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/messages"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/examples/simplePanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/examples/simplePanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/examples/simplePanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,36 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+		<script>
+		 function getRightTop(ref) {
+		   var position = new Object();
+		   position.top = 0; //ref.offsetTop;
+		   position.left =0; // ref.offsetLeft+ref.clientWidth+6;
+		   return position;
+		 }
+		</script>
+		<rich:modalPanel  id="mp" minHeight="200" minWidth="450" 
+			height="200" width="500" zindex="2000">
+			<f:facet name="header">
+				<h:outputText value="Modal Panel Title" />
+			</f:facet>
+			<f:facet name="controls">
+				<h:graphicImage value="/images/modal/close.png" style="cursor:pointer" onclick="Richfaces.hideModalPanel('mp')" />
+			</f:facet>
+				<p>Any JSF content might be inside the panel. In case of using 
+				Facelets or JSF 1.2, it might be any mixed content.</p>
+				
+				<p>The RichFaces modal panel is good with &lt;a4j:include&gt; to create
+				a wizard like behavior.</p>
+				<p>The model panel is open and closed from the javascript function
+				on <i>Richfaces</i> object. The following code 
+				<a href="javascript:Richfaces.hideModalPanel('mp')">hide this panel</a>:
+				Richfaces.hideModalPanel('mp')</p>
+				
+		</rich:modalPanel>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+		<p>RichFaces Modal Panel is a container that blocks an operation on the base page when the modal 
+		panel is shown.</p>
+		<p>You can show the modal panel using the following javascript function: Richfaces.hideModalPanel(id, params). 
+		For example, this line code invokes the modal panel:
+		<a href="javascript:Richfaces.showModalPanel('mp',{width:450, top:200})">
+		Richfaces.showModalPanel('mp',{width:450, top:200})</a></p>
+		<div class="sample-container">
+	
+			<ui:include src="/richfaces/modalPanel/examples/simplePanel.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/modalPanel/examples/simplePanel.xhtml"/>
+				<ui:param name="openlabel" value="View Page Source" />
+			</ui:include>
+					
+		</div>
+		<p>The modal panel has an absolute layout.There is no reason to put in on the page
+		where it is called.If you want to perform submits from this modal panel, you should have a separate form inside it.
+		In this case, the panel must be declared outside of the other form on the same page.
+		I.e. nested forms are not allowed.<br/>
+		Those requirements are applied because of the bug in earlier Internet Explorer versions, as
+		the dialog is moved to the top of the browser DOM tree just after it is rendered.</p>
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/modalPanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Modal Panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/modalPanel/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/modalPanel"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/examples/noneLayout.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/examples/noneLayout.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/examples/noneLayout.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,75 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<style type="text/css">
+		.col {
+			width:50%;
+			padding:10px;
+		}
+	</style>			
+			
+	<rich:separator height="1" style="10px 0"/> 
+			
+	<h:panelGrid columns="2" width="100%" columnClasses="col">
+
+			<h:panelGroup>
+				This code does not work as expected. The expected echo text does not appear
+				below even the condition for <code>'renderer'</code> returns <code>true</code>.
+				Also, the error message does not appear when the length of the text reaches the limit.
+			</h:panelGroup>
+
+			<h:panelGroup>
+				This code works properly. The <code>h:message</code> is marked for update during
+				each Ajaxrequest/response. The place for bottom label is reserved with
+				<code>outputPanel</code> while 	the component is not rendered.
+			</h:panelGroup>
+
+			<a4j:outputPanel layout="block">
+
+				<h:message for="text1" style="color:red" />
+			
+				<a4j:outputPanel layout="block">
+					<h:form>
+						<h:outputText value="Enter Text:"/>
+						<h:inputText id="text1" label="text1" value="#{rsBean.text1}">
+							<f:validateLength maximum="10"/>
+							<a4j:support event="onkeyup" reRender="out1" />
+						</h:inputText>
+					</h:form>
+				</a4j:outputPanel>
+				
+				<h:outputText id="out1" rendered="#{not empty rsBean.text1}" value="Approved Text: #{rsBean.text2}" />
+
+			</a4j:outputPanel>
+
+
+			
+			<a4j:outputPanel layout="block">
+
+				<a4j:outputPanel ajaxRendered="true">
+					<h:message for="text2" style="color:red" />
+				</a4j:outputPanel>
+			
+				<a4j:outputPanel layout="block">
+					<h:form>
+						<h:outputText value="Enter Text:"/>
+						<h:inputText id="text2" label="text1" value="#{rsBean.text2}">
+							<f:validateLength maximum="10"/>
+							<a4j:support event="onkeyup" reRender="out2" />
+						</h:inputText>
+					</h:form>
+				</a4j:outputPanel>
+				
+				<a4j:outputPanel layout="none">
+					<h:outputText id="out2" rendered="#{not empty rsBean.text2}" value="Approved Text: #{rsBean.text2}" />
+				</a4j:outputPanel>
+			</a4j:outputPanel>
+	</h:panelGrid>
+	
+	<rich:separator height="1" style="10px 0"/> 
+	
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+				
+			<p><code>a4j:outputPanel</code> is rendered as a &lt;span&gt; html element if the 
+			<code>'layout'</code> attribute is equal <code>'inline'</code> 
+			(default value) or as a &lt;div&gt; html element if <code>layout="block"</code>. 
+			You can use this component for a layout purpose even if the page has no Ajax functionality.
+			</p>
+			<p>If Ajax functionality presents on the page, the component offers two additional
+			features:
+			<ul>
+			<li>Marking the area of the page as automatically re-rendered on each Ajax request event
+			without any necessity to mentioned this area in the <code>reRender</code> attribute of Ajax
+			component. Attribute <code>ajaxRendered="true"</code> turn on this feature. Note, that the effect of using
+			 ajaxRendered="true" still might be overridden with the limitToList attribute of the Ajax component
+			 or <code>renderRegionOnly</code> attribute of the <code>a4j:region</code> component.</li> 
+			<li>Marking the placeholder for any JSF component in case of it is not rendered due to
+			<code>rendered="false"</code>. This might be important when the component becomes rendered during the next
+			Ajax response. As soon as the placeholder is unknown, the rendered component doesn't
+			appear on a page. To turn on the feature for marking the placeholder, you need to have the
+			attribute <code>layout="none"</code>.</li>
+			</ul>
+			</p>		
+			<p>When <code>layout="none"</code>, the span <code>style="display:none"</code> is
+			rendered and assigns the id of the child component if the component is not rendered. 
+			Otherwise, it does not become rendered at all.<br/>
+			The following example shows the cases of usage described above:</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/outputPanel/examples/noneLayout.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/outputPanel/examples/noneLayout.xhtml"/>
+				</ui:include>
+																										
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/outputPanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Output Panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/outputPanel/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/outputPanel"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/gen.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/gen.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/gen.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,8 @@
+<html>
+	<head> 
+		<!--...Head Content here-->
+	</head> 
+	<body>
+		<!--...Page Content Here-->
+	</body> 
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/page.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/page.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/snippets/page.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,8 @@
+<f:view>
+	<a4j:page>
+		<f:facet name="head">
+			<!--...Head Content here-->
+		</f:facet>
+		<!--...Page Content here-->
+	</a4j:page>
+</f:view>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<style type="text/css">
+			.viewsourcepanel {
+				 padding-bottom:0px;
+				 width:100%;
+				 overflow:auto;
+				 border-width:0;
+				 background-color:#FFFFE7;
+			}
+			.viewsourcebody {
+				padding:0;
+			}
+			
+			 input[type="button"], input[type="submit"] {
+			 	background-color:#{a4jSkin.trimColor};
+			 }
+			</style>		
+		<p>
+			<b>&lt;a4j:page&gt;</b>  is a deprecated component used for solving of incompatibility 
+			problems in early Ajax4jsf and MyFaces versions. 
+		</p>
+		<p>
+			The component could be used to encode the 
+			full html page structure. Header facet provided to insert html header content 
+			to the page markup.
+		</p>
+		<p>
+			This component should be defined as a child component for  &lt;f:view&gt; For example:  
+		</p>
+		<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+			<rich:insert src="/richfaces/page/snippets/page.xhtml" highlight="xhtml"></rich:insert>
+		</rich:panel>
+		<p> 
+			Will be rendered as:
+		</p>
+		<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+			<rich:insert src="/richfaces/page/snippets/gen.xhtml" highlight="xhtml"></rich:insert>
+		</rich:panel>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/page.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Page component</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/page/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/page"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,38 @@
+package org.richfaces.demo.paint2d;
+
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+
+public class PaintBean {
+
+	   private int fontSize;
+
+	   public void paint(Graphics2D g2d, Object obj) {
+	   
+		   PaintData data = (PaintData) obj;
+		   
+		   int testLenght = data.text.length();
+		   fontSize = testLenght < 8? 40 : 40 - (testLenght - 8);
+		    if (fontSize < 12)fontSize = 12;
+		    Font font = new Font("Serif", Font.HANGING_BASELINE, fontSize);
+		    g2d.setFont(font);
+		   
+		    int x = 10;
+		    int y = fontSize*5/2;
+		    g2d.translate(x, y);
+		    Color color = new Color(data.color );
+		    
+		    g2d.setPaint(new Color(color.getRed(),color.getGreen(), color.getBlue(), 30));
+		    AffineTransform origTransform = g2d.getTransform();
+		    g2d.shear(-0.5*data.scale, 0);
+		    g2d.scale(1, data.scale);
+		    g2d.drawString(data.text, 0, 0);
+		    
+		    g2d.setTransform(origTransform);
+		    g2d.setPaint(color);
+		    g2d.drawString(data.text, 0, 0);
+	   }
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintData.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintData.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/PaintData.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,28 @@
+package org.richfaces.demo.paint2d;
+
+import java.io.Serializable;
+
+public class PaintData implements Serializable{
+	String text;
+	int color;
+	float scale;
+	public int getColor() {
+		return color;
+	}
+	public void setColor(int color) {
+		this.color = color;
+	}
+	public float getScale() {
+		return scale;
+	}
+	public void setScale(float scale) {
+		this.scale = scale;
+	}
+
+	public String getText() {
+		return text;
+	}
+	public void setText(String text) {
+		this.text = text;
+	}
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/painter.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/painter.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/examples/painter.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,52 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1" style="padding:10px 0" />
+
+		<h:form>
+
+			<h:panelGrid columns="3" width="100%">
+
+				<h:inputText value="#{paintData.text}">
+					<a4j:support event="onkeyup" reRender=":painter" />
+				</h:inputText>
+
+				<h:panelGroup>
+						Color:
+						<rich:inputNumberSlider showInput="false"
+						showBoundaryValues="false" showToolTip="false"
+						value="#{paintData.color}" step="255" minValue="0"
+						maxValue="16000000">
+						<a4j:support event="onchange" reRender=":painter" />
+						<f:convertNumber />
+					</rich:inputNumberSlider>
+
+				</h:panelGroup>
+
+
+				<h:panelGroup>
+						Shadow:
+						 
+					<rich:inputNumberSlider showInput="false"
+						showBoundaryValues="false" showToolTip="false"
+						value="#{paintData.scale}" step="0.5" minValue="0" maxValue="3">
+						<a4j:support event="onchange" reRender=":painter" />
+						<f:convertNumber />
+					</rich:inputNumberSlider>
+					 
+				</h:panelGroup>
+
+
+			</h:panelGrid>
+		</h:form> 
+		<rich:paint2D id="painter" width="300" height="120"
+			data="#{paintData}" format="png" paint="#{paintBean.paint}" />
+
+	<rich:separator height="1" style="padding:10px 0" />
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,50 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+		<p>The Paint2D component allows to create a graphic image using the
+		graphic2D features of JDK. The attribute <i>paint</i> should point to
+		a method of the bean that accept to parameters.</p>
+		<p>The first parameter has a Graphic2D type. I.e, it is a graphic
+		canvas you can draw on.</p>
+		<p>The second parameter is your custom data you can pass to a paint method using a data attribute of the paint2D component. The
+		Object type is using. So, you can use the bean of any type. The bean
+		should be serializable.</p>
+		<p>To improve the performance and avoid the extra unnecessary
+		traffic over the net, a generated image will be cached if the data
+		is not changed. You can turn this feature of with a cacheable attribute.</p>
+		<div class="sample-container">
+
+			<ui:include src="/richfaces/paint2D/examples/painter.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/paint2D/examples/painter.xhtml"/>
+				<ui:param name="openlabel" value="View Page Source" />
+			</ui:include>
+
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/paint2D/examples/PaintBean.java"/>
+				<ui:param name="openlabel" value="View PaintBean.java Source" />
+				<ui:param name="sourcetype" value="java" />
+			</ui:include>
+
+
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/paint2D/examples/PaintData.java"/>
+				<ui:param name="openlabel" value="View PaintData.java Source" />
+				<ui:param name="sourcetype" value="java" />
+			</ui:include>
+
+																							
+		</div>
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/paint2D.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Paint 2D Graphic</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/paint2D/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/paint2D"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/headlessPanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/headlessPanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/headlessPanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,15 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:panel>
+		RichFaces is a library for adding rich user interface features to JSF
+		applications. It extends the Ajax4jsf framework to include a large 
+		(and growing) set of powerful rich AJAX-enabled components that come
+		with extensive skins support.
+	</rich:panel>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/lookCustom.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/lookCustom.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/lookCustom.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,97 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<style>
+	.rich-panel-header {
+		color:#0054BD;
+	}
+	.panel {
+		vertical-align:top;
+	}
+	.top {
+		width:200px;height:100px;
+	}
+
+	.head2 {
+		background-image : url();
+		background-color : #4C9600;
+		height:18px;
+		text-align:center;
+		vertical-align:middle;
+		color:#CFF;
+		padding:4px 0;
+	}
+	
+	.body3 {
+		height:100px;
+		overflow:auto;
+	}
+	</style>
+	<h:panelGrid columnClasses="panel" border="0" columns="2">
+		<rich:panel>
+			<f:facet name="header">
+					Panel #1. Changing Style Synchronously
+			</f:facet>
+				Each component in the RichFaces has a pre-defined set of classes you can manipulate with. If defined, those
+				classes overwrite the ones come from the skin.
+		</rich:panel>
+	 
+			<rich:panel>
+			<f:facet name="header">
+					Panel #2. Changing Style Synchronously
+			</f:facet>
+				In this example, we define header color using the .rich-panel-header class and all panels located on the same page
+				inherit this color
+			</rich:panel>	
+	
+	</h:panelGrid>
+	
+	<h:panelGrid columnClasses="panel" border="0" columns="3">
+		<rich:panel
+			onmouseover="document.getElementById(this.id+'_header').style.background='#60BA01';document.getElementById(this.id+'_body').style.background='#F4FFF8'"
+			onmouseout="document.getElementById(this.id+'_header').style.background='#4C9600';document.getElementById(this.id+'_body').style.background='#E4FFC8'"
+			style="width:200px;" headerClass="head2" bodyClass="body3">
+			<f:facet name="header">
+	    		Panel header
+			</f:facet>
+			Base on the previous layout, but some javascript behaviour added.
+		</rich:panel>
+	
+		<rich:panel style="width:200px;"  bodyClass="body3">
+			<f:facet name="header">
+				Scrolling Text Panel
+			</f:facet>
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+	     Long Text Long Text Long Text
+		</rich:panel>
+	
+	    <rich:panel styleClass="top">
+			This is a panel without the header     
+	    </rich:panel>
+	
+		<rich:panel style="position: absolute; top: 400px; right: 100px; " styleClass="top">
+	    	<f:facet name="header">
+	    		Panel header
+			</f:facet>
+			This is a panel with absolute position on the screen.<br/>
+			Resize the browser's window to see the result.
+		</rich:panel>
+	
+	</h:panelGrid>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/nestedPanels.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/nestedPanels.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/nestedPanels.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,44 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:panel style="padding:0" headerClass="outpanelHeader">
+		<f:facet name="header">
+			<rich:spacer height="4" />
+		</f:facet>
+		<h2 align="center"><h:outputText value="Benefits of Using Ajax4jsf" /></h2>
+		<h:panelGrid columns="2" columnClasses="gridContent">
+			<rich:panel bodyClass="inpanelBody">
+				<f:facet name="header">
+					For Application Developers
+				</f:facet>
+				For Application Developers
+					<ul>
+				    <li>Production quality Open Source</li>
+				    <li>Does  Open Source and has an Open Architecture</li>
+				    <li>Compatible with any JSF Implementation - MyFaces, JSF1.1, JSF1.2</li>
+					<li>Allows to Ajaxify JSF application without writing Javascript</li>
+				    <li>Works with standard and third party components</li>
+				    <li>Adds the Ajax capability to existing non-Ajax components</li>
+					</ul>
+			</rich:panel>
+			<rich:panel  bodyClass="inpanelBody">
+				<f:facet name="header" >
+					For Component Developers
+				</f:facet>
+				 	<ul>
+					<li>Ajax4jsf is Open Source and has an Open Architecture</li>
+					<li>Gives an API to create components with built-in Ajax support</li>
+					<li>Has a Component Development Kit for rapid development</li>
+					<li>Allows to skin the look-n-feel using both CSS and set of skin-parameters</li>
+					<li>Automatically generates the unit test-cases for developing components</li>
+					<li>Allows to pack javascript code, images, css inside the final jar</li>
+					</ul>
+			</rich:panel>
+		</h:panelGrid>
+	</rich:panel>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/simplePanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/simplePanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/examples/simplePanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:panel>
+		<f:facet name="header">
+		Write your own custom rich components with built-in AJAX support
+		</f:facet>
+		The CDK includes a code-generation facility and a
+		templating facility using a JSP-like syntax. These capabilities help
+		to avoid a routine process of a component creation. The component factory
+		works like a well-oiled machine allowing the creation of first-class
+		rich components with built-in Ajax functionality even more easily than
+		the creation of simpler components by means of the traditional coding
+		approach.
+	</rich:panel>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/look-customization.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/look-customization.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/look-customization.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<p>
+		This is a demo of stylesheets usage and skinnability features to adjust a panel look.
+		</p>
+
+			<ui:include src="/richfaces/panel/examples/lookCustom.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/panel/examples/lookCustom.xhtml"/>
+			</ui:include>		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,71 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<style>
+		  .gridContent {
+		  	vertical-align:top;
+		  }
+		  
+		  .outpanelHeader {
+		  	height:4px;
+		  	border-width: 0;
+		  }
+		  .inpanelBody {
+		    height:180px;
+		    overflow:auto;
+		  }
+		  
+		</style>
+				<p>
+				The panel is a rectangle area on a page that may contain any content including other panels.
+				Panel has a header (optionally) and a body. The default look-n-feel is based on the 
+				current skin. Look-n-feel of any parts of the panel, including color scheme, borders and
+				paddings can be customizable using with pre-defined number of CSS classes.
+				</p>
+
+				<p>This is a panel with default Look-n-feel:</p>
+				
+				<div class="sample-container" >
+				
+
+					<ui:include src="/richfaces/panel/examples/simplePanel.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/panel/examples/simplePanel.xhtml"/>
+					</ui:include>
+
+							
+				</div>
+				
+				
+				<p>This is a panel without header:</p>
+				
+				<div class="sample-container" >
+
+					<ui:include src="/richfaces/panel/examples/headlessPanel.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/panel/examples/headlessPanel.xhtml"/>
+					</ui:include>				
+				</div>			
+
+				<p>The panels can be nested: </p>		
+
+				<div class="sample-container" >
+			
+					<ui:include src="/richfaces/panel/examples/nestedPanels.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/panel/examples/nestedPanels.xhtml"/>
+					</ui:include>				
+
+
+				</div>			
+			
+
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Panel</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" headerClass="header_tabs_class"  contentClass="content_tab" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/panel/usage.xhtml"/>
+			</rich:tab>		
+			<rich:tab label="Look Customization">
+				<ui:include src="/richfaces/panel/look-customization.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/panel"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/examples/example.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/examples/example.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/examples/example.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,32 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:panelBar height="400" width="500">
+		<rich:panelBarItem label="Leverage the whole set of JSF benefits while working with AJAX">
+			Ajax4jsf is fully integrated into the JSF lifecycle. While other frameworks only give you access to the managed bean facility, Ajax4jsf advantages the action and value change listeners as well as invokes server-side validators and converters during the AJAX request-response cycle.
+		</rich:panelBarItem>
+		<rich:panelBarItem label="Add AJAX capability to existing JSF applications">
+			The framework is implemented using a component library. The library set Ajax functionality into existing pages, so there is no need to write any JavaScript code or to replace existing components with new Ajax one. Ajax4jsf enables page-wide Ajax support instead of the traditional component-wide support and it gives the opportunity to define the event on the page. An event invokes an Ajax request and areas of the page which are synchronized with the JSF Component Tree after changing the data on the server by Ajax request in accordance with events fired on the client.
+		</rich:panelBarItem>
+		<rich:panelBarItem  label="Write your own custom rich components with built-in AJAX support">
+			Component Development Kit (CDK) is a design-time extension for Ajax4jsf. The CDK includes a code-generation facility and a templating facility using a JSP-like syntax. These capabilities help to avoid a routine process of a component creation. The component factory works like a well-oiled machine allowing the creation of first-class rich components with built-in Ajax functionality even more easily than the creation of simpler components by means of the traditional coding approach.
+		</rich:panelBarItem>
+		<rich:panelBarItem label="Package resources with the application's Java classes ">
+			In addition to its core, Ajax functionality of Ajax4jsf provides an advanced support for the different resources management: pictures, JavaScript code, and CSS stylesheets. The resource framework makes possible to pack easily these resources into Jar files along with the code of your custom components.
+		</rich:panelBarItem>
+		<rich:panelBarItem label="Easily generate images on-the-fly">
+			Resource framework can generate images on-the-fly so that it becomes possible to create images using the familiar approach of the Java graphic2D library.
+		</rich:panelBarItem>
+		<rich:panelBarItem label="Create a modern rich user interface look-and-feel with skins-based technology">
+			Ajax4jsf provides a skinnability feature that allows easily define and manage different color schemes and other parameters of the UI with the help of named skin parameters. Hence it is possible to access the skin parameters from JSP code and the Java code (e.g. to adjust generated on-the-fly images based on the text parts of the UI). Note: skinnability is not an equivalent of traditional CSS, but a complement.
+		</rich:panelBarItem>
+		<rich:panelBarItem label="Test the components, actions, listeners, and pages as you are creating them">
+			An automated testing facility is in our roadmap for the near future. This facility will generate test cases for your component as soon as you develop it. The testing framework will not just test the components, but also any other server-side or client-side functionality including JavaScript code. What is more, it will do all of this without deploying the test application into the Servlet container.
+		</rich:panelBarItem>
+	</rich:panelBar>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.html
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.html	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.html	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
+    "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type"
+content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="GNU source-highlight 2.1.2
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite">
+<title>usage.xhtml</title>
+<link rel="stylesheet" href="../../../css/xhtml-source.css" type="text/css">
+</head>
+<body>
+<pre><tt><span class="keyword">&lt;rich:panelBar</span><span class="normal"> </span><span class="type">height</span><span class="symbol">=</span><span class="string">"</span><span class="string">400</span><span class="string">"</span><span class="normal"> </span><span class="type">width</span><span class="symbol">=</span><span class="string">"</span><span class="string">500</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Leverage the whole set of JSF benefits while working with AJAX</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Add AJAX capability to existing JSF applications</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal">  </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Write your own custom rich components with built-in AJAX support</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Package resources with the application's Java classes </span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Easily generate images on-the-fly</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Create a modern rich user interface look-and-feel with skins-based technology</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="normal">	</span><span class="keyword">&lt;rich:panelBarItem</span><span class="normal"> </span><span class="type">label</span><span class="symbol">=</span><span class="string">"</span><span class="string">Test the components, actions, listeners, and pages as you are creating them</span><span class="string">"</span><span class="keyword">&gt;</span>
+<span class="normal">		text...</span>
+<span class="normal">	</span><span class="keyword">&lt;/rich:panelBarItem&gt;</span>
+<span class="keyword">&lt;/rich:panelBar&gt;</span>
+</tt></pre>
+</body>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/source/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<rich:panelBar height="400" width="500">
+	<rich:panelBarItem label="Leverage the whole set of JSF benefits while working with AJAX">
+		text...
+	</rich:panelBarItem>
+	<rich:panelBarItem label="Add AJAX capability to existing JSF applications">
+		text...
+	</rich:panelBarItem>
+	<rich:panelBarItem  label="Write your own custom rich components with built-in AJAX support">
+		text...
+	</rich:panelBarItem>
+	<rich:panelBarItem label="Package resources with the application's Java classes ">
+		text...
+	</rich:panelBarItem>
+	<rich:panelBarItem label="Easily generate images on-the-fly">
+		text...
+	</rich:panelBarItem>
+	<rich:panelBarItem label="Create a modern rich user interface look-and-feel with skins-based technology">
+		text...
+	</rich:panelBarItem>
+	<rich:panelBarItem label="Test the components, actions, listeners, and pages as you are creating them">
+		text...
+	</rich:panelBarItem>
+</rich:panelBar>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+				<p>
+					The Richfaces Panel Bar is a set of panels when one panel is expanded,
+					but other ones are collapsed. The following demo shows the example
+					of usage for the Panel Bar
+				</p>
+
+				
+				<div  class="sample-container" >
+			
+					<ui:include src="/richfaces/panelBar/examples/example.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/panelBar/examples/example.xhtml"/>
+					</ui:include>
+				</div>
+
+		</ui:define>
+		
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelBar.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - PanelBar</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/panelBar/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/panelBar"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/examples/example.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/examples/example.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/examples/example.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,76 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+		
+	
+	<style>
+		.cols{
+			vertical-align:top;
+			width:50%;
+		}
+	</style>			
+	<h:form id="form">
+	<h:panelGrid columns="2" columnClasses="cols" width="100%">
+	<rich:panelMenu style="width:200px"  mode="ajax"
+		iconExpandedGroup="disc" iconCollapsedGroup="disc" 
+		iconExpandedTopGroup="chevronUp" iconGroupTopPosition="right" 
+		iconCollapsedTopGroup="chevronDown" iconCollapsedTopPosition="right" >
+		<rich:panelMenuGroup label="Group 1">
+			<rich:panelMenuItem label="Item 1.1" action="#{panelMenu.updateCurrent}">
+				<f:param name="current" value="Item 1.1"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuItem label="Item 1.2" action="#{panelMenu.updateCurrent}">
+				<f:param name="current" value="Item 1.2"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuItem label="Item 1.3" action="#{panelMenu.updateCurrent}">
+				<f:param name="current" value="Item 1.3"/>
+			</rich:panelMenuItem>
+		</rich:panelMenuGroup>
+		<rich:panelMenuGroup label="Group 2">
+			<rich:panelMenuItem label="Item 2.1" action="#{panelMenu.updateCurrent}">
+				<f:param name="current" value="Item 2.1"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuItem   label="Item 2.2" action="#{panelMenu.updateCurrent}">
+				<f:param name="current" value="Item 2.2"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuItem label="Item 2.3" action="#{panelMenu.updateCurrent}">
+				<f:param name="current" value="Item 2.3"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuGroup label="Group 2.4">
+				<rich:panelMenuItem label="Item 2.4.1" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 2.4.1"/>
+				</rich:panelMenuItem>
+				<rich:panelMenuItem label="Item 2.4.2" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 2.4.2"/>
+				</rich:panelMenuItem>
+				<rich:panelMenuItem label="Item 2.4.3" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 2.4.3"/>
+				</rich:panelMenuItem>
+			</rich:panelMenuGroup>
+			<rich:panelMenuItem label="Item 2.5" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 2.5"/>
+			</rich:panelMenuItem>
+		</rich:panelMenuGroup>
+		<rich:panelMenuGroup label="Group 3">
+			<rich:panelMenuItem label="Item 3.1" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 3.1"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuItem label="Item 3.2" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 3.2"/>
+			</rich:panelMenuItem>
+			<rich:panelMenuItem label="Item 3.3" action="#{panelMenu.updateCurrent}">
+					<f:param name="current" value="Item 3.3"/>
+			</rich:panelMenuItem>
+		</rich:panelMenuGroup>
+	</rich:panelMenu>
+	<rich:panel>	
+		<a4j:outputPanel ajaxRendered="true">
+			<h:outputText value="#{panelMenu.current} selected" id="current"/>
+		</a4j:outputPanel>
+	</rich:panel>
+	</h:panelGrid>
+	</h:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+				<p>
+					The rich:panelMenu component is used to define a collapsible side-menu panel. The component has a pre-defined
+					skinable look-n-feel. You can customize it with styles and a set of component attributes. The folowing demo 
+					shows the example of rich:panelMenu
+				</p>
+
+				
+				<div  class="sample-container" >
+			
+					<ui:include src="/richfaces/panelMenu/examples/example.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/panelMenu/examples/example.xhtml"/>
+					</ui:include>
+				</div>
+				
+				<p>
+				Switching mode could be chosen with the <b>mode</b> attribute for all panelMenu items except ones where
+					this attribute was redefined. By default all items send custom request.
+				</p>
+				<p>
+					The <b>expandMode</b> attribute defines the submission modes for all collapsing/expanding panelMenu
+					groups except ones where this attribute was redefined.
+				</p>
+				<p>
+					The <b>mode</b> and <b>expandMode</b> attributes could be used with three possible parameters:
+					<ul>
+					<li>server (default) - 
+					The common submission of the form is performed and a page is completely refreshed.</li>
+					<li>ajax -
+					An Ajax form submission is performed, and additionally specified elements in the "reRender" attribute
+					are reRendered </li>
+					<li>none - 
+					"Action" and "ActionListener" attributes are ignored. Items don't fire any submits itself. Behavior is completely
+					defined by the components nested to items. Groups expand on the client side.</li>
+					</ul>
+				</p>
+
+		</ui:define>
+		
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/panelMenu.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Panel Menu</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/panelMenu/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/panelMenu"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/examples/clock.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/examples/clock.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/examples/clock.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,30 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j" 
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1"/>
+	<a4j:region>
+		<h:form>
+			<a4j:poll id="poll" interval="500" enabled="#{userBean.pollEnabled}" reRender="poll,grid"/>
+		</h:form>
+	</a4j:region>
+	<h:form>
+		<h:panelGrid columns="2" width="80%" id="grid">
+			<h:panelGrid columns="1">
+				<h:outputText value="Polling Inactive" rendered="#{not userBean.pollEnabled}"></h:outputText>
+				<h:outputText value="Polling Active" rendered="#{userBean.pollEnabled}"></h:outputText>
+				<a4j:commandButton style="width:120px" id="control"
+								   value="#{userBean.pollEnabled?'Stop':'Start'} Polling"
+								   reRender="poll, grid">
+					<a4j:actionparam name="polling" value="#{!userBean.pollEnabled}"
+									 assignTo="#{userBean.pollEnabled}"/>
+				</a4j:commandButton>
+			</h:panelGrid>
+				<h:outputText id="serverDate" style="font-size:16px" value="Server Date: #{userBean.date}"/>
+		</h:panelGrid>  
+	</h:form>
+	<rich:separator height="1" style="padding-top:10px"/>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,89 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	  xmlns:ui="http://java.sun.com/jsf/facelets"
+	  xmlns:h="http://java.sun.com/jsf/html"
+	  xmlns:f="http://java.sun.com/jsf/core"
+	  xmlns:a4j="http://richfaces.org/a4j"
+	  xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+		<p>a4j:poll is one of the way how you can organize the periodical polling of server data and
+			updating the page. a4j:poll is a standard RichFaces Ajax component. Thus, you can use the same
+			approach as for a4j:commandButton for example. I.e. you can use action attribute to invoke the
+			action method and reRender attribute to update area(s) on the client when Ajax Response returns
+			back. RichFaces uses the standard form based request, so the form around the
+			a4j:poll component is required.
+		</p>
+
+		<p>The following example shown how the date and time is updated on the page based on the data
+			taken from the server. To turn off polling, press "Stop Polling" button.</p>
+		<p><b>Note: </b>polling is automatically disabled in this demo after one minute of working.</p>
+
+		<div class="sample-container">
+
+				<ui:include src="/richfaces/poll/examples/clock.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/poll/examples/clock.xhtml"/>
+				</ui:include>				
+		</div>
+		
+
+		<p><b>interval</b> attribute defines the interval in ms between the previous response and the
+			next request. Hence, the total period between two requests generated by a4j:poll is a sum of interval
+			and server response time.
+		</p>
+
+		<p>
+			<b>timeout</b> attribute defines the time in ms for how long the the client will wait for the server response.
+			if Ajax Response does not come during this period, the connection is aborted and the next
+			request is sent. By default, the timeout is not set.
+		</p>
+
+		<p>
+			<b>enabled</b> attribute defines should the a4j:poll send request or not. You can use EL
+			to point to the bean property that will be the flag. Re-render the a4j:poll component itself
+			to apply the current value. See the example how to accomplish this task.
+		</p>
+		<p>
+			a4j:poll sends requests in parallel with user activities. The intersections
+			between a4j:poll Ajax requests and other Ajax requests are possible. This might causes
+			unpredictable glitches. Especially, it is true for the earlier version of JSF implementations
+			when the parallel requests to the server was not expected. To avoid the problem, try to follow
+			very simple rules:
+		</p>
+		<ul>
+			<li>Have a separate form for a4j:poll. Note, that other fields will be included in
+				request and processed on the server if the form contains not only a4j:poll;
+			</li>
+			<li>Surround a4j:poll with a4j:region. This allow to limit the part of the component
+				tree that will be processed for each Ajax request;
+			</li>
+			<li>Try to avoid updating the same server data that might be updated by the Ajax requests
+				produced by the user activities. If you need this, be sure your code allows to access
+				the data from parallel thread without conflicts;
+			</li>
+			<li>Try to avoid re-rendering the area(s) with input field and other form controls.
+				This causes the losing of input focus because the old elements are removed before
+				the update with the upcomming ones
+			</li>
+			<li>Try to re-render as little area(s) on the client as possible. Try do not have
+				intersections between the areas re-rendered by a4j:poll and areas re-rendered
+				by other Ajax components;
+			</li>
+			<li>Use the eventsQueue with the same name as the name for other Ajax components.
+				This allows to queue the Ajax request and avoid updating the server side data
+				and re-rendering the page area(s) in parallel;
+			</li>
+			<li>Set the reasonable interval. Note that each Ajax request restores the session
+				and a component tree as well as processes the whole JSF lifecycle. Too often requests
+				just degrade the overall performance of an application
+			</li>
+		</ul>
+
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/poll.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Poll</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/poll/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/poll"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<p>
+			The  &lt;a4j:portlet&gt; should be used in a portal environment. The main 
+			component purpose is implementation of possibility to create several instances 
+			for the same portlet on one page.	
+		</p>
+		<p>
+			Portal page can include some instances of the same portlet but clientId of 
+			elements should be different for each window. In that case 'namespace' is used 
+			for each portlet. The &lt;a4j:portlet&gt; implemets NaimingContainer interface and 
+			adds a namespace to all components on a page. All portlet content should be 
+			wrapped by &lt;a4j:portlet&gt; for resolving the problems mentioned before. 
+ 		</p>	
+		<p>
+			More info about portal environments support can be found on the users forums.
+		</p>
+		<p>
+			Portlet Sample could be checked out from JBoss SVN:
+			<a href="http://anonsvn.jboss.org/repos/ajax4jsf/trunk/samples/portal-echo/">
+				portal-echo application
+			</a>
+		</p>
+		<p>
+			Usage instructions for this demo could be found at the corresponding:
+			<a href="http://www.jboss.com/index.html?module=bb&amp;op=viewtopic&amp;t=107325">
+				JBoss forum topic
+			</a>
+		</p>
+		<ui:remove>
+		<div class="sample-container">
+			<ui:include src="/richfaces/push/examples/push.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/push/examples/push.xhtml"/>
+				<ui:param name="openlabel" value="View Page Source" />
+			</ui:include>	
+		</div>
+		</ui:remove>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/portlet.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Portlet component</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/portlet/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/portlet"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenerReg.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenerReg.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenerReg.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,5 @@
+public void addListener(EventListener listener) {
+synchronized (listener) {
+	if (this.listener != listener) {
+	this.listener = (PushEventListener) listener;
+}

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenermessage.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenermessage.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/listenermessage.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,4 @@
+System.out.println("event occurs");
+synchronized (listener) {
+	listener.onEvent(new EventObject(this));
+}
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/page.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/page.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/snippets/page.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1 @@
+<a4j:push reRender="msg" eventProducer="#{messageBean.addListener}" interval="3000"/>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<style>
+			.viewsourcepanel {
+				 padding-bottom:0px;
+				 width:100%;
+				 overflow:auto;
+				 border-width:0;
+				 background-color:#FFFFE7;
+			}
+			.viewsourcebody {
+				padding:0;
+			}
+		
+		</style>
+		<p>
+			The  &lt;a4j:push&gt; periodically perform AJAX request to server, to simulate 'push' data.		
+		</p>
+		<p>
+			The main difference between &lt;a4j:push&gt; and &lt;a4j:poll&gt; components 
+			is that  &lt;a4j:push&gt;   makes request to minimal code only (not to JSF tree) 
+    		in order to check the presence of messages in the queue. If the message exists 
+			the complete request will be performed. The component doesn't poll registered 
+			beans but registers EventListener which receives messages about events.		 	
+		</p>	
+		<p>
+			Attribute 'interval' is used as for poll component. It specifies the interval in ms.
+			for call push request. Simple example of usage: 
+		</p>	
+		<p>
+			<i>Page code:</i>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert highlight="xhtml" src="/richfaces/push/snippets/page.xhtml"/>
+			</rich:panel>
+		</p>	
+		<p>
+			<i>Code for registration of listener:</i>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert highlight="java" src="/richfaces/push/snippets/listenerReg.java"/>
+			</rich:panel>	
+		</p>	
+		<p>
+			<i>Component can get message using current code:</i>
+			<rich:panel styleClass="viewsourcepanel" bodyClass="viewsourcebody">
+				<rich:insert highlight="java" src="/richfaces/push/snippets/listenermessage.java"/>
+			</rich:panel>
+		</p>
+		<p>
+			Thus, component 'push' uses asynchronous model instead of polls.
+		</p>
+		<ui:remove>
+		<div class="sample-container">
+			<ui:include src="/richfaces/push/examples/push.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/push/examples/push.xhtml"/>
+				<ui:param name="openlabel" value="View Page Source" />
+			</ui:include>	
+		</div>
+		</ui:remove>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/push.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Push</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/push/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/push"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/selfRender.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/selfRender.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/selfRender.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,53 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1" />
+
+	<h:panelGrid columns="2" width="100%">
+
+		<a4j:region selfRendered="true">
+			<h:panelGroup>
+				<h:form>
+					<h:panelGrid columns="2">
+						<h:outputText value="Name" />
+						<h:inputText value="#{userBean.name}">
+							<a4j:support event="onkeyup" reRender="out3,outname2" />
+						</h:inputText>
+					</h:panelGrid>
+				</h:form>
+				<h:panelGroup id="out3">
+					This text will disappear during the partial update of this panel.
+					The text appears again only after the whole page refresh or a partial
+					update from the region with selfRendered="false" (default value).
+				</h:panelGroup>
+			</h:panelGroup>
+		</a4j:region>
+
+		<a4j:region selfRendered="true">
+			<h:panelGroup>
+				<h:form>
+					<h:panelGrid columns="2">
+						<h:outputText value="Name" />
+						<h:inputText value="#{userBean.name}">
+							<a4j:support event="onkeyup" reRender="out4,outname2" />
+						</h:inputText>
+					</h:panelGrid>
+				</h:form>
+				<h:panelGroup id="out4">
+					<h:outputText value="The text of the similar panel will 
+						not disappear because it is printed with h:outputText" />
+				</h:panelGroup>
+			</h:panelGroup>
+		</a4j:region>
+
+	</h:panelGrid>
+	<h:outputText 	id="outname2" style="font-weight:bold"
+					value="Typed Name: #{userBean.name}" />
+	
+	<rich:separator style="padding-top:10px" height="1" />
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/validationErrorIssue.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/validationErrorIssue.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/examples/validationErrorIssue.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,41 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1" />
+	<a4j:outputPanel ajaxRendered="true">
+		<h:messages style="color:red" />
+	</a4j:outputPanel>
+	<h:panelGrid columns="2" width="100%">
+
+		<h:form id="form1">
+				<h:panelGrid columns="2">
+					<h:outputText value="Name" />
+					<h:inputText value="#{userBean.name}">
+						<a4j:support event="onkeyup" reRender="outname" />
+					</h:inputText>
+					<h:outputText value="Job:" />
+					<h:inputText  required="true" id="job2" value="#{userBean.job}" />
+				</h:panelGrid>
+		</h:form>
+
+		<h:form id="form2">
+			<h:panelGrid columns="2">
+				<h:outputText value="Name" />
+				<a4j:region>
+					<h:inputText value="#{userBean.name}">
+						<a4j:support event="onkeyup" reRender="outname" />
+					</h:inputText>
+				</a4j:region>
+				<h:outputText value="Job" />
+				<h:inputText   required="true"  id="job1"  value="#{userBean.job}" />
+			</h:panelGrid>
+		</h:form>
+
+	</h:panelGrid>
+	<h:outputText id="outname" style="font-weight:bold" value="Typed Name: #{userBean.name}" />
+	<rich:separator style="padding-top:10px" height="1" />
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,90 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<style>
+			 input[type="button"] {
+			 	background-color:#{a4jSkin.trimColor};
+			 }
+			</style>
+
+			<p>
+			Ajax region is a key ajax component. It limits the part of the component tree to be processed on the server side when 
+			ajax request comes. Processing means invocation during Decode, Validation and Model Update phase.
+		    Most common reasons to use a region are:
+		    <ul>
+		     <li>avoiding the aborting of the JSF lifecycle processing during the validation of other
+		     form input unnecessary for given ajax request;</li>
+		     <li>defining the different strategies when events will be deliveries 
+		     (immediate="true/false")</li>
+		     <li>showing an individual indicator of an ajax status</li>
+		     <li>increasing the performance of the rendering processing (selfRendered="true/false", renderRegionOnly="true/false")</li>
+		    </ul>
+			</p>
+			<p>
+				The following two examples show the situation when a validation error does not 
+				allow to process an ajax input. Type the name. The outputText component should
+				reappear after you. However, in the first case, this activity will be aboted because
+				of the other field with required="true". You will see only the error message 
+				while the "Job" field is empty.
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/region/examples/validationErrorIssue.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/region/examples/validationErrorIssue.xhtml"/>
+				</ui:include>
+			</div>
+			<p>
+				If no one region is defined explicitly on the page, the whole view plays the role of a region. 
+				Regions might be nested. When the ajax request is invoked by the ajax component, the
+				closest to this component region becomes an actual.
+			</p>
+			<p>
+				Ajax region <b>does not</b> define <b>what</b> the area(s) on the page should be 
+				refreshed when the ajax response is complete. You need to use reRender attribute of
+				the ajax components or use a4j:outputPanel ajaxRendered="true" for this purpose.
+			</p>
+			<p>
+				Ajax region might limit the set of areas to be re-rendered if regionRenderOnly="true". If 
+				this attribute is set, only the marked area(s) inside the given region will be
+				included in the list for re-render. The marked area(s) outside of the 
+				region will be ommited.
+			</p>
+			<p>
+				The area(s) marked for update might be re-rendered directly from the component tree
+				rather than involving jsp (xhtml) page processing if selfRendered attribute is set
+				to true. This might bust the performance to decrease time spending on Render Respose 
+				phase. However, you need to be aware that the artifact that are not included in the 
+				component tree will disappear from your page after the page is updated.<br/>
+				Most known component that is not stored in the component tree is f:verbatim. It is often
+				used to wrap non-jsf content such as pure html tags in JSF 1.1. However, even f:verbatim
+				is not required, the pure html tags are not stored in the component tree and will be
+				revoked from the update area(s) if selfRendered="true".
+			</p>
+			<p>
+				The following example shows the typical situation when the content unexpectedly
+				disappear during the partial page update when selfRendered="true". The right part of the 
+				example works fine, because the text is produced by the standard h:outputText component 
+				that is stored in the component tree. Both forms are wrapped with a4j:region selfRendered="true"
+			</p>
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/region/examples/selfRender.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/region/examples/selfRender.xhtml"/>
+				</ui:include>			
+				</div>
+						
+			<rich:spacer height="30" />
+		</ui:define>
+		
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/region.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Region</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/region/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/region"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/UpdateBean.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/UpdateBean.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/UpdateBean.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+package org.richfaces.datatable;
+
+import javax.faces.component.html.HtmlInputText;
+import javax.faces.context.FacesContext;
+import org.ajax4jsf.component.UIRepeat;
+import java.util.HashSet;
+import java.util.Set;
+
+public class UpdateBean {
+
+	HtmlInputText priceRef;
+	private UIRepeat repeater;
+	private Set<Integer> keys = null;
+	
+	/**
+	 * @return the keys
+	 */
+	public Set getKeys() {
+		return keys;
+	}
+
+	/**
+	 * @param keys the keys to set
+	 */
+	public void setKeys(Set keys) {
+		this.keys = keys;
+	}
+
+	public void setRepeater(UIRepeat repeater) {
+		this.repeater = repeater;
+	}
+
+	public UIRepeat getRepeater() {
+		return repeater;
+	}
+
+	public HtmlInputText getPriceRef() {
+		return priceRef;
+	}
+
+	public void setPriceRef(HtmlInputText priceRef) {
+		this.priceRef = priceRef;
+	}
+	
+	public String change(){
+		
+		HashSet keys = new HashSet<Integer>();
+		int rowKey = getRepeater().getRowIndex();
+		keys.add(rowKey);
+		setKeys(keys);
+		priceRef.processValidators(FacesContext.getCurrentInstance());
+		priceRef.processUpdates(FacesContext.getCurrentInstance());
+		return null;
+	}
+}


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/UpdateBean.java
___________________________________________________________________
Name: svn:executable
   + *

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/repeater.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/repeater.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/examples/repeater.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+
+
+	<h:form>
+		<a4j:outputPanel id="table">
+		<table border="1">
+			<tbody>
+				<tr>
+					<th><h:outputText value="Product Code" /></th>
+					<th><h:outputText value="Proposed Price" /></th>
+					<th><h:outputText value="Sales Cost" /></th>
+					<th style="width: 150px"><h:outputText value="Reason" /></th>
+					<th><h:outputText value="Proposed Gross Margin" /></th>
+				</tr>
+				<a4j:repeat value="#{salesReport.items}" var="item" binding="#{updateBean.repeater}">
+					<tr>
+						<td align="center">
+							<h:outputText value="#{item.productCode}" />
+						</td>
+						<td>
+							<h:inputText binding="#{updateBean.priceRef}"
+							immediate="false" value="#{item.proposedPrice}" size="7">
+								<a4j:support immediate="true" action="#{updateBean.change}"
+									event="onchange" reRender="reason,margin" />
+							</h:inputText>
+						</td>
+						<td>
+							<h:outputText value="#{item.salesCost}" />
+						</td>
+						<td>
+							<h:selectOneMenu id="reason" required="true"
+								value="#{item.reason}">
+								<f:selectItems value="#{item.reasons}" />
+							</h:selectOneMenu>
+						</td>
+						<td>
+							<h:outputText id="margin"
+								value="#{item.proposedGrossMargin}">
+								<f:convertNumber pattern="$###0.000" />
+							</h:outputText>
+						</td>
+					</tr>
+				</a4j:repeat>
+			</tbody>
+		</table>
+		</a4j:outputPanel>
+		<rich:messages />
+	</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+
+			
+			<p>
+			The &lt;a4j:repeat&gt; component implements a basic iteration component. 
+			Additionally to facelets &lt;ui:repeat&gt; component it allows to update 
+			a set of its children instead of the whole using AJAX requests.
+			<br />
+			The following example shows the repeat component in use. 
+			Here you could explore how to make updatable only two particular 
+			cells of a table using Ajax Keys.
+			</p>
+			
+
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/repeat/examples/repeater.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/repeat/examples/repeater.xhtml"/>
+				</ui:include>				
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/repeat/examples/UpdateBean.java"/>
+					<ui:param name="openlabel" value="View UpdateBean.java Source" />
+					<ui:param name="sourcetype" value="java" />
+				</ui:include>
+			
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/repeat.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Repeat</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/repeat/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="richfaces/repeat/examples/repeater.xhtml"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/examples/manually.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/examples/manually.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/examples/manually.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,59 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<a4j:loadScript src="resource:///org/richfaces/renderkit/html/scripts/scriptaculous/scriptaculous.js"/>
+	<a4j:loadScript src="resource:///org/richfaces/renderkit/html/scripts/scriptaculous/effects.js"/>
+	
+	<script>
+		Effect.Transitions.Elastic = function(pos) {
+	    	return -1*Math.pow(4,-2*pos) * Math.sin((pos*3-1)*(3*Math.PI)/2) + 1;
+		};
+	</script>
+
+	<h:commandButton  onclick="new Effect.BlindUp($('mypanel'), {duration:.3});return false" value="Hide" />
+	<h:commandButton  onclick="new Effect.BlindDown($('mypanel'),{duration:1.5,transition:Effect.Transitions.Elastic});return false" value="Show" />
+
+	<div>
+		<rich:spacer height="20" />
+
+		<rich:panel  id="mypanel">
+			<f:facet name="header">
+				<h:outputText value="Using Scriptaculous Effects"/>
+			</f:facet>
+
+			<h:form>
+				<h:panelGrid styleClass="rsPanel" width="250" columns="2">
+					<h:outputText styleClass="rsLabel" value="Name:" />
+					<h:inputText  styleClass="rsInput"  value="#{userBean.name}" />
+					
+					<h:outputText styleClass="rsLabel" value="Job:" />
+					<h:inputText  styleClass="rsInput"  value="#{userBean.job}" />
+					
+					<h:panelGroup />
+					<h:commandButton styleClass="rsButton"  value="Submit">
+						<a4j:support  disableDefault="true" event="onclick" reRender="out" />
+					</h:commandButton>
+					
+					<f:facet name="footer">
+					</f:facet>
+							
+				</h:panelGrid>
+			</h:form>			
+			<h:panelGrid id="out" columns="1">
+				
+			<h:outputText value=""/>
+			<h:outputText value="You have just entered:"/>
+			<h:outputText value="Name: #{userBean.name}" />
+			<h:outputText value="Job: #{userBean.job}" />
+			</h:panelGrid>
+				
+		</rich:panel>
+
+		<rich:spacer height="20" />
+	</div>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>a4j:loadScript is similar to the standard script tag with src attribute, but it allows
+			to load script from alternative sources like a jar file.
+			</p>
+			<p>
+			<b>src</b> attribute defines the context relative path to the script. Instead of html
+			 script tag it's not required to have a prefix of your application. The leading slash in 
+			 the path means the root of the web context.
+			</p>
+			<p>
+				You can use "resource://" prefix to access the script file using
+				RichFaces resource framework. For example, if your script file is located inside the
+				jar file and has a full path there: /org/mycompany/assets/script/focus.js , you can
+				point to it with:
+				<pre style="margin:0px">
+	<span class="xml_tag_symbols">&lt;</span><span class="xml_tag_name">a4j:loadScript</span><span class="xml_plain"> </span><span class="xml_attribute_name">src</span><span class="xml_tag_symbols">=</span><span class="xml_attribute_value">"resource:///org/mycompany/assets/script/focus.js"</span><span class="xml_plain"> </span><span class="xml_tag_symbols">/&gt;</span><span class="xml_plain"/>
+				</pre>
+			</p>
+			<p>
+				It is possible to register aliases in the static script files or dynamically
+				generated scripts and use those aliases then. For example, RichFaces has an
+				alias for the prototype.js script. So, you can point to "resource://prototype.js" as
+				a src for loading script and use prototype features. The following example
+				shows how to use shipped with RichFaces prototype.js and script.aculo.us to create
+				a client-side effects.
+			</p>
+
+
+			<div id="itme" class="sample-container">
+
+				<ui:include src="/richfaces/script/examples/manually.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/script/examples/manually.xhtml"/>
+				</ui:include>
+										
+			</div>
+				
+		
+			<p>
+				Note that if you have an Ajax functionality on a page, the prototype.js is already 
+				attached to this page and you do not have to include it explicitly once again.
+			</p>
+			<p>
+				Since version 3.1.0, RichFaces introduced the rich:effect component. Hence, you do not have
+				to write any javascript to make effects appear in your application.
+			</p>
+		</ui:define>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/script.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Load Script</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/script/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/loadScript"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,76 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+			
+		<h:form>
+			<rich:spacer height="30" />
+			<rich:scrollableDataTable rowKeyVar="rkv" frozenColCount="1" height="400px" 
+				width="700px" id="carList" rows="40" columnClasses="col"
+				value="#{dataTableScrollerBean.allCars}" var="category" sortMode="single"
+				selection="#{dataTableScrollerBean.selection}">
+
+				<rich:column id="make">
+					<f:facet name="header"><h:outputText styleClass="headerText" value="Make" /></f:facet>
+					<h:outputText value="#{category.make}" />
+				</rich:column>
+				<rich:column id="model">
+					<f:facet name="header"><h:outputText styleClass="headerText" value="Model" /></f:facet>
+					<h:outputText value="#{category.model}" />
+				</rich:column>
+				<rich:column id="price">
+					<f:facet name="header"><h:outputText styleClass="headerText" value="Price" /></f:facet>
+					<h:outputText value="#{category.price}" />
+				</rich:column>
+				<rich:column id="mileage">
+					<f:facet name="header"><h:outputText styleClass="headerText" value="Mileage" /></f:facet>
+					<h:outputText value="#{category.mileage}" />
+				</rich:column>
+				<rich:column width="200px" id="vin">
+					<f:facet name="header"><h:outputText styleClass="headerText" value="VIN" /></f:facet>
+					<h:outputText value="#{category.vin}" />
+				</rich:column>
+				<rich:column id="stock">
+					<f:facet name="header"><h:outputText styleClass="headerText" value="Stock" /></f:facet>
+					<h:outputText value="#{category.stock}" />
+				</rich:column>
+			</rich:scrollableDataTable>
+			<rich:spacer height="20px"/>
+			<a4j:commandButton value="Show Current Selection" reRender="table" 
+				action="#{dataTableScrollerBean.takeSelection}" 
+				oncomplete="javascript:Richfaces.showModalPanel('panel');"/>
+		</h:form>
+		<rich:modalPanel id="panel" autosized="true">
+				<f:facet name="header">
+					<h:outputText value="Selected Rows"/>
+				</f:facet>
+				<f:facet name="controls">
+					<span style="cursor:pointer" onclick="javascript:Richfaces.hideModalPanel('panel')">X</span>
+				</f:facet>
+			<rich:dataTable value="#{dataTableScrollerBean.selectedCars}" var="sel" id="table">
+				<rich:column>
+					<f:facet name="header"><h:outputText value="Make" /></f:facet>
+					<h:outputText value="#{sel.make}" />
+				</rich:column>
+				<rich:column id="model">
+					<f:facet name="header"><h:outputText value="Model" /></f:facet>
+					<h:outputText value="#{sel.model}" />
+				</rich:column>
+				<rich:column id="price">
+					<f:facet name="header"><h:outputText value="Price" /></f:facet>
+					<h:outputText value="#{sel.price}" />
+				</rich:column>
+				<rich:column id="mileage">
+					<f:facet name="header"><h:outputText value="Mileage" /></f:facet>
+					<h:outputText value="#{sel.mileage}" />
+				</rich:column>
+				<rich:column id="stock">
+					<f:facet name="header"><h:outputText value="Stock" /></f:facet>
+					<h:outputText value="#{sel.stock}" />
+				</rich:column>
+			</rich:dataTable>
+		</rich:modalPanel>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+		<p>rich:scrollableDataTable represents the tabular data and has the following features
+		<ul>
+			<li>variable content of the table cells;</li>
+			<li>dynamically fetching of rows from the server when a table is scrolled up and down;</li>
+			<li>resizing of columns by the mouse dragging the column bar;</li>		
+			<li>sorting of columns by clicking the header;</li>		
+			<li>fixing of one or more left columns when a table is scrolled horizontally;</li>		
+			<li>one and multi-selection rows mode;</li>	
+			<li>customization of table look-n-fill from skin parameters</li>			
+			<li>customizing the table look-n-fill from skin parameters</li>			
+		</ul>
+		</p>
+
+		<div class="sample-container">
+				<ui:include src="/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/scrollableDataTable/examples/scrollableDataTable.xhtml"/>
+					<ui:param name="openlabel" value="View Page Source" />
+				</ui:include>			
+		</div>
+		
+		<p>
+		
+		</p>
+		
+	</ui:define>
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/scrollableDataTable.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Scrollable Data Table</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/scrollableDataTable/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/scrollableDataTable"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/examples/variants.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/examples/variants.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/examples/variants.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<p>
+		This is default separator:
+		<rich:separator />
+	</p>
+	<p>
+		This is tick 75% beveled separator aligned to the center:
+		<rich:separator lineType="beveled" height="8" width="75%" align="center"/>
+	</p>
+	<p>
+		Here is more examples of different line types:
+		<rich:separator height="2" lineType="dotted"/><br/>
+		<rich:separator height="2" lineType="dashed"/><br/>
+		<rich:separator height="4" lineType="double"/><br/>
+		<rich:separator height="2" lineType="solid"/><br/>
+	</p>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<p>
+			Separator is used to draw a horizontal line on a page. You may specify different types of a line, the possible values are "beveled" (default), "dotted", "dashed", "double" and "solid".
+			You also can specify width, height and alignment for the separator.
+		</p>
+		<div class="sample-container">
+
+				<ui:include src="/richfaces/separator/examples/variants.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/separator/examples/variants.xhtml"/>
+				</ui:include>			
+		</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/separator.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Separator</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/separator/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/separator"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/basic.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/basic.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/basic.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,19 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:simpleTogglePanel switchType="client" label="Add AJAX capability to existing JSF applications">
+		The framework is implemented by using a component library. The library
+		set Ajax functionality into existing pages, so there is no need to write
+		any JavaScript code or to replace existing components with new Ajax one. 
+		Ajax4jsf enables page-wide Ajax support instead of the traditional 
+		component-wide support and it gives the opportunity to define the event 
+		on the page. An event invokes an Ajax request and areas of the page 
+		which are synchronized with the JSF Component Tree after changing the 
+		data on the server by Ajax request in accordance with events fired on 
+		the client.				
+	</rich:simpleTogglePanel>	
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/difftypes.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/difftypes.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/examples/difftypes.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,30 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<h:form>
+		<h:panelGrid columns="3" columnClasses="tpanels" width="100%">
+		
+			<rich:simpleTogglePanel switchType="server" label="Server Switch Type">
+					The regular JSF form submission is processed during the changing mode between
+					showing and hidding the additional content.
+			</rich:simpleTogglePanel>
+			
+			<rich:simpleTogglePanel switchType="ajax" label="Ajax Switch Type">
+					This type allows to perform the partual view update instead of the
+					whole page reloading. You also can point to other areas of the view
+					to be re-rendered while the panel content is toggled.
+			</rich:simpleTogglePanel>
+			
+			<rich:simpleTogglePanel switchType="client" label="Client Switch Type">
+					The switching between showing and hiding the toggle panel content
+					performs on the client side.
+			</rich:simpleTogglePanel>
+							
+		</h:panelGrid>			
+	</h:form>
+					
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<style>
+		 .tpanels {
+		   width:33%;
+		   padding: 10px;
+		   vertical-align:top;
+		   height:140px;
+		 }
+		</style>
+			<p>SimpleTogglePanel represents a panel with a base text label at the top and additional 
+			content that can be shown or hidden. Additional content is shown or hidden 
+			using the simpleTogglePanel control located to the right of the base text label by default.<br />
+			This is an example of the component with default look-n-feel:
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/simpleTogglePanel/examples/basic.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/simpleTogglePanel/examples/basic.xhtml"/>
+				</ui:include>							
+			</div>
+
+			
+			
+			<p>The switchType attribute allows to select a toggle approach that can be 'client',
+			'server' or 'ajax'. The 'server' and 'ajax' types require to be surrounded with a form element such as &lt;h:form&gt; or &lt;a4j:form&gt;.
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/simpleTogglePanel/examples/difftypes.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/simpleTogglePanel/examples/difftypes.xhtml"/>
+				</ui:include>							
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/simpleTogglePanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Simple Toggle Panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/simpleTogglePanel/usage.xhtml"/>
+			</rich:tab>						
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/simpleTogglePanel"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/examples/spacers.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/examples/spacers.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/examples/spacers.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<p>
+		There is a spacer 100x10<rich:spacer width="100" height="10" title="Here is a spacer..."/>before this.
+	</p>
+	<p>
+		There is 1x5 spacer between two lines below:
+		<div style="height:0px; border:1px solid #{a4jSkin.panelBorderColor}"/>
+		<rich:spacer width="1" height="5" title="Here is a spacer..."/>
+		<div style="height:0px; border:1px solid #{a4jSkin.panelBorderColor}"/>
+	</p>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<p>
+				Spacer is a simple component that renders an invisible image with the given width, height. Usually it is used to separate elements of page design.
+			</p>
+
+			<ui:include src="/richfaces/spacer/examples/spacers.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/spacer/examples/spacers.xhtml"/>
+			</ui:include>		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/spacer.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Spacer</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/spacer/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/spacer"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/cleaner.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/cleaner.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/cleaner.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,44 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1"/>
+	<a4j:region id="extr">
+		<h:form>
+			<h:outputText value="Status:" />
+			<a4j:status id="commonstatus" startText="In Progress...." stopText=""/>
+
+			<h:panelGrid columns="2">
+				<h:outputText value="Name"/>
+				<h:inputText id="name" value="#{userBean.name}">
+					<a4j:support event="onkeyup" reRender="out" />
+				</h:inputText>
+
+				<h:outputText value="Job"/>
+				<a4j:region  id="intr">
+					<h:inputText id="job" value="#{userBean.job}">
+						<a4j:support event="onkeyup"  reRender="out" status="commonstatus"/>
+					</h:inputText>
+				</a4j:region>
+
+				<h:panelGroup />
+
+
+
+			</h:panelGrid>
+			<a4j:region>
+				<h:outputText id="out" value="Name: #{userBean.name}, Job: #{userBean.job}" />
+				<br />
+				<a4j:commandButton ajaxSingle="true" value="Clean Up Form" reRender="name, job, out"  status="commonstatus">
+					<a4j:actionparam name="n" value=""  assignTo="#{userBean.name}" />
+					<a4j:actionparam name="j" value=""  assignTo="#{userBean.job}" />
+				</a4j:commandButton>
+			</a4j:region>
+
+		</h:form>
+	</a4j:region>
+	<rich:separator height="1" style="padding-top:10px"/>		
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/pictured.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/pictured.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/pictured.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,26 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	
+	<rich:separator height="1"/>				
+	<a4j:region id="rb">
+		<h:panelGrid columns="2">
+
+			<h:form>
+				  <a4j:commandButton eventsQueue="foo2"  value="Ajax Request 2"/>
+			</h:form>
+
+			<a4j:status>
+				<f:facet name="start">
+					<h:graphicImage  value="/images/ajax/ajax_process.gif"/>
+				</f:facet>
+			</a4j:status>
+
+		</h:panelGrid>
+	</a4j:region>
+	<rich:separator height="1" style="padding-top:10px"/>		
+				
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/simple.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/simple.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/examples/simple.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1"/>		
+	<h:outputText value="Ajax  Status:"/>
+
+	<a4j:status id="commonstatus"  startText="In progress..." stopText="Complete"/>
+
+	<h:form>
+		  <a4j:commandButton eventsQueue="foo"  value="Ajax Request"/>
+	</h:form>
+	<rich:separator height="1" style="padding-top:10px"/>						
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+	
+				<p>a4j:status is an indicator of an Ajax request. It has two states - start and stop. The start
+				state indicates that an Ajax request is in progress. When Ajax Response comes back,
+				the component switches to the stop stage.
+			</p>
+			<div class="sample-container" >
+				
+				<ui:include src="/richfaces/status/examples/simple.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/status/examples/simple.xhtml"/>
+				</ui:include>					
+			</div>
+			
+			<p>
+				<b>startText</b> attribute defines the label that will be visible when the Ajax request
+				is in progress. You can use <b>startStyle</b> or <b>startStyleClass</b>  attribute  to
+				customize style for a start label. You can use <b>facet name="start"</b> to define more enhanced
+			    content for indication of the start state. If facet is defined, the value of startText
+				attribute becomes void.
+			</p>
+			<p>
+				<b>stopText</b> attribute defines the label that will be visible when the Ajax Response
+				comes back. You can use <b>stopStyle</b> or <b>stopStyleClass</b>  attribute  to
+				customize style for a stop label. You can use <b>facet name="stop"</b> to define more enhanced
+			    content for indication of the stop state. If facet is defined, the value of stopText
+				attribute becomes void.
+			</p>
+			<p>
+				In case of not stopText nor facet name="stop" are not defined, the stop stage will
+				not have a visual representation. You can use this option if you want to show only
+				"in progress" indicator. The following example show the graphic image to
+				the right of the input field during an Ajax request.
+			</p>
+		
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/status/examples/pictured.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/status/examples/pictured.xhtml"/>
+				</ui:include>					
+
+			</div>
+
+			<p>
+				By default, a4j:status works for each Ajax components inside the local region. This
+				means if you have not any region defined on the page (the whole view is a region) and
+				have only one a4j:status on the page, this a4j:status will be activated during
+				Ajax request sent by any of the Ajax component located on the page.
+			</p>
+			<p>
+				This client id of the a4j:status component is assigned based on the following pattern:
+				&lt;working region Id&gt;:status . <b>for</b> attribute defines the id of the region the
+				a4j:status will work for. If 'for' attribute is not defined, the working region will be the
+				region, the a4j:status located into. The root region has a "_viewRoot" name.
+			</p>
+			<p><b>forceId</b>  attribute allows to replace the ":status" postfix of the client id with the
+				defined 'id' attribute. If 'forceId' attribute is not defined, the defined 'id' attribute
+				will be ignored.
+			</p>
+
+			<p>
+				It is possible to have more than one a4j:status on the same page. In this case, you need
+				to wire status components with the Ajax component used for Ajax requests producing.
+			</p>
+			<p>
+				You do not have any additional attribute defined if you have a4j:status inside each region
+				and working for this given region. You can locate the a4j:status outside of the region if this is 
+				required by a page layout. In this case you have to define a 'for' attribute explicitly. The 'for'
+				attribute should point to the id of the region it should work for.
+			</p>
+			<p>
+				Use attribute 'status' of the Ajax component (such as a4j:commandButton, a4j:poll, etc.) should point to
+				the id of the a4j:status if you want to share it between the different Ajax component located in
+				different regions. The following example shows how to share the same a4j:status from the Ajax
+				component located in the different region:
+			</p>
+
+
+			<div class="sample-container" >
+				<ui:include src="/richfaces/status/examples/cleaner.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/status/examples/cleaner.xhtml"/>
+				</ui:include>						
+			</div>
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/status.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Status</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/status/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/status"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/examples/skinedPanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/examples/skinedPanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/examples/skinedPanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,55 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	<a4j:loadStyle src="resource:///org/richfaces/demo/ajaxSamples/rspanel.xcss" />
+	<h:form>
+	
+		<rich:panel>
+			<f:facet name="header">
+				<h:outputText value="Applying Skin on non-RichFaces Components"/>
+			</f:facet>
+			<h:commandLink value="DeepMarine">
+				<a4j:actionparam name="skin" value="deepMarine" assignTo="#{skinBean.skin}"/>
+			</h:commandLink>
+			<rich:spacer width="20" />
+			<h:commandLink value="BlueSky" >
+				<a4j:actionparam name="skin" value="blueSky" assignTo="#{skinBean.skin}"/>
+			</h:commandLink>
+			<rich:spacer width="20" />
+			<h:commandLink value="JapanCherry" >
+				<a4j:actionparam name="skin" value="japanCherry" assignTo="#{skinBean.skin}"/>
+			</h:commandLink>
+
+			<rich:separator height="2"  style="padding:10px 0" />
+
+			<h:panelGrid styleClass="rsPanel" width="250" columns="2">
+				<h:outputText styleClass="rsLabel" value="Name:" />
+				<h:inputText  styleClass="rsInput"  value="#{userBean.name}" />
+				
+				<h:outputText styleClass="rsLabel" value="Job:" />
+				<h:inputText  styleClass="rsInput"  value="#{userBean.job}" />
+				
+				<h:panelGroup />
+				<h:commandButton styleClass="rsButton"  value="Submit">
+					<a4j:support  disableDefault="true" event="onclick" reRender="out" />
+				</h:commandButton>
+				
+				<f:facet name="footer">
+				</f:facet>
+						
+			</h:panelGrid>
+			<h:panelGrid id="out" columns="1">
+				
+			<h:outputText value=""/>
+			<h:outputText value="You have just entered:"/>
+			<h:outputText value="Name: #{userBean.name}" />
+			<h:outputText value="Job: #{userBean.job}" />
+			</h:panelGrid>
+			
+		</rich:panel>
+	</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>a4j:loadStyle is similar to the standard style tag with src attribute, but it allows
+			to load a style sheet file from alternative sources like a jar file.
+			</p>
+			<p>
+			<b>src</b> attribute defines the context relative path to the style sheet file. Instead of html
+			 style tag it's not required to have a prefix in your application. The leading slash in 
+			 the path means the root of the web context.
+			</p>
+			<p>
+				You can use "resource://" prefix to access the file using
+				RichFaces resource framework. For example, if your css file is located inside the
+				jar file and has a full path there: /org/mycompany/assets/css/common.css, you can
+				point to it with:
+			</p>
+<pre style="margin:0px">			
+	<span class="xml_tag_symbols">&lt;</span><span class="xml_tag_name">a4j:loadScript</span><span class="xml_plain"> </span><span class="xml_attribute_name">src</span><span class="xml_tag_symbols">=</span><span class="xml_attribute_value">"resource:///org/mycompany/assets/css/common.css"</span><span class="xml_plain"> </span><span class="xml_tag_symbols">/&gt;</span><span class="xml_plain"/>
+</pre>
+			<p>
+				Richfaces allows to have a dynamically generated css file based on RichFaces 
+				skinnability feature. xcss is an XML formated css with some additional extensions.
+				The following example shows how the look-n-feel of non-RichFaces components might
+				be changed based on the selected skin. The panel with the form elements consists 
+				only of non-Richfaces component, but it is sensitive to the current skin.
+			</p>
+			
+			
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/style/examples/skinedPanel.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/style/examples/skinedPanel.xhtml"/>
+				</ui:include>	
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/WEB-INF/classes/org/richfaces/demo/ajaxSamples/rspanel.xcss"/>
+					<ui:param name="openlabel" value="View rspanel.xcss file" />
+				</ui:include>	
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/style.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Load Style</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/style/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/loadStyle"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/examples/custom.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/examples/custom.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/examples/custom.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,92 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<h:form id="suggestionbox_form">
+
+			<p>
+				Suggestion Box will suggest you states capitals names. Comma and space could be used as suggestions separators."
+			</p>
+			<h:inputText value="#{capitalsBean.capital}" id="text" />
+			<rich:suggestionbox id="suggestionBoxId" for="text" tokens=",["
+				rules="#{suggestionBox.rules}"
+				suggestionAction="#{capitalsBean.autocomplete}" var="result"
+				fetchValue="#{result.name}" rows="#{suggestionBox.intRows}"
+				first="#{suggestionBox.intFirst}"
+				minChars="#{suggestionBox.minchars}"
+				shadowOpacity="#{suggestionBox.shadowOpacity}"
+				border="#{suggestionBox.border}" width="#{suggestionBox.width}"
+				height="#{suggestionBox.height}"
+				shadowDepth="#{suggestionBox.shadowDepth}"
+				cellpadding="#{suggestionBox.cellpadding}"
+				nothingLabel="No capitals found" columnClasses="center">
+				<h:column>
+					<f:facet name="header">
+						<h:outputText value="123"></h:outputText>
+					</f:facet>
+					<h:graphicImage value="#{result.stateFlag}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{result.name}" />
+				</h:column>
+				<h:column>
+					<h:outputText value="#{result.state}" style="font-style:italic"/>
+				</h:column>
+			</rich:suggestionbox>
+
+		<rich:spacer height="30px"/>
+
+		<h:panelGrid columns="2" border="0" >
+ 
+			<h:outputText value="Border" />
+
+			<rich:inputNumberSlider minValue="1" maxValue="5"
+				value="#{suggestionBox.border}">
+				<a4j:support event="onchange" reRender="suggestionBoxId" />
+			</rich:inputNumberSlider>
+
+			<h:outputText value="Width" />
+
+			<rich:inputNumberSlider minValue="150" maxValue="350" step="50"
+				value="#{suggestionBox.width}">
+				<a4j:support event="onchange" reRender="suggestionBoxId" />
+			</rich:inputNumberSlider>
+
+
+			<h:outputText value="Height" />
+
+			<rich:inputNumberSlider minValue="100" maxValue="300" step="50"
+				value="#{suggestionBox.height}">
+				<a4j:support event="onchange" reRender="suggestionBoxId" />
+			</rich:inputNumberSlider>
+
+			<h:outputText value="Shadow Depth" />
+
+			<rich:inputNumberSlider minValue="3" maxValue="6"
+				value="#{suggestionBox.shadowDepth}">
+				<a4j:support event="onchange" reRender="suggestionBoxId" />
+			</rich:inputNumberSlider>
+
+
+			<h:outputText value="Shadow Opacity" />
+
+			<rich:inputNumberSlider minValue="1" maxValue="9"
+				value="#{suggestionBox.shadowOpacity}">
+				<a4j:support event="onchange" reRender="suggestionBoxId" />
+			</rich:inputNumberSlider>
+
+			<h:outputText value="Cellpadding" />
+
+			<rich:inputNumberSlider minValue="1" maxValue="20"
+				value="#{suggestionBox.cellpadding}">
+				<a4j:support event="onchange" reRender="suggestionBoxId" />
+			</rich:inputNumberSlider>
+
+
+		</h:panelGrid>
+	</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition template="/templates/component-sample.xhtml">
+	<ui:define name="sample">
+
+
+
+		<p>RichFaces Suggestion Box component adds the autocomplete
+		capability to the existing input component such as h:inputText or
+		t:inputText. Use the attribute 'for', in order to pint to the necessary input component
+		to add the autocomplete capabity to it.</p>
+		<p>Working with Suggestion Box is similar to the h:dataTable
+		component, but instead of the 'value' attribute it has a
+		suggestionAction attribute that points to the method that returns the
+		filtered collection. The 'fetch' attribute points to the data that
+		is inserted into the input field if a particular row is selected
+		or clicked from the suggested list.</p>
+
+		<div class="sample-container">
+			<ui:include src="/richfaces/suggestionBox/examples/custom.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/suggestionBox/examples/custom.xhtml"/>
+			</ui:include>			
+		</div>
+
+	</ui:define>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/suggestionBox.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Suggestion Box</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/suggestionBox/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/suggestionbox"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/examples/echo.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/examples/echo.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/examples/echo.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,19 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+			
+	<rich:separator height="1"/>
+	<h:form>
+		<h:panelGrid columns="2">
+			<h:inputText value="#{userBean.name}">
+				<a4j:support event="onkeyup" reRender="outtext" />
+			</h:inputText>
+			<h:outputText id="outtext" value="#{userBean.name}" />
+		</h:panelGrid>
+	</h:form>
+	<rich:separator height="1" style="padding-top:10px"/>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			
+			<p>
+				a4j:support is the most important core component in the RichFaces library. It allows 
+				to add an Ajax capability to the existing non-ajax components. All other Ajax components
+				are based on the same principles a4j:support has.
+			</p>
+			<p> a4j:support should be attached to a direct child of the JSF component that has to be ajaxified.
+				The key attributes are 'event' and 'reRender'.
+			</p>
+			<p>
+				<b>event</b> attribute defines the javascript event the ajax support will be attached to.
+			</p>
+			<p>
+				'reRender' attribute points to the JSF	component(s) that should be re-rendered on the server side
+				and updated on the client when an Ajax Response comes back.
+			</p>
+			<p>
+				The following example shows how the outputText component value is changed while a user is
+				typing in the input field:
+			</p>
+			
+			
+			<div class="sample-container" >
+
+
+				<ui:include src="/richfaces/support/examples/echo.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/support/examples/echo.xhtml"/>
+				</ui:include>			
+
+								
+			</div>
+
+						
+			<p>
+				a4j:support is wired with the event of the parent component during the Render Response 
+				phase on the server side. Hence, the number of possible events is limited to the ones
+				defined with particular component attributes. The wiring with events dynamically attached
+				on the client side is not supported.
+			</p>
+			
+
+			<p>
+				In case of attaching a4j:support to non-Ajax JSF command component, such as h:commandButton
+				or h:commandLink, it is important to set disableDefault equals true. Otherwise, a non-ajax
+				request will be send just after an Ajax request and the page will be unexpectedly refreshed.
+			</p>
+			
+			<p>
+				For additional information about attributes of this compponent read 
+				<a href="#{facesContext.externalContext.requestContextPath}/richfaces/ajaxAttributes.jsf?c=ajaxattributes">
+					<h:outputText value="'Ajax Attribute' section" />
+				</a>. 
+			</p>
+			
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/support.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Ajax Support</ui:define>
+	<!--ui:define name="body"-->
+
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/support/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="a4j/support"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+	</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/custom.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/custom.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/custom.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,31 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	<style>
+	.rich-tab-inactive {
+		cursor: pointer;
+	}
+	.rich-tabpanel-content {
+		border-width: 1px 0px 0px 0px;
+		background-color: transparent;
+	}
+	</style>
+	<p>
+	Here is an example of default tab panel with 3 tabs.
+	<rich:tabPanel headerAlignment="right" switchType="client">
+		<rich:tab label="First">
+			Here is tab #1
+		</rich:tab>
+		<rich:tab label="Second">
+			Here is tab #2
+		</rich:tab>
+		<rich:tab label="Third">
+			Here is tab #3
+		</rich:tab>
+	</rich:tabPanel>
+	</p>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/switchTypes.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/switchTypes.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/examples/switchTypes.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,50 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	<p>
+	Here is an example of default tab panel with 3 tabs.
+	<rich:tabPanel>
+		<rich:tab label="First">
+			Here is tab #1
+		</rich:tab>
+		<rich:tab label="Second">
+			Here is tab #2
+		</rich:tab>
+		<rich:tab label="Third">
+			Here is tab #3
+		</rich:tab>
+	</rich:tabPanel>
+	</p>
+	<p>
+	Here is an example of tab panel switched in "ajax" style. Second tab is disabled.
+	<rich:tabPanel switchType="ajax">
+		<rich:tab label="First">
+			Here is tab #1
+		</rich:tab>
+		<rich:tab label="Second" disabled="true">
+			Here is tab #2
+		</rich:tab>
+		<rich:tab label="Third">
+			Here is tab #3
+		</rich:tab>
+	</rich:tabPanel>
+	</p>
+	<p>
+	Here is an example of tab panel switched completely on client.
+	<rich:tabPanel switchType="client">
+		<rich:tab label="First">
+			Here is tab #1
+		</rich:tab>
+		<rich:tab label="Second">
+			Here is tab #2
+		</rich:tab>
+		<rich:tab label="Third">
+			Here is tab #3
+		</rich:tab>
+	</rich:tabPanel>
+	</p>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/look-customization.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/look-customization.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/look-customization.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<p>
+			This is a demo of how to use stylesheets and skinnability features in order to adjust tab panel appearance. Here we use pre-defined classes for the tab panel
+			"rich-tab-inactive", "rich-tab-active" and "rich-tabpanel-content" to adjust tab panel appearance. Note how appearance of tabs above could be also affected.
+			</p>
+
+			<div id="itme" class="sample-container">
+				
+				<ui:include src="/richfaces/tabPanel/examples/custom.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/tabPanel/examples/custom.xhtml"/>
+				</ui:include>	
+			
+			</div>
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		<p>
+		Tab panel is used to create "tabbed" pages. RichFaces tab panel can be switched in 3 ways: using "normal" server-side update, using "ajax" style update, when only tab panel area is updated on the page, and using "client" type, without any interaction with the server.
+		Note, that in case of a "client" switch type, all tabs are rendered at the same time.
+		</p>
+		<div id="itme" class="sample-container">
+			
+			<ui:include src="/richfaces/tabPanel/examples/switchTypes.xhtml"/>
+			<ui:include src="/templates/include/sourceview.xhtml">
+				<ui:param name="sourcepath" value="/richfaces/tabPanel/examples/switchTypes.xhtml"/>
+			</ui:include>	
+		
+		</div>
+		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tabPanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - TabPanel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/tabPanel/usage.xhtml"/>
+			</rich:tab>		
+			<rich:tab label="Look Customization">
+				<ui:include src="/richfaces/tabPanel/look-customization.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/tabPanel"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipBlock.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipBlock.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipBlock.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,28 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+
+
+	<f:subview>
+	<h:panelGrid  styleClass="infopanel"  cellpadding="0" cellspacing="0" columnClasses="col"  
+		rowClasses="row1, row2,row3" border="0" columns="1">
+	
+		<h:outputText value="#{tip}" />
+		
+		<rich:separator height="1" />
+		
+		<h:panelGrid columns="3">
+			<rich:toggleControl value="x Close" switchToState="closed" />
+			<rich:toggleControl switchToState="#{previous}" value="#{empty previous? '': '&#171; Previous'}" />
+			<rich:toggleControl switchToState="#{next}" value="#{empty next? '': 'Next &#187;'}" />
+		</h:panelGrid>
+	
+	</h:panelGrid>
+	</f:subview>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipsPanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipsPanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/examples/tipsPanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,60 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+	 
+	<style>
+
+		.infopanel 	{ border:2px solid #{richSkin.panelBorderColor}; }
+		.row1 		{	height:60px; }
+		.row1 .col 	{ padding:10px; }
+		.row2 		{	height:2px;	}
+		.row3 		{	height:20px; }
+		.row3 .col 	{text-align:left; }
+		.col 		{ }
+	</style>
+
+	<rich:togglePanel value="#{toggleBean.skinChooserState1}" switchType="client"
+	 stateOrder="closed,tip1, tip2,tip3">
+
+	 <f:facet name="closed">
+	 		<rich:toggleControl>
+			 	<h:graphicImage id="pic" style="border-width:0" value="/richfaces/togglePanel/picture/clickme.gif" />
+		 	</rich:toggleControl>
+	 </f:facet>
+
+	<f:facet name="tip1">
+		<ui:include src="/richfaces/togglePanel/examples/tipBlock.xhtml">
+			<ui:param name="tip" value="rich:toggleControl might bre located inside of outside
+			 of the rich:toogleControl it works for. In case of outside location, the control
+			 attribute 'for' should refer to the toggle panel id."/>				 
+			<ui:param name="next" value="tip2"/>
+		</ui:include>	
+	</f:facet>	 
+	 
+	 <f:facet name="tip2">
+		<ui:include src="/richfaces/togglePanel/examples/tipBlock.xhtml">
+			<ui:param name="tip" value="Attribute initialState defines the first state appear
+			 when the page is loaded. If this attribute is not specified, the first state
+			 mentioned in the attribute stateOrder will be the first"/>				 
+			<ui:param name="previous" value="tip1"/>
+			<ui:param name="next" value="tip3"/>
+		</ui:include>	
+	 </f:facet>
+	 
+	 <f:facet name="tip3">
+		<ui:include src="/richfaces/togglePanel/examples/tipBlock.xhtml">
+			<ui:param name="tip" value="Note that rich:toggleControl similar to
+			h:commandLink for 'server' mode and smilar to a4j:commandLink for 'ajax' mode.
+			Set immediate attribute to true if jsf form has other input field that might
+			cause the validation error. Otherwize, the state switched will not perform"/>				 
+			<ui:param name="previous" value="tip2"/>
+		</ui:include>	
+	 </f:facet>
+	 
+	 </rich:togglePanel>		
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/clickme.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/clickme.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/cn_include.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/picture/cn_include.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,48 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<p>
+				Toggle Panel renders sequence of states that can be switched (toggled) by a
+				component called Toggle Control. rich:togglePanel has no default appearance.
+				You can define it using the set of facets with any given content inside.
+			</p>
+			<p>
+			<b>switchType</b> attribute defines the strategy of switching. The possible values for this attributes
+			are:
+			<ul>
+				<li>client - switching happens on the client without any request to the server. 
+				The jsf form is not required in this mode</li>
+				<li>ajax - when states are switched, the content of new states comes from the server in Ajax way.</li>
+				<li>server - the whole page is reloaded when states are switched</li>
+			</ul>
+			</p>
+			<p>
+				<b>stateOrder</b> attribute defines the order of the states, if "switchToState" isn't explicitly defined on the 
+				rich:toggleControl. The following example shows tips panel that has one closed state and
+				three states for tips.
+			</p>
+				
+											
+			<div class="sample-container">
+	
+					<ui:include src="/richfaces/togglePanel/examples/tipsPanel.xhtml"/>
+	
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/togglePanel/examples/tipsPanel.xhtml"/>
+						<ui:param name="openlabel" value="View Page Source"/>
+					</ui:include>			
+	
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/togglePanel/examples/tipBlock.xhtml"/>
+						<ui:param name="openlabel" value="View TipBlock.xhtml Source"/>
+					</ui:include>			
+			</div>
+		</ui:define>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/togglePanel.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Toggle Panel</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/togglePanel/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/togglePanel"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/iconBar.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/iconBar.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/iconBar.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<rich:toolBar height="26" itemSeparator="grid">
+	  <rich:toolBarGroup>
+		  <h:graphicImage value="/richfaces/toolBar/images/new.gif" />
+		  <h:graphicImage value="/richfaces/toolBar/images/webapp_welcome.gif"/>
+		  <h:graphicImage value="/richfaces/toolBar/images/palette_edit.gif"/>
+	  </rich:toolBarGroup>
+	  <rich:toolBarGroup>
+		  <h:graphicImage value="/richfaces/toolBar/images/print_edit.gif"/>
+		  <h:graphicImage value="/richfaces/toolBar/images/print.gif"/>
+		  <h:graphicImage value="/richfaces/toolBar/images/print_preview.gif"/>
+	  </rich:toolBarGroup>
+	  <rich:toolBarGroup location="right">
+		  <h:graphicImage value="/richfaces/toolBar/images/yellow_lamp.gif"/>
+		  <h:graphicImage value="/richfaces/toolBar/images/timer_task.gif"/>
+	  </rich:toolBarGroup>
+	</rich:toolBar>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/menus.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/menus.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/menus.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,39 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+		<style>
+			.barsearch {
+				height:14px;
+				width:100px;
+			}
+			.barsearchbutton {
+				border-width:1px;
+				background-color:#{a4jSkin.generalBackgroundColor};
+			}
+		</style>
+		<h:form>
+		<rich:toolBar height="34" itemSeparator="line">
+			<rich:toolBarGroup>
+			  <h:graphicImage id="edit" value="/richfaces/toolBar/images/print_edit.gif" />
+			  <h:outputLabel value="Edit" for="edit" />
+			</rich:toolBarGroup>
+			<rich:toolBarGroup>						  
+			  <h:graphicImage id="print" value="/richfaces/toolBar/images/print.gif" />
+			  <h:outputLabel value="Print" for="edit" />
+			</rich:toolBarGroup>
+			<rich:toolBarGroup>						  
+			  <h:graphicImage id="preview" value="/richfaces/toolBar/images/print_preview.gif" />
+			  <h:outputLabel value="Preview" for="preview" />
+			</rich:toolBarGroup>
+			<rich:toolBarGroup location="right">
+				<h:inputText styleClass="barsearch" />
+				<h:commandButton styleClass="barsearchbutton" onclick="return false;"  value="Search" />
+			</rich:toolBarGroup>
+		</rich:toolBar>
+		</h:form>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/separators.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/separators.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/examples/separators.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,78 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<h:form>
+		<h:panelGrid columns="2" width="100%">
+			<rich:panel>
+				<h:panelGrid columns="8">
+				<h:outputText value="Group Separator:" />
+				 <a4j:commandLink value="Line" reRender="bar">
+				 	<a4j:actionparam name="gs" value="line" assignTo="#{tbBean.groupSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="Grid" reRender="bar">
+				 	<a4j:actionparam name="gs" value="grid" assignTo="#{tbBean.groupSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="Disc" reRender="bar">
+				 	<a4j:actionparam name="gs" value="disc" assignTo="#{tbBean.groupSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="Square" reRender="bar">
+				 	<a4j:actionparam name="gs" value="square" assignTo="#{tbBean.groupSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="None" reRender="bar">
+				 	<a4j:actionparam name="gs" value="none" assignTo="#{tbBean.groupSeparator}" />
+				 </a4j:commandLink>
+				 </h:panelGrid>
+			</rich:panel>
+			<rich:panel>
+				<h:panelGrid columns="8">
+				<h:outputText value="Group Item Separator:" />
+				 <a4j:commandLink value="Line" reRender="bar">
+				 	<a4j:actionparam name="gs" value="line" assignTo="#{tbBean.groupItemSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="Grid" reRender="bar">
+				 	<a4j:actionparam name="gs" value="grid" assignTo="#{tbBean.groupItemSeparator}" />
+				 </a4j:commandLink>
+
+				 <a4j:commandLink value="Disc" reRender="bar">
+				 	<a4j:actionparam name="gs" value="disc" assignTo="#{tbBean.groupItemSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="Square" reRender="bar">
+				 	<a4j:actionparam name="gs" value="square" assignTo="#{tbBean.groupItemSeparator}" />
+				 </a4j:commandLink>
+				 
+				 <a4j:commandLink value="None" reRender="bar">
+				 	<a4j:actionparam name="gs" value="none" assignTo="#{tbBean.groupItemSeparator}" />
+				 </a4j:commandLink>
+				 </h:panelGrid>
+			</rich:panel>
+		</h:panelGrid>				
+	</h:form>	
+
+	<rich:toolBar id="bar" height="30" itemSeparator="#{tbBean.groupSeparator}">
+		<rich:toolBarGroup itemSeparator="#{tbBean.groupItemSeparator}">
+			<h:outputText value="Group1.1"></h:outputText>
+			<h:outputText value="Group1.2"></h:outputText>
+			<h:outputText value="Group1.3"></h:outputText>
+		</rich:toolBarGroup>
+		<rich:toolBarGroup itemSeparator="#{tbBean.groupItemSeparator}">
+			<h:outputText value="Group2.1"></h:outputText>
+			<h:outputText value="Group2.2"></h:outputText>
+		</rich:toolBarGroup>
+		<rich:toolBarGroup location="right"   itemSeparator="#{tbBean.groupItemSeparator}">
+			<h:outputText value="Group3.1"></h:outputText>
+			<h:outputText value="Group3.2"></h:outputText>
+		</rich:toolBarGroup>
+	</rich:toolBar>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/new.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/new.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/palette_edit.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/palette_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print_edit.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print_preview.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/print_preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/search_item.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/search_item.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/timer_task.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/timer_task.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/webapp_session_config.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/webapp_session_config.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/webapp_welcome.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/webapp_welcome.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/yellow_lamp.gif
===================================================================
(Binary files differ)


Property changes on: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/images/yellow_lamp.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+			<p>
+				Toolbar is a horizontal-oriented panel that can be used in different ways: for top level menu, for information panel, for tools-like menu and so on.<br />
+				The following example shows how the panelBar might look like:
+			</p>
+							
+			<div class="sample-container" >
+				<ui:include src="/richfaces/toolBar/examples/iconBar.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/toolBar/examples/iconBar.xhtml"/>
+				</ui:include>				
+			</div>
+			
+			<div class="sample-container" >
+				<ui:include src="/richfaces/toolBar/examples/menus.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/toolBar/examples/menus.xhtml"/>
+				</ui:include>				
+			
+			</div>
+			
+			
+			<p>
+				Items on the toolBar can be grouped with ability to define a separator
+				between different groups and between a member of the same group. The 
+				"location" attribute set to "right" put a group to the right side of the panel.
+				
+			</p>
+			<div class="sample-container" >
+							
+				<ui:include src="/richfaces/toolBar/examples/separators.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/toolBar/examples/separators.xhtml"/>
+				</ui:include>						
+			
+				
+			</div>
+
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolBar.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - PanelBar</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/toolBar/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/toolBar"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/tooltipUsage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/tooltipUsage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/tooltipUsage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,89 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<style>
+		.tooltip {
+			background-color:#{richSkin.generalBackgroundColor};
+			border-width:3px;
+			padding:10px;
+		}
+		.tooltip-text {
+			width:350px;
+			height:65px;
+			cursor:arrow;
+			border-width:2px;
+			text-align:center;
+		}
+		.tooltipData {
+			font-weight: bold;
+		}
+	</style>
+	
+	<h:panelGrid columns="2">
+	<rich:panel id="sample1" styleClass="tooltip-text">
+		<rich:toolTip>
+			<span style="white-space:nowrap">
+				This tool-tip content was <strong>pre-rendered</strong> to the page.<br/>
+				The look of this tool-tip is 100% defined by skin.
+			</span>
+		</rich:toolTip>
+		<p>
+			Here you can see <b>default client-side</b> tool-tip
+		</p>
+	</rich:panel>
+	<rich:panel id="sample2" styleClass="tooltip-text">
+		<rich:toolTip followMouse="true" direction="top-right" delay="500" styleClass="tooltip" style="width:250px">
+			<span  style="white-space:nowrap">
+				This tool-tip content also <strong>pre-rendered</strong> to the page.<br/>
+				However, the look of this tool-tip is customized<br/>
+				by styleClass attribute.
+			</span>
+		</rich:toolTip>
+		<p>
+			This tool-tip will <b>follow mouse</b>. Also this tool-tip has a <b>delay 0.5 sec</b>,
+			 so be patient!
+		</p>
+	</rich:panel>
+	<h:form>
+	<rich:panel  id="sample3" styleClass="tooltip-text">
+		<rich:toolTip direction="top-right" mode="ajax" styleClass="tooltip" layout="block">
+			<f:facet name="defaultContent">
+				<strong>Wait...</strong>
+			</f:facet>
+			<span   style="white-space:nowrap">This tool-tip content was <strong>rendered on server</strong>
+			 </span>
+			<h:panelGrid columns="2">
+				<h:outputText   style="white-space:nowrap" value="tooltips requested:" />
+				<h:outputText value="#{toolTipData.tooltipCounter}" styleClass="tooltipData" />
+			</h:panelGrid>
+		</rich:toolTip>
+		<p>
+			This tool-tip rendered on server <b>in separate request</b>.
+		</p>
+	</rich:panel>
+	</h:form>
+	<h:form>
+	<rich:panel  id="sample4" styleClass="tooltip-text">
+		<rich:toolTip event="onclick" direction="bottom-left" mode="ajax" styleClass="tooltip" layout="block">
+			<f:facet name="defaultContent">
+				<strong>Wait...</strong>
+			</f:facet>
+			<span   style="white-space:nowrap">This tool-tip content was <strong>rendered on server</strong><br/></span>
+			<h:panelGrid columns="2">
+				<h:outputText  style="white-space:nowrap" value="tooltips requested:" />
+				<h:outputText value="#{toolTipData.tooltipCounter}" styleClass="tooltipData" />
+			</h:panelGrid>
+		</rich:toolTip>
+		<p>
+			This tool-tip will be <b>activated on mouse click</b>. It also has a <b>bottom-left</b> position.
+		</p>
+	</rich:panel>
+	</h:form>
+</h:panelGrid>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/withTable.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/withTable.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/examples/withTable.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,96 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<style>
+		.tooltip {
+			background-color:#{a4jSkin.generalBackgroundColor};
+			border-width:1px;
+			padding:10px;
+		}
+		.tooltipData {
+			font-weight: bold;
+		}
+	</style>
+																		
+	<h:form>
+	<h:outputText value="This tooltip rendered on server in separate request" id="tt3">
+		<rich:toolTip direction="top-right" mode="ajax" verticalOffset="5" zorder="200" styleClass="tooltip" layout="block">
+			<f:facet name="defaultContent">
+				<strong>Wait...</strong>
+			</f:facet>
+			<span>This tooltip content was <strong>rendered</strong> on server </span>
+			<h:panelGrid columns="2">
+				<h:outputText value="tooltips requested:" />
+				<h:outputText value="#{toolTipData.tooltipCounter}" styleClass="tooltipData" />
+				<h:outputText value="last request:" />
+				<h:outputText value="#{toolTipData.tooltipDate}"  styleClass="tooltipData" >
+					<f:convertDateTime pattern="mm:ss.SSS"/>
+				</h:outputText>
+			</h:panelGrid>
+		</rich:toolTip>
+	</h:outputText>
+	<rich:dataTable value="#{toolTipData.vehicles}" width="400" var="vehicle" rowKeyVar="row">
+		<rich:column>
+			<f:facet name="header">
+				<h:outputText value="##"/>
+			</f:facet>
+			<h:outputText value="#{row+1}" />
+		</rich:column>
+		<rich:column>
+			<f:facet name="header">
+				<h:outputText value="Make"/>
+			</f:facet>
+			<h:outputText id="make" value="#{vehicle.make}" >
+		<rich:toolTip direction="top-right" mode="ajax" delay="30" styleClass="tooltip" immediate="true" layout="block">
+			<a4j:actionparam name="key" value="#{row}" assignTo="#{toolTipData.currentVehicleIndex}" />
+
+			<h:panelGrid columns="4">
+				<f:facet name="header">
+					<h:outputText value="Vehicle details:" />
+				</f:facet>
+				<h:outputText value="make:" />
+				<h:outputText value="#{vehicle.make}" styleClass="tooltipData" />
+				<h:outputText value="model:" />
+				<h:outputText value="#{vehicle.model}" styleClass="tooltipData" />
+				<h:outputText value="year:" />
+				<h:outputText value="#{vehicle.year}" styleClass="tooltipData" />
+				<h:outputText value="milage:" />
+				<h:outputText value="#{vehicle.milage}" styleClass="tooltipData" />
+				<h:outputText value="zip:" />
+				<h:outputText value="#{vehicle.zip}" styleClass="tooltipData" />
+				<h:outputText value="listed:" />
+				<h:outputText value="#{vehicle.listed}" styleClass="tooltipData" >
+					<f:convertDateTime dateStyle="short"/>
+				</h:outputText>
+				<f:facet name="footer">
+					<h:panelGroup>
+						<h:outputText value="vin: " />
+						<h:outputText value="#{vehicle.vin}" styleClass="tooltipData" />
+					</h:panelGroup>
+				</f:facet>
+				
+			</h:panelGrid>
+		</rich:toolTip>
+			</h:outputText>
+		</rich:column>
+		<rich:column>
+			<f:facet name="header">
+				<h:outputText value="Model"/>
+			</f:facet>
+			<h:outputText value="#{vehicle.model}" />
+		</rich:column>
+		<rich:column>
+			<f:facet name="header">
+				<h:outputText value="Year"/>
+			</f:facet>
+			<h:outputText value="#{vehicle.year}" />
+		</rich:column>
+	</rich:dataTable>
+	</h:form>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+				<p>
+					ToolTip is a little non-modal pop-up that could be used to display additional information, that is usually hidden.<br/>
+					
+					Major toolTip features:
+				</p>
+				<ul>
+					<li>Tool-tip content may be <b>pre-rendered</b> on a page (client mode) or <b>loaded on separate Ajax request</b> (ajax mode)</li>
+					<li>In "ajax" mode <b>default content</b> could be shown while request is executed</li>
+					<li>Parameters can be passed to the server during an ajax request</li>
+					<li>Tooltip <b>look is fully customizable</b> using both - Richfaces skins and CSS style classes</li>
+				</ul>
+				
+				<div class="sample-container" >
+														
+					<ui:include src="/richfaces/toolTip/examples/tooltipUsage.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/toolTip/examples/tooltipUsage.xhtml"/>
+					</ui:include>						
+				
+				</div>		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/use-with-data-table.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/use-with-data-table.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip/use-with-data-table.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+			<p>
+				This little example shows how ToolTip could be used in DataTable
+			</p>
+			<div class="sample-container">
+					<ui:include src="/richfaces/toolTip/examples/withTable.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/toolTip/examples/withTable.xhtml"/>
+					</ui:include>		
+			</div>		
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/toolTip.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - PanelBar</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" value="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class" inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/toolTip/usage.xhtml"/>
+			</rich:tab>			
+			<rich:tab label="Use ToolTip with DataTable">
+				<ui:include src="/richfaces/toolTip/use-with-data-table.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/toolTip"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/ajaxTree.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/ajaxTree.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/ajaxTree.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<p>This tree uses "ajax" switch type, note that for collapse/expand operations it will be Ajax request to the server. You may see short delay in this case.</p>
+	<h:form>	
+		<rich:tree style="width:300px" value="#{library.data}" var="item" nodeFace="#{item.type}">
+			<rich:treeNode type="artist" iconLeaf="/images/tree/singer.gif" icon="/images/tree/singer.gif">
+				<h:outputText value="#{item.name}" />
+			</rich:treeNode>
+			<rich:treeNode type="album" iconLeaf="/images/tree/disc.gif" icon="/images/tree/disc.gif">
+				<h:outputText value="#{item.title}" />
+			</rich:treeNode>
+			<rich:treeNode type="song" iconLeaf="/images/tree/song.gif" icon="/images/tree/song.gif">
+				<h:outputText value="#{item.title}" />
+			</rich:treeNode>
+		</rich:tree>
+	</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/clientTree.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/clientTree.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/clientTree.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,24 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<p>This is exactly the same tree, but now it uses "client" switch type. Note, that all nodes actually rendered up-front and expand/collapse now do not requre server call</p>
+	<h:form>
+		<rich:tree switchType="client" style="width:300px" value="#{library.data}" var="item" nodeFace="#{item.type}">
+			<rich:treeNode type="artist" iconLeaf="/images/tree/singer.gif" icon="/images/tree/singer.gif">
+				<h:outputText value="#{item.name}" />
+			</rich:treeNode>
+			<rich:treeNode type="album" iconLeaf="/images/tree/disc.gif" icon="/images/tree/disc.gif">
+				<h:outputText value="#{item.title}" />
+			</rich:treeNode>
+			<rich:treeNode type="song" iconLeaf="/images/tree/song.gif" icon="/images/tree/song.gif">
+				<h:outputText value="#{item.title}" />
+			</rich:treeNode>
+		</rich:tree>
+	</h:form>
+
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/serverTree.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/serverTree.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/serverTree.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<p>This is again same tree, but now it uses "server" switch type. Full page content will be reloaded at every click.</p>
+	<h:form>
+		<rich:tree switchType="server" style="width:300px" value="#{library.data}" var="item" nodeFace="#{item.type}">
+			<rich:treeNode type="artist" iconLeaf="/images/tree/singer.gif" icon="/images/tree/singer.gif">
+				<h:outputText value="#{item.name}" />
+			</rich:treeNode>
+			<rich:treeNode type="album" iconLeaf="/images/tree/disc.gif" icon="/images/tree/disc.gif">
+				<h:outputText value="#{item.title}" />
+			</rich:treeNode>
+			<rich:treeNode type="song" iconLeaf="/images/tree/song.gif" icon="/images/tree/song.gif">
+				<h:outputText value="#{item.title}" />
+			</rich:treeNode>
+		</rich:tree>
+	</h:form>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple-tree-data.properties
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple-tree-data.properties	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple-tree-data.properties	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,67 @@
+1=Daniel Defo
+1.1=Robinson Crusoe
+1.1.1=Start In Life
+1.1.2=Slavery And Escape
+1.1.3=Wrecked On A Desert Island
+1.1.4=First Weeks On The Island
+1.1.5=Builds A House - The Journal
+1.1.6=Ill And Conscience-Stricken
+1.1.7=Agricultural Experience
+1.1.8=Surveys His Position
+1.1.9=A Boat
+1.1.10=Tames Goats
+1.1.11=Finds Print Of Man's Foot On The Sand
+1.1.12=A Cave Retreat
+1.1.13=Wreck Of A Spanish Ship
+1.1.14=A Dream Realised
+1.1.15=Friday's Education
+1.1.16=Rescue Of Prisoners From Cannibals
+1.1.17=Visit Of Mutineers
+1.1.18=The Ship Recovered
+1.1.19=Return To England
+1.1.20=Fight Between Friday And A Bear
+2=Edgar Allan Poe
+2.1=Plays
+2.1.1=Politian
+2.2=Short stories
+2.2.1=The Assignation
+2.2.2=Berenice
+2.2.3=The Black Cat
+2.2.4=The Cask of Amontillado
+2.2.5=A Descent into the Maelstrom
+2.3=Poetry
+2.3.1=Alone
+2.3.2=An Enigma
+2.3.3=Annabel Lee
+2.3.4=Bridal Ballad
+3=Henry Wadsworth Longfellow
+3.1=The Song of Hiawatha
+3.1.1=Introduction
+3.1.2=I. The Peace-Pipe
+3.1.3=II. The Four Winds
+3.1.4=III. Hiawatha's Childhood
+3.1.5=IV. Hiawatha and Mudjekeewis
+3.1.6=V. Hiawatha's Fasting
+3.1.7=VI. Hiawatha's Friends
+3.1.8=VII. Hiawatha's Sailing
+3.1.9=VIII. Hiawatha's Fishing
+3.1.10=IX. Hiawatha and the Pearl-Feather
+3.1.11=X. Hiawatha's Wooing
+3.1.12=XI. Hiawatha's Wedding-Feast
+3.1.13=XII. The Son of the Evening Star
+3.1.14=XIII. Blessing the Cornfields
+3.1.15=XIV. Picture-Writing
+3.1.16=XV. Hiawatha's Lamentation
+3.1.17=XVI. Pau-Puk-Keewis
+3.1.18=XVII. The Hunting of Pau-Puk-Keewis
+3.1.19=XVIII. The Death of Kwasind
+3.1.20=XIX. The Ghosts
+3.1.21=XX. The Famine
+3.1.22=XXI. The White Man's Foot
+3.1.23=XXII. Hiawatha's Departure
+3.2=Poetry
+3.2.1=A Psalm Of Life
+3.2.2=Birds Of Passage
+3.2.3=Hiawatha's Childhood
+3.2.4=Hymn To The Night
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/examples/simple.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,30 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<style>
+		.col, .col2 {
+			width:50%;
+			vertical-align:top;
+		}
+	</style>
+
+
+	<h:form>	
+		<h:panelGrid columns="2" width="100%" columnClasses="col1,col2">
+		
+			<rich:tree style="width:300px" nodeSelectListener="#{simpleTreeBean.processSelection}" 
+				reRender="selectedNode" ajaxSubmitSelection="true"  switchType="client"
+				value="#{simpleTreeBean.treeNode}" var="item">
+			</rich:tree>
+			
+			<h:outputText escape="false" value="Selected Node: #{simpleTreeBean.nodeTitle}" id="selectedNode" />
+		
+		</h:panelGrid>
+
+	</h:form>
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/simple-tree.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/simple-tree.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/simple-tree.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,34 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+		
+				<p>RichFaces Tree has a default Data Model that allows to show a simple tree without creating 
+				a set on your own tree model classes. The following demo shows how to create a tree based on the
+				data from the properties file.
+				</p>
+		
+				<div class="sample-container" >
+					<ui:include src="/richfaces/tree/examples/simple.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/tree/examples/simple.xhtml"/>
+						<ui:param name="openlabel" value="Open Page Source" />
+					</ui:include>		
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/tree/examples/simple-tree-data.properties"/>
+						<ui:param name="openlabel" value="Open Data File" />
+					</ui:include>		
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/demo/tree/SimpleTreeBean.java"/>
+						<ui:param name="openlabel" value="View SimpleTreeBean.java Source" />
+						<ui:param name="sourcetype" value="java" />
+					</ui:include>				
+				</div>
+		</ui:define>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+				<p>
+					Tree is a component that renders a tree control on the page.<br/>
+					The most important tree features are:
+				</p>
+				<ul>
+					<li>Native support for Ajax operations</li>
+					<li>Support for "ajax", "client" and "server" switch types</li>
+					<li>Built-in drag/drop capabilities</li>
+					<li>Flexible look</li>
+				</ul>
+				<div class="sample-container" >
+					<ui:include src="/richfaces/tree/examples/ajaxTree.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/tree/examples/ajaxTree.xhtml"/>
+					</ui:include>		
+				</div>
+				<div class="sample-container" >
+					<ui:include src="/richfaces/tree/examples/clientTree.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/tree/examples/clientTree.xhtml"/>
+					</ui:include>		
+				</div>
+				<div class="sample-container" >
+					<ui:include src="/richfaces/tree/examples/serverTree.xhtml"/>
+					<ui:include src="/templates/include/sourceview.xhtml">
+						<ui:param name="sourcepath" value="/richfaces/tree/examples/serverTree.xhtml"/>
+					</ui:include>		
+				</div>
+				<p>
+					Note how the tree switched on "client" does not "remember" its state when whole page is reloaded. At the same time "ajax" tree remembers its state without any additional code.
+				</p>
+		</ui:define>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/tree.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,25 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Tree</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" selectedTab="#{componentNavigator.activeTab}" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/tree/usage.xhtml"/>
+			</rich:tab>		
+			<rich:tab label="Default Tree Model">
+				<ui:include src="/richfaces/tree/simple-tree.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/tree"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/examples/recursiveAdaptor.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/examples/recursiveAdaptor.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/examples/recursiveAdaptor.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,16 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<rich:separator height="1" style="padding:10px 0" />
+	<h:form>	
+		<rich:tree style="width:300px" switchType="ajax" stateAdvisor="#{treeDemoStateAdvisor}">
+			<rich:recursiveTreeNodesAdaptor roots="#{fileSystemBean.sourceRoots}" var="item" nodes="#{item.nodes}" />
+		</rich:tree>
+	</h:form>
+	<rich:separator height="1" style="padding:10px 0" />
+
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/snippets/sample.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/snippets/sample.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/snippets/sample.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,69 @@
+<rich:tree adviseNodeOpened="#{treeModelBean.adviseNodeOpened}" switchType="client">
+	<rich:treeNodesAdaptor id="project" nodes="#{loaderBean.projects}" var="project">
+		<rich:treeNode>
+	    	<h:commandLink action="#{project.click}" value="Project: #{project.name}" />
+	    </rich:treeNode>
+
+		<rich:treeNodesAdaptor id="srcDir" var="srcDir" nodes="#{project.srcDirs}">
+			<rich:treeNode>
+				<h:commandLink action="#{srcDir.click}" value="Source directory: #{srcDir.name}" />
+			</rich:treeNode>
+
+			<rich:treeNodesAdaptor id="pkg" var="pkg" nodes="#{srcDir.packages}">
+				<rich:treeNode>
+					<h:commandLink action="#{pkg.click}" value="Package: #{pkg.name}" />
+				</rich:treeNode>
+
+				<rich:treeNodesAdaptor id="class" var="class" nodes="#{pkg.classes}">
+					<rich:treeNode>
+						<h:commandLink action="#{class.click}" value="Class: #{class.name}" />
+					</rich:treeNode>
+				</rich:treeNodesAdaptor>
+			</rich:treeNodesAdaptor>
+
+			<rich:treeNodesAdaptor id="pkg1" var="pkg" nodes="#{srcDir.packages}">
+				<rich:treeNode>
+					<h:commandLink action="#{pkg.click}" value="Package1: #{pkg.name}" />
+				</rich:treeNode>
+
+				<rich:treeNodesAdaptor id="class1" var="class" nodes="#{pkg.classes}">
+					<rich:treeNode>
+						<h:commandLink action="#{class.click}" value="Class1: #{class.name}" />
+					</rich:treeNode>
+				</rich:treeNodesAdaptor>
+			</rich:treeNodesAdaptor>
+		</rich:treeNodesAdaptor>
+		
+		<rich:recursiveTreeNodesAdaptor id="dir" var="dir"
+			roots="#{project.dirs}" nodes="#{dir.directories}">
+			<rich:treeNode>
+				<h:commandLink action="#{dir.click}" value="Directory: #{dir.name}" />
+			</rich:treeNode>
+			
+			<rich:treeNodesAdaptor id="file" var="file" nodes="#{dir.files}">
+				<rich:treeNode>
+					<h:commandLink action="#{file.click}" value="File: #{file.name}" />
+				</rich:treeNode>
+			</rich:treeNodesAdaptor>
+			
+			<rich:treeNodesAdaptor id="file1" var="file" nodes="#{dir.files}">
+				<rich:treeNode>
+					<h:commandLink action="#{file.click}" value="File1: #{file.name}" />
+				</rich:treeNode>
+			</rich:treeNodesAdaptor>
+
+			<rich:recursiveTreeNodesAdaptor id="archiveEntry" var="archiveEntry"
+				roots="#{dir.files}" nodes="#{archiveEntry.archiveEntries}" 
+				includedRoot="#{archiveEntry.class.simpleName == 'ArchiveFile'}"
+				includedNode="#{archiveEntry.class.simpleName == 'ArchiveEntry'}">
+			
+				<rich:treeNode id="archiveEntryNode">
+					<h:commandLink action="#{archiveEntry.click}" value="Archive entry: #{archiveEntry.name}" />
+				</rich:treeNode>
+
+			</rich:recursiveTreeNodesAdaptor>
+
+		</rich:recursiveTreeNodesAdaptor>
+
+	</rich:treeNodesAdaptor>
+</rich:tree>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+				<p>
+					Both recursiveTreeNodesAdaptor &amp; treeNodesAdaptor (model adaptor components further in the text)
+					components allow defining data model declaratively and binding treeNode components to tree model nodes.
+					treeNodesAdaptor has a "nodes" attribute that's used to define a collection of elements to iterate through.
+					Collections are allowed to include: lists, arrays, maps, XML NodeList &amp; NamedNodeMap either as single
+					object. The current collection element is accessible via a request-scoped variable named as "var"
+					attribute value. 
+				</p>
+ 				<p>recursiveTreeNodesAdaptor is an extension of a treeNodesAdaptor component that allows you to define two
+ 				 different value expressions: the first, assigned by "roots" attribute is used at the top of recursion,
+ 				 the second "nodes" is used on another recursion levels (the second level and deeper). 
+				 </p>
+				 
+				<h:panelGroup rendered="#{not empty fileSystemBean.sourceRoots}">
+					<div class="sample-container" >
+						<ui:include src="/richfaces/treeNodesAdaptor/examples/recursiveAdaptor.xhtml"/>
+						<ui:include src="/templates/include/sourceview.xhtml">
+							<ui:param name="sourcepath" value="/richfaces/treeNodesAdaptor/examples/recursiveAdaptor.xhtml"/>
+						</ui:include>		
+						<ui:include src="/templates/include/sourceview.xhtml">
+							<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/treemodeladaptor/FileSystemBean.java"/>
+							<ui:param name="openlabel" value="View FileSystemBean.java Source" />
+							<ui:param name="sourcetype" value="java" />
+						</ui:include>		
+						<ui:include src="/templates/include/sourceview.xhtml">
+							<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/treemodeladaptor/FileSystemNode.java"/>
+							<ui:param name="openlabel" value="View FileSystemNode.java Source" />
+							<ui:param name="sourcetype" value="java" />
+						</ui:include>		
+						<ui:include src="/templates/include/sourceview.xhtml">
+							<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/treemodeladaptor/PostbackPhaseListener.java"/>
+							<ui:param name="openlabel" value="View PostbackPhaseListener.java Source" />
+							<ui:param name="sourcetype" value="java" />
+						</ui:include>		
+						<ui:include src="/templates/include/sourceview.xhtml">
+							<ui:param name="sourcepath" value="/WEB-INF/src/org/richfaces/treemodeladaptor/TreeDemoStateAdvisor.java"/>
+							<ui:param name="openlabel" value="View TreeDemoStateAdvisor.java Source" />
+							<ui:param name="sourcetype" value="java" />
+						</ui:include>		
+					</div>
+				</h:panelGroup>
+				<f:verbatim rendered="#{empty fileSystemBean.sourceRoots}">
+					The information for this demo is generated and incorporated in the richfaces-demo.war
+					file with Maven process. Demo artifacts are located under /WEB-INF/src folder.<br/>
+					As soon as you read this text, you have no such folder in your run-time enviroment
+					right now.<br />
+					If you use Jetty to run, use 'mvn jetty:run-war' command.
+				</f:verbatim>
+
+				 <p>Model adaptor components can be nested without any limitations. The following code-snippet 
+				 shows an example of using Nodes Adapter along with rich:tree</p>
+				 <div  class="sample-container">
+					<rich:insert src="/richfaces/treeNodesAdaptor/snippets/sample.xhtml" highlight="xhtml" />
+				 </div>				 
+				 
+				 <p>Data model nodes are wired to treeNode components by nesting treeNode components with a "type"
+				  attribute not defined inside model adaptor components. The first rendered one is used, or the default
+				  one if all treeNode components are non-rendered.
+				</p>
+				
+
+		</ui:define>
+		
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/treeNodesAdaptor.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,22 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Tree Nodes Adaptor</ui:define>
+	<ui:define name="current">panel</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/treeNodesAdaptor/usage.xhtml"/>
+			</rich:tab>		
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/treeNodesAdaptor"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/examples/placeToGo.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/examples/placeToGo.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/examples/placeToGo.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,44 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+
+	<f:view contentType="text/html">
+			
+		<style type="text/css">
+			.col1 { width:510px; }
+			.col2 {	vertical-align: top; }
+		</style>	
+
+	
+		<h:panelGrid columnClasses="col1, col2" columns="2">
+		
+			<rich:virtualEarth id="gm" style="width:500px"
+				 lat="37.971796" lng="-122.042334" dashboardSize="Normal" 
+				 zoom="17" mapStyle="Birdseye" var="map" />
+			
+			<h:panelGroup>
+				Dashboard:<br />
+				<a href="javascript:void(0);" onclick="map.HideDashboard();return false;">Remove</a>
+				<a href="javascript:void(0);" onclick="map.ShowDashboard();return false;">Show</a>
+				<br /><br />
+				Type:<br/>
+				<a href="javascript:void(0);" onclick="map.SetMapStyle(VEMapStyle.Road);return false;">Road</a>
+				<a href="javascript:void(0);" onclick="map.SetMapStyle(VEMapStyle.Aerial);return false;">Aerial</a>
+				<a href="javascript:void(0);" onclick="map.SetMapStyle(VEMapStyle.Hybrid);return false;">Hybrid</a>
+				<a href="javascript:void(0);" onclick="map.SetMapStyle(VEMapStyle.Birdseye);return false;">Birdseye</a>
+				<br /><br />
+				Zoom:<br/>
+				<a href="javascript:void(0);" onclick="map.ZoomIn();return false;">In</a>
+				<a href="javascript:void(0);" onclick="map.ZoomOut();return false;">Out</a>
+			</h:panelGroup>	
+			
+			
+		</h:panelGrid>
+		
+
+		
+	</f:view>
+</ui:composition>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/usage.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/usage.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth/usage.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,67 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition template="/templates/component-sample.xhtml">
+		<ui:define name="sample">
+
+			<p>rich:virtualEarth presents a dynamically generated map based on the 
+			Microsoft Virtual Earth API. API is a pure Javascript library. So, you do not need
+			to have any external program or plugin installed to make it working. The component
+			allows to place the map on a page and define the initial parameters for it. You
+			can use the Virtual Earth SDK to manipulate with the map after that. The following links
+			helps you to be familiar to this technology:
+			<ul>
+				<li> <a href="http://dev.live.com/virtualearth/sdk/" target="_blank">
+						Virtual Earth Interactive SDK
+					 </a>
+				</li>
+				<li> <a href="http://msdn2.microsoft.com/en-us/library/bb429619.aspx" target="_blank">
+						MSDN, Virtual Earth Map Control 5.0
+					 </a>
+				</li>
+			</ul>
+			</p>
+			<div class="sample-container" >
+
+				<ui:include src="/richfaces/virtualEarth/examples/placeToGo.xhtml"/>
+				<ui:include src="/templates/include/sourceview.xhtml">
+					<ui:param name="sourcepath" value="/richfaces/virtualEarth/examples/placeToGo.xhtml"/>
+				</ui:include>
+													
+			</div>
+			
+			<p>
+			<b>var</b> attribute define a javascript variable you can use then as a reference to the
+			map from your custom javascript.
+			</p>
+			<p>
+			<b>lat</b> and <b>lng</b> attributes define the initial latitude and longitude of the
+			center of the map.
+			</p>
+			<p>
+			<b>zoom</b> attributes define the initial zoom. The available range from 1 to
+			19 (close look). The maximum might depend of the location.
+			</p>
+			<p>
+			<b>mapStyle</b> attributes define the initial map style. The available values for this 
+			attribute are "Road","Aerial","Hybrid","Birdseye". "Birdseye", they are available for the limited
+			number of locations only.
+			</p>
+			<p>
+			Use <b>style</b> attribute to define the size of the map. For example, style="width:600px;height:400px".
+			</p>
+			<p>
+				Virtual Earth does not support xhtml format of the page. Thus, if you use Facelets
+				and JSF 1.2, do not forget &lt;f:view contentType="text/html"&gt; somewhere on the 
+				page. To avoid re-initialization, do not re-render the component during Ajax
+				updates.
+			</p>
+			
+		</ui:define>
+
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/richfaces/virtualEarth.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,20 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition >
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components - Virtual Earth</ui:define>
+	<!--ui:define name="body"-->
+		<rich:tabPanel switchType="server" styleClass="top_tab" contentClass="content_tab" headerClass="header_tabs_class"  inactiveTabClass="inactive_tab" activeTabClass="active_tab">
+			<rich:tab label="Usage">
+				<ui:include src="/richfaces/virtualEarth/usage.xhtml"/>
+			</rich:tab>			
+			<ui:include src="/templates/include/tagInfo.xhtml">
+				<ui:param name="path" value="rich/virtualEarth"/>
+			</ui:include>		
+		</rich:tabPanel>
+<!--/ui:define-->
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/component-sample.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/component-sample.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/component-sample.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:rich="http://richfaces.org/rich">
+	<ui:composition>
+		<ui:insert name="sample"/>
+		<ui:insert name="sources"/>
+	</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-group.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-group.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-group.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,39 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+<ui:composition>
+
+<table border="0" cellpadding="0" cellspacing="1">
+	<tbody>
+		<a4j:repeat var="component" value="#{components}">
+			<tr class="#{component.current?'active':'unactive'}" onmouseover="this.className='active'" onmouseout="this.className='#{component.current?'active':'unactive'}'">
+				<td class="ico"><h:graphicImage value="#{component.iconImage}" width="16" height="16" alt="" border="0" /></td>
+				<td class="text" width="100%">
+             <a4j:form>
+                <h:messages/>
+                <a4j:commandLink reRender="bodycontent" actionListener="#{componentNavigator.useBodyParam}">
+                   #{component.name}
+                   <f:attribute value="#{component.contextRelativeDemoLocation}" name="body"/>
+                   <f:param value="#{component.id}" name="c"/>
+                </a4j:commandLink>
+               <ui:remove>
+               <h:commandLink style="display:block;height:20px" action="#{component.getContextRelativeDemoLocation}">
+						<span style="display:block;padding-top:3px">
+							#{component.name}
+						</span>
+						<f:param value="#{component.id}" name="c"/>
+					</h:commandLink>
+                </ui:remove>
+               </a4j:form>
+            </td>
+			</tr>
+		</a4j:repeat>
+	</tbody>
+</table>
+
+</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-navigation.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-navigation.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/components-navigation.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,70 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+<ui:composition>            
+
+<rich:panel styleClass="panel_menu">
+<rich:panelBar selectedPanel="#{componentNavigator.currentComponent.group}" height="550" width="100%">
+	<rich:panelBarItem   id="ajaxSupport" label="Ajax Support">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.ajaxSupport}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem  id="ajaxResources" label="Resources/Beans Handling">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.ajaxResources}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem   styleClass="panel_menu_bar"  id="ajaxOutput" label="Ajax Output">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.ajaxOutput}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="ajaxMisc" label="Ajax Miscellaneous">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.ajaxMisc}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richDataIterators" label="Data Iteration">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richDataIterators}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richDragDrop" label="Drag-Drop Support">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richDragDropComponents}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richMenu" label="Rich Menu">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richMenu}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richTree" label="Rich Trees">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richTree}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richOutputs" label="Rich Output">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richOutputs}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richInputs" label="Rich Input">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richInputs}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+	<rich:panelBarItem id="richMisc" label="Rich Miscellaneous">
+		<ui:include src="/templates/include/components-group.xhtml" >
+ 			<ui:param name="components" value="#{componentNavigator.richMisc}" />
+ 		</ui:include>
+	</rich:panelBarItem>
+</rich:panelBar>
+</rich:panel>
+</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/dynamic-css.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/dynamic-css.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/dynamic-css.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,39 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j">
+<ui:composition>
+<style type="text/css">
+body{
+	background-image : url(${facesContext.externalContext.requestContextPath}/images/page_bg.gif);
+}
+li{
+	list-style : outside url(${facesContext.externalContext.requestContextPath}/images/bullet_arrow.gif);
+}
+.top_navbar td{
+	background-image : url(${facesContext.externalContext.requestContextPath}/images/top_nav_bg.gif);
+}
+.panel_menu{
+	background-image : url(${facesContext.externalContext.requestContextPath}/images/menu_bg.gif);
+}
+.content_tab {
+	background-image : url(${facesContext.externalContext.requestContextPath}/images/tabpanel_custom/tabpanel_bg.jpg);
+}
+.active_tab {
+	background-image : url(${facesContext.externalContext.requestContextPath}/images/tabpanel_custom/tab_unactive_bg.gif);
+}
+.inactive_tab {
+	background-image : url(${facesContext.externalContext.requestContextPath}/images/tabpanel_custom/tab_active_bg.gif);
+}
+h1.hsample {
+	font-size:19px;
+}
+div.esample {
+	border:1px solid #CCCCCC;
+	padding:0px 8px 0px 8px;
+}
+</style>
+</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/footer.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/footer.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/footer.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,10 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j">
+<ui:composition>
+Footer will be here
+</ui:composition>>      
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/header.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/header.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/header.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,138 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+<ui:composition>
+<div class="page_brick"></div>
+<table class="top_navbar" cellpadding="0" cellspacing="0" border="0">
+<tbody>
+	<tr>
+		<td>
+			<h:outputLink value="http://labs.jboss.com/portal/jbossrichfaces/downloads">Download</h:outputLink>
+		</td>
+		<td>
+			<h:outputLink value="http://jboss.com/index.html?module=bb&amp;op=viewforum&amp;f=261">Support</h:outputLink>
+		</td>
+		<td>
+			<h:outputLink value="http://labs.jboss.com/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/index.html">Developer Guide</h:outputLink>
+		</td>
+	</tr>
+</tbody>
+</table>
+<h:form>
+<table class="skin_chooser" cellpadding="0" cellspacing="0" border="0">
+<tbody>
+	<tr>
+		<td>
+			<strong>Skins:</strong>
+		</td>
+		<td>
+			<rich:togglePanel id="skin_chooser" value="#{skinBean.skinChooserState}" switchType="ajax" stateOrder="s,b">
+				<f:facet name="s">
+					<h:panelGroup>
+					<!--<table class="skin_line" cellpadding="0" cellspacing="0" border="0">-->
+						<!--<tbody>-->
+							<!--<tr>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--BlueSky-->
+										<!--<f:param value="blueSky" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Classic-->
+										<!--<f:param value="classic" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td class="control">-->
+									<!--<rich:toggleControl for="skin_chooser" value="more &#187;" />-->
+								<!--</td>-->
+							<!--</tr>-->
+						<!--</tbody>-->
+					<!--</table>-->
+					</h:panelGroup>
+				</f:facet>
+				<f:facet name="b">
+					<h:panelGroup>
+					<!--<table class="skin_line" cellpadding="0" cellspacing="0" border="0">-->
+						<!--<tbody>-->
+							<!--<tr>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--BlueSky-->
+										<!--<f:param value="blueSky" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Classic-->
+										<!--<f:param value="classic" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Ruby-->
+										<!--<f:param value="ruby" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Wine-->
+										<!--<f:param value="wine" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--DeepMarine-->
+										<!--<f:param value="deepMarine" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--EmeraldTown-->
+										<!--<f:param value="emeraldTown" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Sakura-->
+										<!--<f:param value="japanCherry" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Plain-->
+										<!--<f:param value="plain" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Default-->
+										<!--<f:param value="DEFAULT" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td>-->
+									<!--<h:outputLink value="#{componentNavigator.currentComponent.contextRelativeDemoLocation}">-->
+										<!--Null-->
+										<!--<f:param value="NULL" name="s"/>-->
+									<!--</h:outputLink>-->
+								<!--</td>-->
+								<!--<td class="control">-->
+									<!--<rich:toggleControl for="skin_chooser" value="&#171; less" />-->
+								<!--</td>-->
+							<!--</tr>-->
+						<!--</tbody>-->
+					<!--</table>-->
+					</h:panelGroup>
+				</f:facet>
+			</rich:togglePanel>
+		</td>
+	</tr>
+</tbody>
+</table>
+</h:form>
+</ui:composition>
+</html>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/references.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/references.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/references.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,19 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+<ui:composition>
+<f:loadBundle var="path" basename="org/richfaces/demo/common/path"/>
+<rich:panel styleClass="panel_documents">
+	<strong>#{componentNavigator.currentComponent.name}</strong>
+	<ul>
+		<li><h:outputLink target="_blank" value="#{path.dgPath}#{componentNavigator.currentComponent != null ? componentNavigator.currentComponent.devGuideLocation : 'index.html'}">Developers Guide</h:outputLink></li>
+		<li><h:outputLink target="_blank" value="#{path.tldPath}#{componentNavigator.currentComponent !=null ? componentNavigator.currentComponent.tldDocLocation : 'jbossrichfaces/freezone/docs/tlddoc/overview-summary.html'}">Tld Documentation</h:outputLink></li>
+		<li><h:outputLink target="_blank" value="#{path.apiPath}#{componentNavigator.currentComponent !=null ? componentNavigator.currentComponent.javaDocLocation : 'jbossrichfaces/freezone/docs/apidoc/overview-summary.html'}">Component Class Documentation</h:outputLink></li>
+	</ul>
+</rich:panel>
+</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/sourceview.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/sourceview.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/sourceview.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,107 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+      xmlns:rich="http://richfaces.org/rich">
+<ui:composition>            
+
+
+
+			<rich:spacer height="8" />
+			
+			<script>
+			//<![CDATA[
+				Effect.Transitions.exponential = function(pos) {
+					  return 1-Math.pow(1-pos,2);
+				}
+			//]]>
+			</script>
+			
+			<style>
+			.viewsourcepanel {
+				 padding-bottom:0px;
+				 width:100%;
+				 overflow:auto;
+				 border-width:0;
+				 background-color:#FFFFE7;
+			}
+			.viewsourcebody {
+				padding:0;
+			}
+			.viewsourceheader {
+				background-color:#E6F3F7;
+				background-image:none;
+				border-width:0px;
+				padding:0px;
+				height:6px;
+			}
+			.viewsourcediv {
+				padding:0 10px 10px 10px;
+			}
+			.viewsourcediv pre {
+				margin:0;
+			}
+			
+			.viewsourcelooklink {
+				cursor:pointer;
+				text-decoration:underline;
+				padding-left:5px;
+				color:blue;
+				font-size:11px;
+				font-family:Verdana;
+			}
+			
+			.viewsourcehidelink {
+				text-align:right;
+				cursor:pointer;
+				display:block;
+				background-color:#E6F3F7;
+				text-decoration:none;
+			}
+			
+			</style>
+			<f:subview>
+			<div>
+
+			<a4j:outputPanel id="hide2" styleClass="viewsourcelooklink" style="display:none">
+				<rich:effect for="hide2" event="onclick" type="BlindUp" targetId="source1" params="id:'source1', duration:1.0" />
+				<rich:effect for="hide2" event="onclick" type="Appear" targetId="look" params="delay:1.0, duration:1.0" />
+				<rich:effect for="hide2" event="onclick" type="Fade" targetId="hide2" params="delay:0.9, duration:0.1" />
+				<h:outputText style="padding-right:5px" value="Hide"/>
+			</a4j:outputPanel>
+
+			<a4j:outputPanel styleClass="viewsourcelooklink" id="look">
+				<rich:effect for="look" event="onclick" type="Fade" targetId="source1"  params="duration:0.0" />
+				<rich:effect for="look" event="onclick" type="Fade" params="duration:0.1" />
+				<rich:effect for="look" event="onclick" type="BlindDown" targetId="source1" params="delay:0.1,duration:1.0,from:0.0,to:1.0" />
+				<rich:effect for="look" event="onclick" type="Appear"  targetId="source1"  params="delay:0.1,duration:0.5,from:0.0,to:1.0" />
+				<rich:effect for="look" event="onclick" type="Appear"  targetId="hide2"  params="delay:0.1,duration:0.5,from:0.0,to:1.0" />
+				<h:outputText escape="false" value="#{empty openlabel?'View Source' : openlabel }" />
+			</a4j:outputPanel>
+
+
+			<rich:panel  id="source1" bodyClass="viewsourcebody" headerClass="viewsourceheader" styleClass="viewsourcepanel" style="display:none">
+				<f:facet name="header">
+					<rich:spacer height="3px" />
+				 </f:facet>					
+			<div class="viewsourcediv">
+				<rich:insert  src="#{sourcepath}" highlight="#{empty sourcetype? 'xhtml' : sourcetype }"/>
+			</div>
+
+			<a4j:outputPanel id="hide" styleClass="viewsourcehidelink">
+				<rich:effect for="hide" event="onclick" type="BlindUp" targetId="source1" params="id:'source1', duration:1.0" />
+				<rich:effect for="hide" event="onclick" type="Appear" targetId="look" params="delay:1.0, duration:1.0" />
+				<rich:effect for="hide" event="onclick" type="Fade" targetId="hide2" params="delay:0.9, duration:0.1" />
+				<h:outputText style="padding-right:5px" value="&lt;&lt;Hide Source"/>
+			</a4j:outputPanel>
+
+			</rich:panel>
+			</div>
+			</f:subview>
+
+			
+
+</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfo.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfo.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfo.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,12 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:rich="http://richfaces.org/rich">
+<ui:composition>
+	<rich:tab label="Tag Information">
+		<rich:insert src="/WEB-INF/#{componentNavigator.currentComponent.tagInfoLocation}"
+		 errorContent="/templates/include/tagInfoNotes.xhtml"/>
+	</rich:tab>	
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfoNotes.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfoNotes.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/include/tagInfoNotes.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,16 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:rich="http://richfaces.org/rich">
+<ui:composition>
+	<f:verbatim>
+		The information from this tab is generated and incorporated in the richfaces-demo.war
+		file with Maven process. The target page is located under /WEB-INF/tlddoc folder.<br/>
+		As soon as you read this text, you have no such folder in your run-time enviroment
+		right now.<br />
+		If you use Jetty to run, use 'mvn jetty:run-war' command.
+	</f:verbatim>
+</ui:composition>
+</html>
+

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/main.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/main.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/templates/main.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:a4j="http://richfaces.org/a4j"
+	  xmlns:rich="http://richfaces.org/rich">
+      
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8"/>
+<title>
+	<ui:insert name="title"/>
+</title>
+<link rel="STYLESHEET" type="text/css" href="${facesContext.externalContext.requestContextPath}/css/common.css"/>
+ 
+<ui:include src="/templates/include/dynamic-css.xhtml" />
+</head>
+
+<body>
+
+<ui:include src="/templates/include/header.xhtml" />
+<table class="left_menu" cellpadding="0" cellspacing="0" border="0">
+<tbody>
+	<tr>
+		<td>
+			<ui:include src="/templates/include/references.xhtml" />
+			<div class="menu_separator">
+				&nbsp;
+			</div>
+			<ui:include src="/templates/include/components-navigation.xhtml" />
+		</td>
+	</tr>
+</tbody>
+</table>
+
+<h:graphicImage value="#{componentNavigator.currentComponent.captionImage}"
+	rendered="#{componentNavigator.hasCurrentComponent}" height="40" alt="" border="0" styleClass="component_name"/>
+
+<table cellpadding="0" cellspacing="0" border="0" class="content_container" width="100%">
+<tbody>
+	<tr>
+		<td>
+			<div class="content_container_left_brick"></div>
+		</td>
+		<td width="100%" class="content_container_pdddings">
+<!-- tabpanel begin -->
+		<ui:insert name="body2">Body</ui:insert>
+
+<!-- tabpanel end -->	
+		<rich:spacer style="height:10px;" />
+		<rich:separator style="height:1px" />	
+		<div style="float:right"  class="footer-text">${a4j.version}</div>
+		<div style="float:none">
+			<a href="http://jboss.com/index.html?module=bb&amp;op=viewtopic&amp;t=104575"
+				 style="color:#000; display:block"  class="footer-text">RichFaces. Most Important Links</a>
+		</div>
+		</td>
+	</tr>
+</tbody>
+</table>
+
+</body>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome-content.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome-content.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome-content.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+   xmlns:rich="http://richfaces.org/rich"
+    xmlns:a4j="http://richfaces.org/a4j">
+<ui:composition>
+
+          <p>Welcome to the <a href="http://labs.jboss.com/jbossrichfaces"
+		target="_blank" style="color:#000">Rich Faces 3.1</a> demo!</p>
+		<h4>About RichFaces</h4>
+		<p>RichFaces is a rich component library for JavaServer Faces
+		built on an advanced open source framework (Ajax4jsf). It allows easy integration of AJAX capabilities into enterprise-level business
+		application development.</p>
+		<p>RichFaces enriches the Ajax4jsf framework in two important
+		ways. First, it expands a number of visual ready-to-use components.
+		Secondly, it fully implements the skinnability feature of the Ajax4jsf
+		framework including a large number of predefined skins. Using
+		skinnability, it is much easier to manage the look-and-feel of an
+		application.</p>
+		<h4>About This Demo</h4>
+		<p>This demo Web application showcases the most important
+		functionality available in RichFaces components. For each component
+		or component set selected in the left-hand sidebar, you can see it in action. Also, you can immediately see the effect of predefined
+		skins on the application whole look-and-feel.
+		</p>
+
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome.xhtml
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome.xhtml	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/webapp/welcome.xhtml	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+   xmlns:rich="http://richfaces.org/rich"
+    xmlns:a4j="http://richfaces.org/a4j">
+<ui:composition template="/templates/main.xhtml">
+	<ui:define name="title">RichFaces - Open Source Rich JSF Components</ui:define>
+
+   <ui:define name="body2">
+      <a4j:outputPanel id="bodycontent">
+
+         <ui:include src="#{componentNavigator.bodyParam == null ? '/welcome-content.xhtml' : componentNavigator.bodyParam}"/>
+          
+
+       </a4j:outputPanel>
+
+
+
+      </ui:define>
+</ui:composition>
+</html>

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/f.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/f.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/f.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+               xmlns:javaee="http://java.sun.com/JSP/TagLibraryDescriptor"
+               version="1.0" exclude-result-prefixes="javaee">
+    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
+     <xsl:param name="lang" />
+     <xsl:param name="title" />
+     <xsl:param name="separator" />
+    
+    <xsl:template match="javaee:table | table">
+				<xsl:call-template name="tag" />
+    </xsl:template>
+
+	<xsl:template name="tag">
+                <xsl:copy-of select="./*"/>
+	</xsl:template>
+</xsl:transform>
\ No newline at end of file

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-frame.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-frame.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-frame.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : alltags-frame.html.xsl
+    Created on : October 1, 2002, 5:37 PM
+    Author     : mroth
+    Description:
+        Creates the all tags frame (lower left corner), listing all tags
+        and functions included in all tag libraries for this generation.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <html>
+        <head>
+          <title>All Tags / Functions</title>
+          <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style"/>
+        </head>
+        <script>
+          function asd()
+          {
+            parent.document.title="All Tags / Functions";
+          }
+        </script>
+        <body bgcolor="white" onload="asd();">
+          <font size="+1" class="FrameHeadingFont">
+          <b>All Tags / Functions</b></font>
+          <br/>
+          <table border="0" width="100%">
+            <tr>
+              <td nowrap="true"><font class="FrameItemFont">
+                <xsl:apply-templates 
+                    select="javaee:tlds/javaee:taglib/javaee:tag|javaee:tlds/javaee:taglib/javaee:tag-file|javaee:tlds/javaee:taglib/javaee:function">
+                  <xsl:sort select="../javaee:short-name"/>
+                  <xsl:sort select="javaee:name"/>
+                </xsl:apply-templates>
+              </font></td>
+            </tr>
+          </table>
+        </body>
+      </html>    
+    </xsl:template>
+    
+    <xsl:template match="javaee:tag|javaee:tag-file">
+      <xsl:element name="a">
+        <xsl:attribute name="href"><xsl:value-of select="../javaee:short-name"/>/<xsl:value-of select="javaee:name"/>.html</xsl:attribute>
+        <xsl:attribute name="target">tagFrame</xsl:attribute>
+        <xsl:value-of select="../javaee:short-name"/>:<xsl:value-of select="javaee:name"/>
+      </xsl:element>
+      <br/>
+    </xsl:template>
+    
+    <!-- 
+      - Same as above, but add the () to indicate it's a function 
+      - and change the HTML to .fn.html
+      -->
+    <xsl:template match="javaee:function">
+      <xsl:element name="a">
+        <xsl:attribute name="href"><xsl:value-of select="../javaee:short-name"/>/<xsl:value-of select="javaee:name"/>.fn.html</xsl:attribute>
+        <xsl:attribute name="target">tagFrame</xsl:attribute>
+        <i><xsl:value-of select="../javaee:short-name"/>:<xsl:value-of select="javaee:name"/>()</i>
+      </xsl:element>
+      <br/>
+    </xsl:template>
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-noframe.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-noframe.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/alltags-noframe.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : alltags-frame.html.xsl
+    Created on : October 1, 2002, 5:37 PM
+    Author     : mroth
+    Description:
+        Creates the all tags page, listing all tags
+        and functions included in all tag libraries for this generation.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <html>
+        <head>
+          <title>All Tags / Functions</title>
+          <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style"/>
+        </head>
+        <script>
+          function asd()
+          {
+            parent.document.title="All Tags / Functions";
+          }
+        </script>
+        <body bgcolor="white" onload="asd();">
+          <font size="+1" class="FrameHeadingFont">
+          <b>All Tags / Functions</b></font>
+          <br/>
+          <table border="0" width="100%">
+            <tr>
+              <td nowrap="true"><font class="FrameItemFont">
+                <xsl:apply-templates 
+                    select="javaee:tlds/javaee:taglib/javaee:tag|javaee:tlds/javaee:taglib/javaee:tag-file|javaee:tlds/javaee:taglib/javaee:function">
+                  <xsl:sort select="../javaee:short-name"/>
+                  <xsl:sort select="javaee:name"/>
+                </xsl:apply-templates>
+              </font></td>
+            </tr>
+          </table>
+        </body>
+      </html>    
+    </xsl:template>
+    
+    <xsl:template match="javaee:tag|javaee:tag-file">
+      <xsl:element name="a">
+        <xsl:attribute name="href"><xsl:value-of select="../javaee:short-name"/>/<xsl:value-of select="javaee:name"/>.html</xsl:attribute>
+        <xsl:attribute name="target"></xsl:attribute>
+        <xsl:value-of select="../javaee:short-name"/>:<xsl:value-of select="javaee:name"/>
+      </xsl:element>
+      <br/>
+    </xsl:template>
+    
+    <!-- 
+      - Same as above, but add the () to indicate it's a function 
+      - and change the HTML to .fn.html
+      -->
+    <xsl:template match="javaee:function">
+      <xsl:element name="a">
+        <xsl:attribute name="href"><xsl:value-of select="../javaee:short-name"/>/<xsl:value-of select="javaee:name"/>.fn.html</xsl:attribute>
+        <xsl:attribute name="target">tagFrame</xsl:attribute>
+        <i><xsl:value-of select="../javaee:short-name"/>:<xsl:value-of select="javaee:name"/>()</i>
+      </xsl:element>
+      <br/>
+    </xsl:template>
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/function.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/function.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/function.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : function.html.xsl
+    Created on : Februrary 25, 2003, 7:39 PM
+    Author     : mroth
+    Description:
+        Creates the function detail page (right frame), listing the known
+        information for a given function in a tag library.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+    
+    <xsl:param name="tlddoc-shortName">default</xsl:param>
+    <xsl:param name="tlddoc-functionName">default</xsl:param>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <xsl:apply-templates select="javaee:tlds/javaee:taglib"/>
+    </xsl:template>
+    
+    <xsl:template match="javaee:taglib">
+      <xsl:if test="javaee:short-name=$tlddoc-shortName">
+        <xsl:apply-templates select="javaee:function"/>
+      </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="javaee:function">
+      <xsl:if test="javaee:name=$tlddoc-functionName">
+        <xsl:variable name="tldname">
+          <xsl:choose>
+            <xsl:when test="../javaee:display-name!=''">
+              <xsl:value-of select="../javaee:display-name"/>
+            </xsl:when>
+            <xsl:when test="../javaee:short-name!=''">
+              <xsl:value-of select="../javaee:short-name"/>
+            </xsl:when>
+            <xsl:otherwise>
+              Unnamed TLD
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name="title">
+          <xsl:value-of select="javaee:name"/>
+          (<xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>)
+        </xsl:variable>
+        <html>
+          <head>
+            <title><xsl:value-of select="$title"/></title>
+            <meta name="keywords" content="$title"/>
+            <link rel="stylesheet" type="text/css" href="../stylesheet.css" 
+                  title="Style"/>
+          </head>
+          <script>
+            function asd()
+            {
+            parent.document.title="<xsl:value-of select="normalize-space($title)"/>";
+            }
+          </script>
+          <body bgcolor="white" onload="asd();">
+            <!-- =========== START OF NAVBAR =========== -->
+            <a name="navbar_top"><!-- --></a>
+            <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_top_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a href="../overview-summary.html"><font CLASS="NavBarFont1"><b>Overview</b></font></a>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a href="tld-summary.html"><font CLASS="NavBarFont1"><b>Library</b></font></a>&#160;</td>
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &#160;<font CLASS="NavBarFont1Rev">&#160;Tag&#160;</font>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a HREF="../help-doc.html"><font CLASS="NavBarFont1"><b>Help</b></font></a>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                <!--&#160;PREV TAGLIB&#160;-->
+                <!--&#160;NEXT TAGLIB&#160;-->
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="../index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<xsl:element name="a">
+                  <xsl:attribute name="href"><xsl:value-of select="javaee:name"/>.fn.html</xsl:attribute>
+                  <xsl:attribute name="target">_top</xsl:attribute>
+                  <b>NO FRAMES</b>
+                </xsl:element>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="../alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+            </table>
+            <!-- =========== END OF NAVBAR =========== -->
+            
+            <hr/>
+            <h2><font size="-1"><xsl:value-of select="$tldname"/></font><br/>
+            Function <xsl:value-of select="javaee:name"/></h2>
+            <code>
+              <xsl:value-of select='substring-before(normalize-space(javaee:function-signature)," ")'/>
+              <b>&#160;<xsl:value-of select="javaee:name"/></b>(<xsl:value-of 
+              select='substring-after(normalize-space(javaee:function-signature),"(")'/>
+            </code>
+            <hr/>
+            <xsl:value-of select="javaee:description" disable-output-escaping="yes"/><br/>
+            <p/>
+            <xsl:if test="javaee:example!=''">
+              <b>Example:</b><br/>
+              <pre>
+<xsl:value-of select="javaee:example"/>              
+              </pre>
+              <p/>
+            </xsl:if>
+            <hr/>
+            
+            <!-- Function Information -->
+            <table border="1" cellpadding="3" cellspacing="0" width="100%">
+              <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+                <td colspan="2">
+                  <font size="+2">
+                    <b>Function Information</b>
+                  </font>
+                </td>
+              </tr>
+              <tr>
+                <td>Function Class</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:function-class!=''">
+                      <xsl:value-of select="javaee:function-class"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+              <tr>
+                <td>Function Signature</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:function-signature!=''">
+                      <xsl:value-of select="javaee:function-signature"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+              <tr>
+                <td>Display Name</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:display-name!=''">
+                      <xsl:value-of select="javaee:display-name"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+            </table>
+            <br/>
+            <p/>
+            
+            <!-- =========== START OF NAVBAR =========== -->
+            <a name="navbar_bottom"><!-- --></a>
+            <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_bottom_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a href="../overview-summary.html"><font CLASS="NavBarFont1"><b>Overview</b></font></a>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a href="tld-summary.html"><font CLASS="NavBarFont1"><b>Library</b></font></a>&#160;</td>
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &#160;<font CLASS="NavBarFont1Rev">&#160;Tag&#160;</font>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a HREF="../help-doc.html"><font CLASS="NavBarFont1"><b>Help</b></font></a>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                <!--&#160;PREV TAGLIB&#160;-->
+                <!--&#160;NEXT TAGLIB&#160;-->
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="../index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<xsl:element name="a">
+                  <xsl:attribute name="href"><xsl:value-of select="javaee:name"/>.fn.html</xsl:attribute>
+                  <xsl:attribute name="target">_top</xsl:attribute>
+                  <b>NO FRAMES</b>
+                </xsl:element>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="../alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+            </table>
+            <!-- =========== END OF NAVBAR =========== -->
+            <hr/>            
+            <small><i>
+            Output Generated by 
+            <a href="http://taglibrarydoc.dev.java.net/" target="_blank">Tag Library Documentation Generator</a>.
+            Java, JSP, and JavaServer Pages are trademarks or 
+            registered trademarks of Sun Microsystems, Inc. in the US and other
+            countries.  Copyright 2002-4 Sun Microsystems, Inc.
+            4150 Network Circle
+            Santa Clara, CA 95054, U.S.A.
+            All Rights Reserved. 
+            </i></small>
+          </body>
+        </html>
+      </xsl:if>
+    </xsl:template>
+
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/help-doc.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/help-doc.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/help-doc.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : help-doc.html.xsl
+    Created on : October 2, 2002, 5:37 PM
+    Author     : mroth
+    Description:
+        Creates the help-doc page for Tag Library Documentation Generator
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <HTML>
+        <HEAD>
+          <TITLE>
+            API Help (<xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>)
+          </TITLE>
+          <LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style"/>
+        </HEAD>
+        <SCRIPT>
+          function asd() {
+            parent.document.title="API Help (<xsl:value-of select="normalize-space(/javaee:tlds/javaee:config/javaee:window-title)"/>)";
+          }
+        </SCRIPT>
+        <BODY BGCOLOR="white" onload="asd();">
+          <a name="navbar_top"><!-- --></a>
+          <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_top_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &#160;<a href="overview-summary.html"><font CLASS="NavBarFont1"><b>Overview</b></font></a>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Library&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Tag&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev">    &#160;<font CLASS="NavBarFont1Rev"><b>Help</b></font>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;PREV&#160;
+                &#160;NEXT&#160;
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<a HREF="help-doc.html" TARGET="_top"><b>NO FRAMES</b></a>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+          </table>
+          <HR/>
+          <CENTER>
+            <H1>How This Tag Library Document Is Organized</H1>
+          </CENTER>
+          This TLD (Tag Library Descriptor) document has pages corresponding 
+          to the items in the navigation bar, described as follows.
+          <H3>Overview</H3>
+          <BLOCKQUOTE>
+            <P/>
+            The <A HREF="overview-summary.html">Overview</A> page is the front 
+            page of this TLD document and provides a list of all tag libraries
+            with a summary for each.
+          </BLOCKQUOTE>
+          <H3>Library</H3>
+          <BLOCKQUOTE>
+            <P/>
+            Each tag library has a page that contains a list of its 
+            validator, listeners, tags, and functions, with a summary for each.
+            This page can contain four categories:
+            <UL>
+              <li>Validator</li>
+              <li>Listeners</li>
+              <li>Tags</li>
+              <li>Functions</li>
+            </UL>
+          </BLOCKQUOTE>
+          <H3>Validator</H3>
+          <BLOCKQUOTE>
+            <P/>
+            A tag library can have at most one validator.  If a tag library
+            has a validator, it has its own page describing the validator,
+            the class that implements the validator, and the available
+            initialization parameters.
+          </BLOCKQUOTE>
+          <h3>Listeners</h3>
+          <blockquote>
+            <p/>
+            A tag library can have zero or more listeners.  If a tag library
+            has at least one listener, a page is generated that lists all
+            listener classes registered for the tag library.
+          </blockquote>
+          <h3>Tags</h3>
+          <blockquote>
+            <p/>
+            A tag library can have zero or more tags.  Each tag has its own
+            page that describes the tag, its display name, its unique action
+            name, the class that implements the tag, the TagExtraInfo class,
+            the body content type, scripting variable information, attributes,
+            whether the tag supports dynamic attributes, and an optional 
+            example use of the tag.
+          </blockquote>
+          <h3>Functions</h3>
+          <blockquote>
+            <p/>
+            A tag library can contain zero or more EL functions.  If a tag
+            library has at least one function, a page is generated that lists
+            all functions, the class that implements the function, the
+            function signature, and an optional example use of the function.
+          </blockquote>
+          <!--
+          <H3>Index</H3>
+          <BLOCKQUOTE>
+            The <A HREF="index-files/index-1.html">Index</A> contains an 
+            alphabetic list of all validators, listeners, tags, functions, 
+            variables, and attributes.
+          </BLOCKQUOTE>
+          -->
+          <H3>Prev/Next</H3>
+          <blockquote>
+            These links take you to the next or previous validator, listener, 
+            tag, function, or related page.
+          </blockquote>
+          <H3>Frames/No Frames</H3>
+          <blockquote>
+            These links show and hide the HTML frames.  All pages are available 
+            with or without frames.
+          </blockquote>
+          <BR/>
+          <HR/>
+          <a name="navbar_bottom"><!-- --></a>
+          <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_bottom_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1"> &#160;<a href="overview-summary.html"><font CLASS="NavBarFont1"><b>Overview</b></font></a>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Library&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Tag&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1Rev">    &#160;<font CLASS="NavBarFont1Rev"><b>Help</b></font>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;PREV&#160;
+                &#160;NEXT&#160;
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<a HREF="help-doc.html" TARGET="_top"><b>NO FRAMES</b></a>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+          </table>
+          <HR/>
+          <small><i>
+          Output Generated by 
+          <a href="http://taglibrarydoc.dev.java.net/" target="_blank">Tag Library Documentation Generator</a>.
+          Java, JSP, and JavaServer Pages are trademarks or 
+          registered trademarks of Sun Microsystems, Inc. in the US and other
+          countries.  Copyright 2002-4 Sun Microsystems, Inc.
+          4150 Network Circle
+          Santa Clara, CA 95054, U.S.A.
+          All Rights Reserved. 
+          </i></small>
+        </BODY>
+      </HTML>
+    </xsl:template>
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/index.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/index.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/index.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : index.html.xsl
+    Created on : October 1, 2002, 5:37 PM
+    Author     : mroth
+    Description:
+        Creates the index page for Tag Library Documentation Generator
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <html>
+        <head>
+          <title>
+            <xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>
+          </title>
+        </head>
+        <frameset cols="20%,80%">
+          <frameset rows="30%,70%">
+            <frame src="overview-frame.html" name="tldListFrame"/>
+            <frame src="alltags-frame.html" name="tldFrame"/>
+          </frameset>
+          <frame src="overview-summary.html" name="tagFrame"/>
+        </frameset>
+        <noframes>
+          <h2>Frame Alert</h2>
+          <p/>
+          This document is designed to be viewed using the frames feature.  
+          If you see this message, you are using a non-frame-capable web 
+          client.
+          <br/>
+          Link to <a href="overview-summary.html">Non-frame version.</a>
+        </noframes>
+      </html>
+    </xsl:template>
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-frame.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-frame.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-frame.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : overview-frame.html.xsl
+    Created on : October 1, 2002, 5:37 PM
+    Author     : mroth
+    Description:
+        Creates the overview frame (upper left corner), listing all tag 
+        libraries included in this generation.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee">
+    
+    <xsl:output method="html" indent="yes"/>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <html>
+        <head>
+          <title>
+            Overview (<xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>)
+          </title>
+          <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style"/>
+        </head>
+        <script>
+          function asd() {
+            parent.document.title="Overview (<xsl:value-of select="normalize-space(/javaee:tlds/javaee:config/javaee:window-title)"/>)";
+          }
+        </script>
+        <body bgcolor="white" onload="asd();">
+          <table border="0" width="100%">
+            <tr>
+              <td nowrap="true">
+                <font size="+1" class="FrameTitleFont">
+                  <b><xsl:value-of select="/javaee:tlds/javaee:config/javaee:doc-title"/></b>
+                </font>
+              </td>
+            </tr>
+          </table>
+          <table border="0" width="100%">
+            <tr>
+              <td nowrap="true">
+                <font class="FrameItemFont">
+                  <a href="alltags-frame.html" target="tldFrame"><xsl:text>All Tags / Functions</xsl:text></a>
+                </font>
+                <p/>
+                <font size="+1" class="FrameHeadingFont">
+                  Tag Libraries
+                </font>
+                <br/>
+                <xsl:apply-templates select="javaee:tlds/javaee:taglib"/>
+              </td>
+            </tr>
+          </table>
+          <p/>
+        </body>
+      </html>
+    </xsl:template>
+    
+    <xsl:template match="javaee:taglib">
+      <font class="FrameItemFont">
+        <xsl:element name="a">
+          <xsl:attribute name="href"><xsl:value-of select="javaee:short-name"/>/tld-frame.html</xsl:attribute>
+          <xsl:attribute name="target">tldFrame</xsl:attribute>
+          <xsl:choose>
+            <xsl:when test="javaee:display-name!=''">
+              <xsl:value-of select="javaee:display-name"/>
+            </xsl:when>
+            <xsl:when test="javaee:short-name!=''">
+              <xsl:value-of select="javaee:short-name"/>
+            </xsl:when>
+            <xsl:otherwise>
+              Unnamed TLD
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:element>
+      </font>
+      <br/>
+    </xsl:template>
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-summary.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-summary.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/overview-summary.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : overview-summary.html.xsl
+    Created on : October 1, 2002, 5:37 PM
+    Author     : mroth
+    Description:
+        Creates an overview summary (right frame), listing all tag 
+        libraries included in this generation.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <html>
+        <head>
+          <title>
+            Overview (<xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>)
+          </title>
+          <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style"/>
+        </head>
+        <script>
+          function asd() {
+            parent.document.title="Overview (<xsl:value-of select="normalize-space(/javaee:tlds/javaee:config/javaee:window-title)"/>)";
+          }
+        </script>
+        <body bgcolor="white" onload="asd();">
+          <!-- =========== START OF NAVBAR =========== -->
+          <a name="navbar_top"><!-- --></a>
+          <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_top_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <font CLASS="NavBarFont1Rev"><b>&#160;Overview&#160;</b></font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Library&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Tag&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a HREF="help-doc.html"><font CLASS="NavBarFont1"><b>Help</b></font></a>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                <!--&#160;PREV&#160;-->
+                <!--&#160;NEXT&#160;-->
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<a HREF="overview-summary.html" TARGET="_top"><b>NO FRAMES</b></a>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+          </table>
+          <!-- =========== END OF NAVBAR =========== -->
+          <hr/>
+          <center>
+            <h2><xsl:value-of select="/javaee:tlds/javaee:config/javaee:doc-title"/></h2>
+          </center>
+          <table BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
+            <tr BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+              <td COLSPAN="2"><font SIZE="+2">
+                <b>Tag Libraries</b>
+              </font></td>
+            </tr>
+            <xsl:apply-templates select="/javaee:tlds/javaee:taglib"/>
+          </table>
+          <p/>
+          <hr/>
+          <!-- =========== START OF NAVBAR =========== -->
+          <a name="navbar_bottom"><!-- --></a>
+          <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_bottom_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <font CLASS="NavBarFont1Rev"><b>&#160;Overview&#160;</b></font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Library&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Tag&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a HREF="help-doc.html"><font CLASS="NavBarFont1"><b>Help</b></font></a>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                <!--&#160;PREV&#160;-->
+                <!--&#160;NEXT&#160;-->
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<a HREF="overview-summary.html" TARGET="_top"><b>NO FRAMES</b></a>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+          </table>
+          <!-- =========== END OF NAVBAR =========== -->
+          <hr/>
+          <small><i>
+          Output Generated by 
+          <a href="http://taglibrarydoc.dev.java.net/" target="_blank">Tag Library Documentation Generator</a>.
+          Java, JSP, and JavaServer Pages are trademarks or 
+          registered trademarks of Sun Microsystems, Inc. in the US and other
+          countries.  Copyright 2002-4 Sun Microsystems, Inc.
+          4150 Network Circle
+          Santa Clara, CA 95054, U.S.A.
+          All Rights Reserved. 
+          </i></small>
+        </body>
+      </html>
+    </xsl:template>
+    
+    <xsl:template match="javaee:taglib">
+      <tr BGCOLOR="white" valign="top" CLASS="TableRowColor">
+        <td WIDTH="20%"><b>
+          <xsl:element name="a">
+            <xsl:attribute name="href"><xsl:value-of select="javaee:short-name"/>/tld-summary.html</xsl:attribute>
+            <xsl:choose>
+              <xsl:when test="javaee:display-name!=''">
+                <xsl:value-of select="javaee:display-name"/>
+              </xsl:when>
+              <xsl:when test="javaee:short-name!=''">
+                <xsl:value-of select="javaee:short-name"/>
+              </xsl:when>
+              <xsl:otherwise>
+                Unnamed TLD
+              </xsl:otherwise>
+            </xsl:choose>
+          </xsl:element>
+        </b></td>
+        <td>
+          <xsl:choose>
+              <xsl:when test="javaee:description!=''">
+                <pre>
+                  <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+                </pre>
+              </xsl:when>
+              <xsl:otherwise>
+                <i>No Description</i>
+              </xsl:otherwise>
+          </xsl:choose>
+        </td>
+      </tr>
+    </xsl:template>
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/stylesheet.css
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/stylesheet.css	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/stylesheet.css	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,60 @@
+/* Javadoc style sheet */
+
+/*
+ * <license>
+ * Copyright (c) 2003-2004, Sun Microsystems, Inc.
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions are met:
+ * 
+ *     * Redistributions of source code must retain the above copyright 
+ *       notice, this list of conditions and the following disclaimer.
+ *     * Redistributions in binary form must reproduce the above copyright 
+ *       notice, this list of conditions and the following disclaimer in the
+ *       documentation and/or other materials provided with the distribution.
+ *     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+ *       contributors may be used to endorse or promote products derived from
+ *       this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * </license>
+ */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
+.FrameHeadingFont { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
+.FrameItemFont    { font-size: 10pts; font-family: Helvetica, Arial, san-serif }
+
+/* Example of smaller, sans-serif font in frames */
+/* .FrameItemFont  { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;}/* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tag.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tag.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tag.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : tag.html.xsl
+    Created on : December 18, 2002, 5:22 PM
+    Author     : mroth
+    Description:
+        Creates the tag detail page (right frame), listing the known
+        information for a given tag in a tag library.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
+    
+    <xsl:param name="tlddoc-shortName">default</xsl:param>
+    <xsl:param name="tlddoc-tagName">default</xsl:param>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <xsl:apply-templates select="javaee:tlds/javaee:taglib"/>
+    </xsl:template>
+    
+    <xsl:template match="javaee:taglib">
+      <xsl:if test="javaee:short-name=$tlddoc-shortName">
+        <xsl:apply-templates select="javaee:tag|javaee:tag-file"/>
+      </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="javaee:tag|javaee:tag-file">
+      <xsl:if test="javaee:name=$tlddoc-tagName">
+        <xsl:variable name="tldname">
+          <xsl:choose>
+            <xsl:when test="../javaee:display-name!=''">
+              <xsl:value-of select="../javaee:display-name"/>
+            </xsl:when>
+            <xsl:when test="../javaee:short-name!=''">
+              <xsl:value-of select="../javaee:short-name"/>
+            </xsl:when>
+            <xsl:otherwise>
+              Unnamed TLD
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name="title">
+          <xsl:value-of select="javaee:name"/>
+          (<xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>)
+        </xsl:variable>
+            
+            <!-- Tag Information -->
+            <table class="doctable"  cellpadding="3" cellspacing="0" width="100%">
+              <tr  class="TableHeadingColor">
+                <td colspan="2">
+                  <font size="+2">
+                    <b>Tag Information</b>
+                  </font>
+                </td>
+              </tr>
+              <tr>
+                <td>Tag Class</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:tag-class!=''">
+                      <xsl:value-of select="javaee:tag-class"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+              <tr>
+                <td>TagExtraInfo Class</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:tei-class!=''">
+                      <xsl:value-of select="javaee:tei-class"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+              <tr>
+                <td>Body Content</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:body-content!=''">
+                      <xsl:value-of select="javaee:body-content"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+              <tr>
+                <td>Display Name</td>
+                <td>
+                  <xsl:choose>
+                    <xsl:when test="javaee:display-name!=''">
+                      <xsl:value-of select="javaee:display-name"/>
+                    </xsl:when>
+                    <xsl:otherwise>
+                      <i>None</i>
+                    </xsl:otherwise>
+                  </xsl:choose>
+                </td>
+              </tr>
+            </table>
+            
+            <!-- Attribute Information -->
+            <table class="doctable"  cellpadding="3" cellspacing="0" width="100%">
+              <tr  class="TableHeadingColor">
+                <td colspan="5">
+                  <font size="+2">
+                    <b>Attributes</b>
+                  </font>
+                </td>
+              </tr>
+              <xsl:choose>
+                <xsl:when test="count(javaee:attribute)>0">
+                  <tr>
+                    <td><b>Name</b></td>
+                    <td><b>Required</b></td>
+                    <td><b>Request-time</b></td>                    
+                    <td><b>Type</b></td>
+                    <td><b>Description</b></td>
+                  </tr>
+                  <xsl:apply-templates select="javaee:attribute"/>
+                </xsl:when>
+                <xsl:otherwise>
+                  <td colspan="5"><i>No Attributes Defined.</i></td>
+                </xsl:otherwise>
+              </xsl:choose>
+            </table>
+
+      </xsl:if>
+    </xsl:template>
+
+    <xsl:template match="javaee:attribute">
+      <tr valign="top">
+        <td><xsl:apply-templates select="javaee:name"/></td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:required!=''">
+              <xsl:value-of select="javaee:required"/>
+            </xsl:when>
+            <xsl:otherwise>false</xsl:otherwise>
+          </xsl:choose>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:rtexprvalue!=''">
+              <xsl:value-of select="javaee:rtexprvalue"/>
+            </xsl:when>
+            <xsl:otherwise>false</xsl:otherwise>
+          </xsl:choose>
+        </td>        
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:deferred-value">
+                <xsl:choose>
+                    <xsl:when test="javaee:deferred-value/javaee:type">
+                        <code>javax.el.ValueExpression</code>
+                        <br/>(<i>must evaluate to </i><code><xsl:value-of
+                                select="javaee:deferred-value/javaee:type"/></code>)
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <code>javax.el.ValueExpression</code>
+                        <br/>(<i>must evaluate to </i><code>java.lang.Object</code>)
+                    </xsl:otherwise>
+                </xsl:choose>                                
+            </xsl:when>
+            <xsl:when test="javaee:deferred-method">
+                <xsl:choose>
+                    <xsl:when test="javaee:deferred-method/javaee:method-signature">
+                        <code>javax.el.MethodExpression</code>
+                        <br/>(<i>signature must match </i><code><xsl:value-of
+                                select="javaee:deferred-method/javaee:method-signature"/></code>)
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <code>javax.el.MethodExpression</code>
+                        <br/>(<i>signature must match </i><code>void methodname()</code>)
+                    </xsl:otherwise>
+                </xsl:choose>
+            </xsl:when>
+            <xsl:when test="javaee:type!=''">
+              <code><xsl:value-of select="javaee:type"/></code>
+            </xsl:when>
+            <xsl:otherwise>
+                <code>java.lang.String</code>                
+            </xsl:otherwise>
+          </xsl:choose>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:description!=''">
+              <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+            </xsl:when>
+            <xsl:otherwise><i>No Description</i></xsl:otherwise>
+          </xsl:choose>
+        </td>
+      </tr>
+    </xsl:template>
+    
+    <xsl:template match="javaee:variable">
+      <tr>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:name-given!=''">
+              <xsl:value-of select="javaee:name-given"/>
+            </xsl:when>
+            <xsl:when test="javaee:name-from-attribute!=''">
+              <i>From attribute '<xsl:value-of select="javaee:name-from-attribute"/>'</i>
+            </xsl:when>
+            <xsl:otherwise>
+              <i>Unknown</i>
+            </xsl:otherwise>
+          </xsl:choose>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:variable-class!=''">
+              <code><xsl:value-of select="javaee:variable-class"/></code>
+            </xsl:when>
+            <xsl:otherwise><code>java.lang.String</code></xsl:otherwise>
+          </xsl:choose>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:declare!=''">
+              <xsl:value-of select="javaee:declare"/>
+            </xsl:when>
+            <xsl:otherwise>true</xsl:otherwise>
+          </xsl:choose>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:scope!=''">
+              <xsl:value-of select="javaee:scope"/>
+            </xsl:when>
+            <xsl:otherwise>NESTED</xsl:otherwise>
+          </xsl:choose>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:description!=''">
+              <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+            </xsl:when>
+            <xsl:otherwise><i>No Description</i></xsl:otherwise>
+          </xsl:choose>
+        </td>
+      </tr>
+    </xsl:template>
+    
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-frame.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-frame.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-frame.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : tld-frame.html.xsl
+    Created on : December 18, 2002, 11:40 AM
+    Author     : mroth
+    Description:
+        Creates the TLD frame (lower-left hand corner), listing the tags
+        and functions that are in this particular tag library.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+    
+    <xsl:param name="tlddoc-shortName">default</xsl:param>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <xsl:apply-templates select="javaee:tlds/javaee:taglib"/>
+    </xsl:template>
+    
+    <xsl:template match="javaee:taglib">
+      <xsl:if test="javaee:short-name=$tlddoc-shortName">
+        <xsl:variable name="tldname">
+          <xsl:choose>
+            <xsl:when test="javaee:display-name!=''">
+              <xsl:value-of select="javaee:display-name"/>
+            </xsl:when>
+            <xsl:when test="javaee:short-name!=''">
+              <xsl:value-of select="javaee:short-name"/>
+            </xsl:when>
+            <xsl:otherwise>
+              Unnamed TLD
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name="tldfull">
+          <xsl:value-of select="$tldname"/>
+          <xsl:choose>
+            <xsl:when test="javaee:description!=''">
+              (<xsl:value-of select="javaee:description" disable-output-escaping="yes"/>)
+            </xsl:when>
+            <xsl:otherwise>
+              No Description
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <html>
+          <head>
+            <title>
+              <xsl:value-of select="$tldfull"/>
+            </title>
+            <meta name="keywords" content="$tldfull"/>
+            <link rel="stylesheet" type="text/css" href="../stylesheet.css" 
+                  title="Style"/>
+            <script>
+              function asd()
+              {
+              parent.document.title="<xsl:value-of select="normalize-space($tldfull)"/>";
+              }
+            </script>
+          </head>
+          <body bgcolor="white" onload="asd();">
+            <font size="+1" class="FrameTitleFont">
+              <a href="tld-summary.html" target="tagFrame">
+                <xsl:value-of select="$tldname"/>
+              </a>
+            </font>
+            <table border="0" width="100%">
+              <xsl:if test="(count(javaee:tag)+count(javaee:tag-file))>0">
+                <tr>
+                  <td nowrap="true">
+                    <font size="+1" class="FrameHeadingFont">
+                      Tags
+                    </font>&#160;
+                    <font class="FrameItemFont">
+                      <xsl:apply-templates select="javaee:tag|javaee:tag-file"/>
+                    </font>
+                  </td>
+                </tr>
+              </xsl:if>
+              <xsl:if test="count(javaee:function)>0">
+                <tr>
+                  <td nowrap="true">
+                    <font size="+1" class="FrameHeadingFont">
+                      Functions
+                    </font>&#160;
+                    <font class="FrameItemFont">
+                      <xsl:apply-templates select="javaee:function"/>
+                    </font>
+                  </td>
+                </tr>
+              </xsl:if>
+              <xsl:if test="count(javaee:validator)>0">
+                <tr>
+                  <td nowrap="true">
+                    <font size="+1" class="FrameHeadingFont">
+                      Validator
+                    </font>&#160;
+                    <font class="FrameItemFont">
+                      <xsl:apply-templates select="javaee:validator"/>
+                    </font>
+                  </td>
+                </tr>
+              </xsl:if>
+              <xsl:if test="count(javaee:listener)>0">
+                <tr>
+                  <td nowrap="true">
+                    <font size="+1" class="FrameHeadingFont">
+                      Listeners
+                    </font>&#160;
+                    <font class="FrameItemFont">
+                      <xsl:apply-templates select="javaee:listener"/>
+                    </font>
+                  </td>
+                </tr>
+              </xsl:if>
+            </table>
+            <!-- <table ... -->
+          </body>
+        </html>
+      </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="javaee:tag|javaee:tag-file">
+      <br/>
+      <xsl:element name="a">
+        <xsl:attribute name="href"><xsl:value-of select="javaee:name"/>.html</xsl:attribute>
+        <xsl:attribute name="target">tagFrame</xsl:attribute>
+        <xsl:value-of select="../javaee:short-name"/>:<xsl:value-of select="javaee:name"/>
+      </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="javaee:function">
+      <br/>
+      <xsl:element name="a">
+        <xsl:attribute name="href"><xsl:value-of select="javaee:name"/>.fn.html</xsl:attribute>
+        <xsl:attribute name="target">tagFrame</xsl:attribute>
+        <i><xsl:value-of select="../javaee:short-name"/>:<xsl:value-of select="javaee:name"/>()</i>
+      </xsl:element>
+    </xsl:template>
+    
+    <xsl:template match="javaee:validator">
+      <br/>
+      <xsl:value-of select="javaee:validator-class"/>
+    </xsl:template>
+    
+    <xsl:template match="javaee:listener">
+      <br/>
+      <xsl:value-of select="javaee:listener-class"/>
+    </xsl:template>
+    
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-summary.html.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-summary.html.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld-summary.html.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+    Document   : tld-summary.html.xsl
+    Created on : December 18, 2002, 3:46 PM
+    Author     : mroth
+    Description:
+        Creates the TLD summary (right frame), listing the tags
+        and functions that are in this particular tag library and 
+        their descriptions.
+-->
+
+<xsl:stylesheet version="1.0"
+    xmlns:javaee="http://java.sun.com/xml/ns/javaee" 
+    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:fo="http://www.w3.org/1999/XSL/Format">
+    
+    <xsl:output method="html" indent="yes"/>
+    
+    <xsl:param name="tlddoc-shortName">default</xsl:param>
+
+    <!-- template rule matching source root element -->
+    <xsl:template match="/">
+      <xsl:apply-templates select="javaee:tlds/javaee:taglib"/>
+    </xsl:template>
+    
+    <xsl:template match="javaee:taglib">
+      <xsl:if test="javaee:short-name=$tlddoc-shortName">
+        <xsl:variable name="tldname">
+          <xsl:choose>
+            <xsl:when test="javaee:display-name!=''">
+              <xsl:value-of select="javaee:display-name"/>
+            </xsl:when>
+            <xsl:when test="javaee:short-name!=''">
+              <xsl:value-of select="javaee:short-name"/>
+            </xsl:when>
+            <xsl:otherwise>
+              Unnamed TLD
+            </xsl:otherwise>
+          </xsl:choose>
+        </xsl:variable>
+        <xsl:variable name="title">
+          <xsl:value-of select="$tldname"/>
+          (<xsl:value-of select="/javaee:tlds/javaee:config/javaee:window-title"/>)
+        </xsl:variable>
+        <html>
+          <head>
+            <title><xsl:value-of select="$title"/></title>
+            <link rel="stylesheet" type="text/css" href="../stylesheet.css" 
+                 title="styie"/>
+          </head>
+          <script>
+            function asd()
+            {
+            parent.document.title="<xsl:value-of select="normalize-space($title)"/>";
+            }
+          </script>
+          <body bgcolor="white" onload="asd();">
+            <!-- =========== START OF NAVBAR =========== -->
+            <a name="navbar_top"><!-- --></a>
+            <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_top_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a href="../overview-summary.html"><font CLASS="NavBarFont1"><b>Overview</b></font></a>&#160;</td>
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">    &#160;<font CLASS="NavBarFont1Rev">&#160;Library&#160;</font>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Tag&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a HREF="../help-doc.html"><font CLASS="NavBarFont1"><b>Help</b></font></a>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                <!--&#160;PREV TAGLIB&#160;-->
+                <!--&#160;NEXT TAGLIB&#160;-->
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="../index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<a HREF="tld-summary.html" TARGET="_top"><b>NO FRAMES</b></a>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="../alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+            </table>
+            <!-- =========== END OF NAVBAR =========== -->
+            
+            <hr/>
+            <h2><xsl:value-of select="$tldname"/></h2>
+            <hr/>
+            <xsl:if test="(javaee:uri!='') and (javaee:short-name!='')">
+              <b>Standard Syntax:</b><br/>
+              <code>
+                &#160;&#160;&#160;&#160;
+                <xsl:choose>
+                  <xsl:when test='starts-with(javaee:uri,"/WEB-INF/tags")'>
+                    &lt;%@ taglib prefix="<xsl:value-of select="javaee:short-name"/>" tagdir="<xsl:value-of select="javaee:uri"/>" %&gt;<br/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    &lt;%@ taglib prefix="<xsl:value-of select="javaee:short-name"/>" uri="<xsl:value-of select="javaee:uri"/>" %&gt;<br/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </code>
+              <br/>
+              <b>XML Syntax:</b><br/>
+              <code>
+                &#160;&#160;&#160;&#160;
+                <xsl:choose>
+                  <xsl:when test='starts-with(javaee:uri,"/WEB-INF/tags")'>
+                    &lt;anyxmlelement xmlns:<xsl:value-of select="javaee:short-name"/>="urn:jsptagdir:<xsl:value-of select="javaee:uri"/>" /&gt;<br/>
+                  </xsl:when>
+                  <xsl:when test='starts-with(javaee:uri,"/")'>
+                    &lt;anyxmlelement xmlns:<xsl:value-of select="javaee:short-name"/>="urn:jsptld:<xsl:value-of select="javaee:uri"/>" /&gt;<br/>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    &lt;anyxmlelement xmlns:<xsl:value-of select="javaee:short-name"/>="<xsl:value-of select="javaee:uri"/>" /&gt;<br/>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </code>
+              <hr/>
+            </xsl:if>
+            <xsl:choose>
+              <xsl:when test="javaee:description!=''">
+                <pre>
+                  <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+                </pre>
+              </xsl:when>
+              <xsl:otherwise>
+                No Description
+              </xsl:otherwise>
+            </xsl:choose>
+            <p/>
+            <table border="1" cellpadding="3" cellspacing="0" width="100%">
+              <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+                <td colspan="2">
+                  <font size="+2"><b>Tag Library Information</b></font>
+                </td>
+              </tr>
+              <tr>
+                <td>Display Name</td>
+                <xsl:choose>
+                  <xsl:when test="javaee:display-name!=''">
+                    <td><xsl:value-of select="javaee:display-name"/></td>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <td><i>None</i></td>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </tr>
+              <tr>
+                <td>Version</td>
+                <xsl:choose>
+                  <xsl:when test="javaee:tlib-version!=''">
+                    <td><xsl:value-of select="javaee:tlib-version"/></td>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <td><i>None</i></td>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </tr>
+              <tr>
+                <td>Short Name</td>
+                <xsl:choose>
+                  <xsl:when test="javaee:short-name!=''">
+                    <td><xsl:value-of select="javaee:short-name"/></td>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <td><i>None</i></td>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </tr>
+              <tr>
+                <td>URI</td>
+                <xsl:choose>
+                  <xsl:when test="javaee:uri!=''">
+                    <td><xsl:value-of select="javaee:uri"/></td>
+                  </xsl:when>
+                  <xsl:otherwise>
+                    <td><i>None</i></td>
+                  </xsl:otherwise>
+                </xsl:choose>
+              </tr>
+            </table>
+            &#160;
+            <p/>
+            <!-- tags and tag files -->
+            <xsl:if test="(count(javaee:tag)+count(javaee:tag-file)) > 0">
+              <table border="1" cellpadding="3" cellspacing="0" width="100%">
+                <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+                  <td colspan="2">
+                    <font size="+2"><b>Tag Summary</b></font>
+                  </td>
+                </tr>
+                <xsl:apply-templates select="javaee:tag|javaee:tag-file"/>
+              </table>
+              &#160;
+              <p/>
+            </xsl:if>
+            <!-- functions -->
+            <xsl:if test="count(javaee:function) > 0">
+              <table border="1" cellpadding="3" cellspacing="0" width="100%">
+                <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+                  <td colspan="3">
+                    <font size="+2"><b>Function Summary</b></font>
+                  </td>
+                </tr>
+                <xsl:apply-templates select="javaee:function"/>
+              </table>
+              &#160;
+              <p/>
+            </xsl:if>
+            <!-- validators -->
+            <xsl:if test="count(javaee:validator) > 0">
+              <table border="1" cellpadding="3" cellspacing="0" width="100%">
+                <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+                  <td colspan="2">
+                    <font size="+2"><b>Tag Library Validator</b></font>
+                  </td>
+                </tr>
+                <xsl:apply-templates select="javaee:validator"/>
+              </table>
+              &#160;
+              <p/>
+            </xsl:if>
+            <!-- listeners -->
+            <xsl:if test="count(javaee:listener) > 0">
+              <table border="1" cellpadding="3" cellspacing="0" width="100%">
+                <tr bgcolor="#CCCCFF" class="TableHeadingColor">
+                  <td>
+                    <font size="+2"><b>Listeners</b></font>
+                  </td>
+                </tr>
+                <xsl:apply-templates select="javaee:listener"/>
+              </table>
+              &#160;
+              <p/>
+            </xsl:if>
+            <!-- taglib-extensions -->
+
+            <!-- =========== START OF NAVBAR =========== -->
+            <a name="navbar_bottom"><!-- --></a>
+            <table border="0" width="100%" cellpadding="1" cellspacing="0">
+            <tr>
+              <td COLSPAN="3" BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+                <a NAME="navbar_bottom_firstrow"><!-- --></a>
+                <table BORDER="0" CELLPADDING="0" CELLSPACING="3">
+                  <tr ALIGN="center" VALIGN="top">
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a href="../overview-summary.html"><font CLASS="NavBarFont1"><b>Overview</b></font></a>&#160;</td>
+                    <td BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev">    &#160;<font CLASS="NavBarFont1Rev">&#160;Library&#160;</font>&#160;</td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <font CLASS="NavBarFont1">&#160;Tag&#160;</font></td>
+                    <td BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    &#160;<a HREF="../help-doc.html"><font CLASS="NavBarFont1"><b>Help</b></font></a>&#160;</td>
+                  </tr>
+                </table>
+              </td>
+              <td ALIGN="right" VALIGN="top" ROWSPAN="3"><em>
+                </em>
+              </td>
+            </tr>
+            <tr>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                <!--&#160;PREV TAGLIB&#160;-->
+                <!--&#160;NEXT TAGLIB&#160;-->
+              </font></td>
+              <td BGCOLOR="white" CLASS="NavBarCell2"><font SIZE="-2">
+                &#160;<a HREF="../index.html" TARGET="_top"><b>FRAMES</b></a>&#160;
+                &#160;<a HREF="tld-summary.html" TARGET="_top"><b>NO FRAMES</b></a>&#160;
+                <script>
+                  <!--
+                  if(window==top) {
+                    document.writeln('<A HREF="alltags-noframe.html" TARGET=""><B>All Tags</B></A>');
+                  }
+                  //-->
+                </script>
+                <noscript>
+                  <a HREF="../alltags-noframe.html" TARGET=""><b>All Tags</b></a>
+                </noscript>
+              </font></td>
+            </tr>
+            </table>
+            <!-- =========== END OF NAVBAR =========== -->
+            <hr/>
+            <small><i>
+            Java, JSP, and JavaServer Pages are trademarks or registered 
+            trademarks of Sun Microsystems, Inc. in the US and other countries.
+            Copyright 2002-3 Sun Microsystems, Inc.
+            4150 Network Circle
+            Santa Clara, CA 95054, U.S.A.
+            All Rights Reserved. 
+            </i></small>
+          </body>
+        </html>
+      </xsl:if>
+    </xsl:template>
+    
+    <xsl:template match="javaee:tag|javaee:tag-file">
+      <tr bgcolor="white" class="TableRowColor">
+        <td width="15%">
+          <b>
+            <xsl:element name="a">
+              <xsl:attribute name="href"><xsl:value-of select="javaee:name"/>.html</xsl:attribute>
+              <xsl:value-of select="javaee:name"/>
+            </xsl:element>
+          </b>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:description!=''">
+              <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <i>No Description</i>
+            </xsl:otherwise>
+          </xsl:choose>
+        </td>
+      </tr>
+    </xsl:template>
+
+    <xsl:template match="javaee:function">
+      <tr bgcolor="white" class="TableRowColor">
+        <td width="15%" nowrap="" align="right">
+          <code><xsl:value-of select='substring-before(normalize-space(javaee:function-signature)," ")'/></code>
+        </td>
+        <td width="15%" nowrap="">
+          <code><b>
+            <xsl:element name="a">
+              <xsl:attribute name="href"><xsl:value-of select="javaee:name"/>.fn.html</xsl:attribute>
+              <xsl:value-of select="javaee:name"/>
+            </xsl:element>
+            </b>( <xsl:value-of select='substring-after(normalize-space(javaee:function-signature),"(")'/>            
+          </code>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:description!=''">
+              <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <i>No Description</i>
+            </xsl:otherwise>
+          </xsl:choose>
+        </td>
+      </tr>
+    </xsl:template>
+        
+    <xsl:template match="javaee:validator">
+      <tr valign="top" bgcolor="white" class="TableRowColor">
+        <td width="15%">
+          <b><xsl:value-of select="javaee:validator-class"/></b>
+        </td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:description!=''">
+              <xsl:value-of select="javaee:description" disable-output-escaping="yes"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <i>No Description</i>
+            </xsl:otherwise>
+          </xsl:choose>
+          <xsl:if test="count(javaee:init-param)>0">
+            <blockquote>
+              <b>Initialization Parameters:</b><br/>
+              <table border="1">
+                <tr>
+                  <td><b>Name</b></td>
+                  <td><b>Value</b></td>
+                  <td><b>Description</b></td>
+                </tr>
+                <xsl:apply-templates select="javaee:init-param"/>
+              </table>
+            </blockquote>
+          </xsl:if>
+        </td>
+      </tr>
+    </xsl:template>
+    
+    <xsl:template match="javaee:init-param">
+      <tr valign="top">
+        <td><xsl:value-of select="javaee:param-name"/></td>
+        <td><xsl:value-of select="javaee:param-value"/></td>
+        <td>
+          <xsl:choose>
+            <xsl:when test="javaee:param-description!=''">
+              <xsl:value-of select="javaee:param-description"/>
+            </xsl:when>
+            <xsl:otherwise>
+              <i>No Description</i>
+            </xsl:otherwise>
+          </xsl:choose>
+        </td>
+      </tr>
+    </xsl:template>
+    
+    <xsl:template match="javaee:listener">
+      <tr valign="top" bgcolor="white" class="TableRowColor">
+        <td>
+          <b><xsl:value-of select="javaee:listener-class"/></b>
+        </td>
+      </tr>
+    </xsl:template>
+    
+</xsl:stylesheet> 

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_1-tld1_2.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_1-tld1_2.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_1-tld1_2.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+
+  Translates a JSP 1.1 TLD into a JSP 1.2 TLD, using the following 
+  conversion rules:
+
+  1. Change the document type definition for the TLD to:
+     <!DOCTYPE taglib
+         PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+	 "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+  2. Change the <tlibversion> element to <tlib-version>
+  3. Change the optional <jspversion> element to <jsp-version>.  If no
+     element exists, supply one that's set to 1.2
+  4. Change the <shortname> element to <short-name>
+  5. Preserve the original optional <uri> tag
+  6. Change the optional <info> tag to <description>
+  7. Preserve each tag/name
+  8. Change each tag/tagclass to tag/tag-class
+  9. Change each optional tag/teiclass to tag/tei-class
+  10. Change each optional tag/bodycontent to tag/body-content
+  11. Change each optional tag/info to tag/description
+  12. Preserve each tag/attribute element and its contents.
+
+  Side-effect: Strips the id attributes
+
+  Author: Mark Roth
+
+-->
+
+<xsl:stylesheet version="1.0"
+		xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <xsl:output method="xml" indent="yes"
+      doctype-system="http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"
+      doctype-public="-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"/>
+
+  <xsl:template match="/taglib">
+    <taglib>
+      <xsl:apply-templates select="tlibversion"/>
+      <jsp-version>1.2</jsp-version>
+      <xsl:apply-templates select="shortname"/>
+      <xsl:apply-templates select="uri"/>
+      <xsl:apply-templates select="info"/>
+      <xsl:apply-templates select="tag"/>
+    </taglib>
+  </xsl:template>
+
+  <!-- Rename to tlib-version -->
+  <xsl:template match="tlibversion">
+    <tlib-version><xsl:apply-templates/></tlib-version>
+  </xsl:template>
+
+  <!-- Rename to jsp-version -->
+  <xsl:template match="jspversion">
+    <jsp-version><xsl:apply-templates/></jsp-version>
+  </xsl:template>
+
+  <!-- Rename to short-name -->
+  <xsl:template match="shortname">
+    <short-name><xsl:apply-templates/></short-name>
+  </xsl:template>
+
+  <!-- Preserve uri -->
+  <xsl:template match="uri">
+    <uri><xsl:apply-templates/></uri>
+  </xsl:template>
+
+  <!-- Rename to description -->
+  <xsl:template match="info">
+    <description><xsl:apply-templates/></description>
+  </xsl:template>
+
+  <xsl:template match="tag">
+    <tag>
+      <xsl:apply-templates select="name"/>
+      <xsl:apply-templates select="tagclass"/>
+      <xsl:apply-templates select="teiclass"/>
+      <xsl:apply-templates select="bodycontent"/>
+      <xsl:apply-templates select="info"/>
+      <xsl:apply-templates select="attribute"/>
+    </tag>
+  </xsl:template>
+
+  <!-- Preserve name -->
+  <xsl:template match="name">
+    <name><xsl:apply-templates/></name>
+  </xsl:template>
+
+  <!-- Rename to tag-class -->
+  <xsl:template match="tagclass">
+    <tag-class><xsl:apply-templates/></tag-class>
+  </xsl:template>
+
+  <!-- Rename to tei-class -->
+  <xsl:template match="teiclass">
+    <tei-class><xsl:apply-templates/></tei-class>
+  </xsl:template>
+
+  <!-- Rename to body-content -->
+  <xsl:template match="bodycontent">
+    <body-content><xsl:apply-templates/></body-content>
+  </xsl:template>
+
+  <!-- Rename to description -->
+  <xsl:template match="info">
+    <description><xsl:apply-templates/></description>
+  </xsl:template>
+
+  <!-- Preserve attribute -->
+  <xsl:template match="attribute">
+    <attribute> 
+      <xsl:apply-templates/>
+    </attribute>
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_2-tld2_0.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_2-tld2_0.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld1_2-tld2_0.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+
+  Translates a JSP 1.2 TLD into a JSP 2.0 TLD, using the following 
+  conversion rules:
+
+  1. Change the <taglib> element to read as follows:
+     <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+         http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">
+  2. Remove all id attributes from all elements.
+  3. Remove <jsp-version> element and add an attribute to <taglib>
+     called 'version' with the value "2.0".
+  4. Under <taglib>, if a <description> element exists, move it to
+     the top.
+  5. Under <taglib>, if a <display-name> element exists, move it
+     to the top, after the <description> element.
+  6. Under <taglib>, if a <small-icon> and/or <large-icon> element
+     exists, wrap them in an <icon> element and move it to the
+     top, after the <display-name> element.
+  7. For each taglib/validator element, if a <description> element
+     exists, move it to the top, under <validator>.
+  8. For each taglib/validator/init-param element, if a
+     <description> element exists, move it to the top, under
+     <init-param>.
+  9. For each taglib/tag element, if a <description> element
+     exists, move it to the top, under <tag>.
+ 10. For each taglib/tag element, if a <display-name> element
+     exists, move it to the top, after the <description> element,
+     under <tag>.
+ 11. For each taglib/tag element, if a <small-icon> and/or
+     <large-icon> element exists, wrap them in an <icon> element
+     and move it to the top, after the <display-name> element,
+     under <tag>.
+ 12. For each taglib/tag element, if no <body-content> element 
+     exists, supply a default value of "JSP"
+ 13. For each taglib/tag/variable element, if a <description>
+     element exists, move it to the top, under <variable>.
+ 14. For each taglib/tag/attribute element, if a <description>
+     element exists, move it to the top, under <attribute>.
+
+  Author: Mark Roth
+
+-->
+
+<xsl:stylesheet version="1.0"
+		xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <xsl:output method="xml" indent="yes"/>
+
+  <xsl:template match="/taglib">
+    <xsl:element name="taglib" namespace="http://java.sun.com/xml/ns/j2ee">
+      <xsl:attribute name="xsi:schemaLocation" namespace="http://www.w3.org/2001/XMLSchema-instance">http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd</xsl:attribute>
+      <xsl:attribute name="version">2.0</xsl:attribute>
+      <xsl:apply-templates select="description"/>
+      <xsl:apply-templates select="display-name"/>
+      <xsl:if test="small-icon|large-icon">
+        <icon xmlns="http://java.sun.com/xml/ns/j2ee">
+	  <xsl:apply-templates select="small-icon"/>
+	  <xsl:apply-templates select="large-icon"/>
+        </icon>
+      </xsl:if>
+      <xsl:apply-templates select="tlib-version"/>
+      <xsl:apply-templates select="short-name"/>
+      <xsl:apply-templates select="uri"/>
+      <xsl:apply-templates select="validator"/>
+      <xsl:apply-templates select="listener"/>
+      <xsl:apply-templates select="tag"/>
+    </xsl:element>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="description">
+    <description xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </description>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="display-name">
+    <display-name xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </display-name>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="tlib-version">
+    <tlib-version xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </tlib-version>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="short-name">
+    <short-name xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </short-name>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="uri">
+    <uri xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </uri>
+  </xsl:template>
+
+  <xsl:template match="validator">
+    <validator xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates select="description"/>
+      <xsl:apply-templates select="validator-class"/>
+      <xsl:apply-templates select="init-param"/>
+    </validator>
+  </xsl:template>
+
+  <xsl:template match="init-param">
+    <init-param xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates select="description"/>
+      <xsl:apply-templates select="param-name"/>
+      <xsl:apply-templates select="param-value"/>
+    </init-param>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="param-name">
+    <param-name xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </param-name>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="param-value">
+    <param-value xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </param-value>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="listener">
+    <listener xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates select="listener-class"/>
+    </listener>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="listener-class">
+    <listener-class xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </listener-class>
+  </xsl:template>
+
+  <xsl:template match="tag">
+    <tag xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates select="description"/>
+      <xsl:apply-templates select="display-name"/>
+      <xsl:if test="small-icon|large-icon">
+        <icon xmlns="http://java.sun.com/xml/ns/j2ee">
+	  <xsl:apply-templates select="small-icon"/>
+	  <xsl:apply-templates select="large-icon"/>
+        </icon>
+      </xsl:if>
+      <xsl:apply-templates select="name"/>
+      <xsl:apply-templates select="tag-class"/>
+      <xsl:apply-templates select="tei-class"/>
+      <xsl:choose>
+	<xsl:when test="body-content">
+          <xsl:apply-templates select="body-content"/>
+	</xsl:when>
+	<xsl:otherwise>
+	  <!-- 
+	    - Explicitly Insert the default body-content since this is 
+	    - now a required element
+	    -->
+	  <body-content xmlns="http://java.sun.com/xml/ns/j2ee">JSP</body-content>
+	</xsl:otherwise>
+      </xsl:choose>
+      <xsl:apply-templates select="variable"/>
+      <xsl:apply-templates select="attribute"/>
+      <xsl:apply-templates select="example"/>
+    </tag>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="name">
+    <name xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </name>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="tag-class">
+    <tag-class xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </tag-class>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="tei-class">
+    <tei-class xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </tei-class>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="body-content">
+    <body-content xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </body-content>
+  </xsl:template>
+
+  <xsl:template match="variable">
+    <variable xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates select="description"/>
+      <xsl:apply-templates select="name-given"/>
+      <xsl:apply-templates select="name-from-attribute"/>
+      <xsl:apply-templates select="variable-class"/>
+      <xsl:apply-templates select="declare"/>
+      <xsl:apply-templates select="scope"/>
+    </variable>
+  </xsl:template>
+
+  <xsl:template match="attribute">
+    <attribute xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates select="description"/>
+      <xsl:apply-templates select="name"/>
+      <xsl:apply-templates select="required"/>
+      <xsl:apply-templates select="rtexprvalue"/>
+      <xsl:apply-templates select="type"/>
+    </attribute>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="required">
+    <required xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </required>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="rtexprvalue">
+    <rtexprvalue xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </rtexprvalue>
+  </xsl:template>
+
+  <!-- Strip the id attribute: -->
+  <xsl:template match="example">
+    <example xmlns="http://java.sun.com/xml/ns/j2ee">
+      <xsl:apply-templates/>
+    </example>
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_0-tld2_1.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_0-tld2_1.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_0-tld2_1.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+
+  Identity transformation (changing from the J2EE namespace
+  to the Java EE namespace), added for flexibility.  
+
+  1. Change the <taglib> element to read as follows:
+     <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+         http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">                    
+         
+  Author: Mark Roth
+
+-->
+
+<xsl:stylesheet version="1.0"
+		xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
+                xmlns:j2ee="http://java.sun.com/xml/ns/j2ee">
+  <xsl:output method="xml" indent="yes"/>
+
+  <xsl:template match="/j2ee:taglib">
+    <xsl:element name="taglib" namespace="http://java.sun.com/xml/ns/javaee">
+      <xsl:attribute name="xsi:schemaLocation" namespace="http://www.w3.org/2001/XMLSchema-instance">http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd</xsl:attribute>
+      <xsl:attribute name="version">2.1</xsl:attribute>
+      <xsl:apply-templates select="*"/>
+    </xsl:element>
+  </xsl:template>
+
+  <xsl:template match="j2ee:*">
+    <xsl:element name="{local-name()}" namespace="http://java.sun.com/xml/ns/javaee">
+        <xsl:copy-of select="@*"/>
+        <xsl:apply-templates/>
+    </xsl:element>
+  </xsl:template>
+    
+</xsl:stylesheet>

Added: portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_1-tld2_1.xsl
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_1-tld2_1.xsl	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/main/xslt/tlddoc/tld2_1-tld2_1.xsl	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+
+<!--
+  - <license>
+  - Copyright (c) 2003-2004, Sun Microsystems, Inc.
+  - All rights reserved.
+  - 
+  - Redistribution and use in source and binary forms, with or without 
+  - modification, are permitted provided that the following conditions are met:
+  - 
+  -     * Redistributions of source code must retain the above copyright 
+  -       notice, this list of conditions and the following disclaimer.
+  -     * Redistributions in binary form must reproduce the above copyright 
+  -       notice, this list of conditions and the following disclaimer in the
+  -       documentation and/or other materials provided with the distribution.
+  -     * Neither the name of Sun Microsystems, Inc. nor the names of its 
+  -       contributors may be used to endorse or promote products derived from
+  -       this software without specific prior written permission.
+  - 
+  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
+  - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+  - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
+  - PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+  - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+  - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+  - ROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+  - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+  - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+  - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+  - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  - </license>
+  -->
+
+<!--
+
+  Identity transformation, added for flexibility.  
+         
+  1. Remove any tag-extension, function-extension and taglib-extension
+     elements.
+         
+  Author: Mark Roth
+
+-->
+
+<xsl:stylesheet version="1.0"
+		xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:javaee="http://java.sun.com/xml/ns/javaee">               
+  <xsl:output method="xml" indent="yes"/>  
+
+  <xsl:template match="/javaee:taglib">
+      <xsl:element name="taglib" namespace="http://java.sun.com/xml/ns/javaee">
+          <xsl:attribute name="xsi:schemaLocation"
+                         namespace="http://www.w3.org/2001/XMLSchema-instance">http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd</xsl:attribute>
+          <xsl:attribute name="version">2.1</xsl:attribute>
+          <xsl:apply-templates select="*"/>
+      </xsl:element>      
+  </xsl:template>
+  
+  <xsl:template match="javaee:tag-extension">
+  </xsl:template>
+  
+  <xsl:template match="javaee:function-extension">
+  </xsl:template>
+  
+  <xsl:template match="javaee:taglib-extension">
+  </xsl:template>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+  
+  <xsl:template match="text()">
+    <xsl:value-of select="normalize-space(.)" />
+  </xsl:template>
+  
+</xsl:stylesheet>

Added: portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/tree/test/LibraryTest.java
===================================================================
--- portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/tree/test/LibraryTest.java	                        (rev 0)
+++ portlets/src/framework/RichFacesPortlet/src/test/java/org/richfaces/demo/tree/test/LibraryTest.java	2008-01-07 23:09:26 UTC (rev 180)
@@ -0,0 +1,17 @@
+package org.richfaces.demo.tree.test;
+
+import java.util.Iterator;
+
+import org.richfaces.demo.tree.Library;
+
+import junit.framework.TestCase;
+
+public class LibraryTest extends TestCase {
+	
+	public void testLibrary() {
+		Library library = new Library();
+		Iterator it = library.getChildren();
+		assertTrue(it.hasNext());
+	}
+
+}




More information about the jboss-svn-commits mailing list