ArchiveOrangemail archive

richfaces-svn -Commits List


richfaces-svn-commits.lists.jboss.org
(List home) (Recent threads) (125 other JBoss Community lists)

Subscription Options

  • RSS or Atom: Read-only subscription using a browser or aggregator. This is the recommended way if you don't need to send messages to the list. You can learn more about feed syndication and clients here.
  • Conventional: All messages are delivered to your mail address, and you can reply. To subscribe, send an email to the list's subscribe address with "subscribe" in the subject line, or visit the list's homepage here.
  • This list contains about 23,093 messages, beginning Mar 2007
  • This list doesn't seem to be active
Report the Spam
This button sends a spam report to the moderator. Please use it sparingly. For other removal requests, read this.
Are you sure? yes no

JBoss Rich Faces SVN: r20483 - in branches/RF-8742-1: cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk and 67 other directories.

richfaces-svn-commits1291915599Thu, 09 Dec 2010 17:26:39 +0000 (UTC)
Author: alexsmirnov
Date: 2010-12-09 12:26:24 -0500 (Thu, 09 Dec 2010)
New Revision: 20483

Added:
   branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/FileNameMapping.java
   branches/RF-8742-1/core/api/src/main/java/org/richfaces/application/Module.java
   branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/SkinningExternalContextFactory.java
   branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/CollapsiblePanel.java
   branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/RF9851.java
   branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/accordion/RF-9851.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml
   branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxFunction.java
   branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxOptions.java
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordion.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordionItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanelItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenu.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuGroup.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tab.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tabPanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanelItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tooltip.js
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/DropDownMenuBean.java
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIDropDownMenuTest.java
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuGroupTest.java
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuItemTest.java
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuSeparatorTest.java
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/DrowDownMenuRendererTest.java
   branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/MenuItemRendererTest.java
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xhtml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xmlunit.xml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xhtml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xmlunit.xml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xhtml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xmlunit.xml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xhtml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xmlunit.xml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xhtml
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xmlunit.xml
Removed:
   branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/Module.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml
   branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxEventOptions.java
   branches/RF-8742-1/ui/core/ui/src/main/old_configs/
   branches/RF-8742-1/ui/core/ui/src/main/templates/org/ajax4jsf/renderkit/html/log.jspx
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Accordion.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/AccordionItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanelItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenu.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuGroup.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tab.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TabPanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanelItem.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tooltip.js
   branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml
Modified:
   branches/RF-8742-1/
   branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java
   branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/naming/FileNameMapperImpl.java
   branches/RF-8742-1/core/api/src/main/java/org/ajax4jsf/context/AjaxContext.java
   branches/RF-8742-1/core/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
   branches/RF-8742-1/core/impl/src/main/resources/META-INF/components.faces-config.xml
   branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/jquery.position.js
   branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/richfaces.js
   branches/RF-8742-1/core/impl/src/test/resources/javascript/4_0_0.html
   branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/CalendarBean.java
   branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java
   branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
   branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/calendar.xhtml
   branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
   branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java
   branches/RF-8742-1/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml
   branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/collapsiblePanel.xhtml
   branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml
   branches/RF-8742-1/examples/output-demo/src/main/webapp/qunit/tooltip.xhtml
   branches/RF-8742-1/examples/output-demo/src/main/webapp/templates/template.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/web.xml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/WEB-INF/web.xml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/samples/clientStylingDisablement-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/samples/simpleTable-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/simpleTable.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSlider/samples/sliders-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/samples/subTableToggleControl-sample.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/subTableToggleControl.xhtml
   branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml
   branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxChildrenRenderer.java
   branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/AjaxRendererUtils.java
   branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/HandlersChain.java
   branches/RF-8742-1/ui/core/ui/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java
   branches/RF-8742-1/ui/core/ui/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java
   branches/RF-8742-1/ui/dist/richfaces-components-ui/pom.xml
   branches/RF-8742-1/ui/dnd/ui/pom.xml
   branches/RF-8742-1/ui/input/ui/pom.xml
   branches/RF-8742-1/ui/input/ui/src/main/config/faces-config.xml
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractSelectComponent.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/context/FileUploadPartialViewContextFactory.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/AutocompleteRendererBase.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/FileParam.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/MultipartRequest.java
   branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/utils/CalendarHelper.java
   branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/Autocomplete.js
   branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/AutocompleteBase.js
   branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/calendar.js
   branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js
   branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/select.js
   branches/RF-8742-1/ui/input/ui/src/main/templates/inputnumberslider.template.xml
   branches/RF-8742-1/ui/input/ui/src/main/templates/select.template.xml
   branches/RF-8742-1/ui/iteration/ui/pom-list.xml
   branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDataIterator.java
   branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableFixedChildrenIterator.java
   branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataScrollerBaseRenderer.java
   branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
   branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
   branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
   branches/RF-8742-1/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfaces/extendedDataTable.js
   branches/RF-8742-1/ui/output/ui/pom.xml
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractDropDownMenu.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenu.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenuItem.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPopupPanel.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTogglePanel.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTooltip.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenu.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenuItem.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITogglePanel.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITooltip.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionItemRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/CollapsiblePanelRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/DivPanelRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenuRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PopupPanelBaseRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabPanelRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelItemRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TooltipRenderer.java
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.faces-config.xml
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.taglib.xml
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/dropdownmenu.ecss
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/menu.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js
   branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/progressBar.js
   branches/RF-8742-1/ui/output/ui/src/main/templates/popupPanel.template.xml
   branches/RF-8742-1/ui/parent/pom.xml
Log:
Merged revisions 20422-20423,20428,20430-20433,20437,20445,20447,20449-20451,20453-20454,20456-20460,20463-20464,20466,20468-20470,20475-20482 via svnmerge from 
https://svn.jboss.org/repos/richfaces/trunk

.......
  r20422 | nbelaevski | 2010-12-06 11:22:19 -0800 (Mon, 06 Dec 2010) | 1 line
  
  https://jira.jboss.org/browse/RF-9882
.......
  r20423 | nbelaevski | 2010-12-06 12:34:27 -0800 (Mon, 06 Dec 2010) | 2 lines
  
  maven-resources-plugin:
  - file name mappings are now applied in the same order as they are defined in pom.xml
.......
  r20428 | amarkhel | 2010-12-07 02:32:26 -0800 (Tue, 07 Dec 2010) | 1 line
  
  https://jira.jboss.org/browse/RF-9676 Dropdown menu component minor update 
.......
  r20430 | ilya_shaikovsky | 2010-12-07 03:43:29 -0800 (Tue, 07 Dec 2010) | 1 line
  
  https://jira.jboss.org/browse/RF-9792
.......
  r20431 | ilya_shaikovsky | 2010-12-07 03:56:13 -0800 (Tue, 07 Dec 2010) | 1 line
  
  checkstyle corrections
.......
  r20432 | abelevich | 2010-12-07 04:41:00 -0800 (Tue, 07 Dec 2010) | 1 line
  
  RF-9855, RF-9800
.......
  r20433 | amarkhel | 2010-12-07 05:02:18 -0800 (Tue, 07 Dec 2010) | 1 line
  
  https://jira.jboss.org/browse/RF-9676 Dropdown menu component minor update 
.......
  r20437 | ilya_shaikovsky | 2010-12-07 07:33:15 -0800 (Tue, 07 Dec 2010) | 1 line
  
  minor syntax corrections
.......
  r20445 | amarkhel | 2010-12-08 00:13:40 -0800 (Wed, 08 Dec 2010) | 1 line
  
  https://jira.jboss.org/browse/RF-9676 Dropdown menu component minor update 
.......
  r20447 | amarkhel | 2010-12-08 02:18:04 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9742: Popup panel: rename ZIndex attribute
.......
  r20449 | pyaschenko | 2010-12-08 03:29:25 -0800 (Wed, 08 Dec 2010) | 3 lines
  
  http://jira.jboss.com/jira/browse/RF-9648
  offsets support also was added to jquery.position plugin
.......
  r20450 | pyaschenko | 2010-12-08 03:31:30 -0800 (Wed, 08 Dec 2010) | 2 lines
  
  http://jira.jboss.com/jira/browse/RF-9648
  example fix
.......
  r20451 | amarkhel | 2010-12-08 03:34:06 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9888 Popup panel: attribute zIndex ignored.
.......
  r20453 | Alex.Kolonitsky | 2010-12-08 04:16:21 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9851 accordion: wrong decode behavior
.......
  r20454 | Alex.Kolonitsky | 2010-12-08 04:19:29 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9890 panelMenu: itemChangeListener never fired and activeItem not put to model
.......
  r20456 | Alex.Kolonitsky | 2010-12-08 04:27:08 -0800 (Wed, 08 Dec 2010) | 2 lines
  
  RF-9608 - Rename JavaScript resources to lower case
.......
  r20457 | Alex.Kolonitsky | 2010-12-08 04:31:27 -0800 (Wed, 08 Dec 2010) | 2 lines
  
  RF-9608 - Rename JavaScript resources to lower case
.......
  r20458 | amarkhel | 2010-12-08 04:55:29 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9788 Dropdown menu component: unit tests for server-side code.
.......
  r20459 | amarkhel | 2010-12-08 05:24:39 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9905 popupPanel: popupPanel.js: this.id should contains component id but not an object
.......
  r20460 | ilya_shaikovsky | 2010-12-08 05:43:58 -0800 (Wed, 08 Dec 2010) | 1 line
  
  https://jira.jboss.org/browse/RF-9502
.......
  r20463 | Alex.Kolonitsky | 2010-12-08 06:11:26 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9550 TabPanel should not be JDK 6 dependent.
.......
  r20464 | amarkhel | 2010-12-08 07:42:52 -0800 (Wed, 08 Dec 2010) | 1 line
  
  RF-9887 : Popup panel: scrollable area too big
.......
  r20466 | konstantin.mishin | 2010-12-08 08:16:00 -0800 (Wed, 08 Dec 2010) | 1 line
  
  small code cleanup
.......
  r20468 | Alex.Kolonitsky | 2010-12-09 00:49:25 -0800 (Thu, 09 Dec 2010) | 2 lines
  
  RF-9624 Remove richfaces-core-impl from all pom.xml files
  Only from ui
.......
  r20469 | Alex.Kolonitsky | 2010-12-09 01:31:55 -0800 (Thu, 09 Dec 2010) | 2 lines
  
  RF-9624 Remove richfaces-core-impl from all pom.xml files
  Only from ui
.......
  r20470 | Alex.Kolonitsky | 2010-12-09 01:38:14 -0800 (Thu, 09 Dec 2010) | 2 lines
  
  RF-9865 - Tooltip: unify component name and other component's attributes
.......
  r20475 | Alex.Kolonitsky | 2010-12-09 05:51:23 -0800 (Thu, 09 Dec 2010) | 1 line
  
  RF-9959 Collapsible panel: toggleListener should accept methods with event parameter
.......
  r20476 | amarkhel | 2010-12-09 06:04:09 -0800 (Thu, 09 Dec 2010) | 2 lines
  
  https://jira.jboss.org/browse/RF-9837  Calendar: attribute defaultTime doesn't work
  defaultTime attribute and time pattern is corrected
.......
  r20477 | nbelaevski | 2010-12-09 06:05:21 -0800 (Thu, 09 Dec 2010) | 1 line
  
  Removed legacy cofigs from core/ui
.......
  r20478 | nbelaevski | 2010-12-09 06:07:18 -0800 (Thu, 09 Dec 2010) | 4 lines
  
  https://issues.jboss.org/browse/RF-9809
  Removed legacy cofigs from core/ui
  Updated showcase for new subtable/toggler tag names
  Fixed small mistake in showcase code
.......
  r20479 | nbelaevski | 2010-12-09 06:40:27 -0800 (Thu, 09 Dec 2010) | 1 line
  
  https://issues.jboss.org/browse/RF-9778
.......
  r20480 | Alex.Kolonitsky | 2010-12-09 06:50:01 -0800 (Thu, 09 Dec 2010) | 1 line
  
  RF-9773 rich:tabPanel - replace attribute limitToList with disableImplicitRender
.......
  r20481 | nbelaevski | 2010-12-09 07:00:26 -0800 (Thu, 09 Dec 2010) | 1 line
  
  Added workaround for http://java.net/jira/browse/JAVASERVERFACES-1...
.......
  r20482 | pyaschenko | 2010-12-09 07:06:40 -0800 (Thu, 09 Dec 2010) | 1 line
  
  http://jira.jboss.com/jira/browse/RF-9835
.......



Property changes on: branches/RF-8742-1___________________________________________________________________
Name: svnmerge-integrated
   - /trunk:1-20419
   + /trunk:1-20482

Copied: branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/FileNameMapping.java (from rev 20482, trunk/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/FileNameMapping.java)
===================================================================
--- branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/FileNameMapping.java	                        (rev 0)
+++ branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/FileNameMapping.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.cdk;
+
+import java.util.regex.Pattern;
+
+/**
+ * @author Nick Belaevski
+ * 
+ */
+public class FileNameMapping {
+
+    private String name;
+
+    private String value;
+
+    private Pattern namePattern = null;
+    
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public Pattern getNamePattern() {
+        if (namePattern == null) {
+            namePattern = Pattern.compile(name);
+        }
+        
+        return namePattern;
+    }
+}

Modified: branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java
===================================================================
--- branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/ProcessMojo.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -36,7 +36,6 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
-import java.util.Properties;
 import java.util.concurrent.CompletionService;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
@@ -79,7 +78,6 @@
 import com.google.common.base.Predicates;
 import com.google.common.collect.Constraints;
 import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 /**
  * @goal process
@@ -151,7 +149,7 @@
      * @parameter
      */
     // TODO review usage of properties?
-    private Properties fileNameMappings = new Properties();
+    private FileNameMapping[] fileNameMappings = new FileNameMapping[0];     /**
      * @parameter
@@ -286,7 +284,7 @@
             ResourceHandler resourceHandler = new DynamicResourceHandler(staticResourceHandler, resourceFactory);             // TODO set webroot
-            faces = new FacesImpl(null, new FileNameMapperImpl(Maps.fromProperties(fileNameMappings)), resourceHandler);
+            faces = new FacesImpl(null, new FileNameMapperImpl(fileNameMappings), resourceHandler);
             faces.start();             ResourceWriterImpl resourceWriter = new ResourceWriterImpl(resourceOutputDir, resourceMappingDir, resourceProcessors);

Modified: branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/naming/FileNameMapperImpl.java
===================================================================
--- branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/naming/FileNameMapperImpl.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/cdk/maven-resources-plugin/src/main/java/org/richfaces/cdk/naming/FileNameMapperImpl.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -21,73 +21,34 @@
  */
 package org.richfaces.cdk.naming;-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
 import java.util.regex.Matcher;
-import java.util.regex.Pattern; import org.richfaces.cdk.FileNameMapper;
+import org.richfaces.cdk.FileNameMapping;-import com.google.common.collect.Lists;
-
 /**
  * @author Nick Belaevski
  * 
  */
 public class FileNameMapperImpl implements FileNameMapper {-    private static final class Mapping {
+    private FileNameMapping[] fileNameMappings;-        private Pattern pattern;
-
-        private String replacement;
-
-        public Mapping(Pattern pattern, String replacement) {
-            super();
-            this.pattern = pattern;
-            this.replacement = replacement;
-        }
-
-        public Pattern getPattern() {
-            return pattern;
-        }
-
-        public String getReplacement() {
-            return replacement;
-        }
-    }
-
-    private List<Mapping> fileNameMappings;
-
-    public FileNameMapperImpl(Map<String, String> fileNameMappings) {
+    public FileNameMapperImpl(FileNameMapping[] fileNameMappings) {
         super();
-        this.fileNameMappings = compileMappings(fileNameMappings);
+        this.fileNameMappings = fileNameMappings;
     }-    private static List<Mapping> compileMappings(Map<String, String> mappings) {
-        List<Mapping> result = Lists.newArrayList();
-
-        for (Entry<String, String> entry: mappings.entrySet()) {
-            Pattern pattern = Pattern.compile((String) entry.getKey());
-            String replacement = entry.getValue();
-
-            result.add(new Mapping(pattern, replacement));
-        }
-
-        return result;
-    }
-
     @Override
     public String createName(String resourcePath) {
         if (resourcePath == null) {
             return resourcePath;
         }-        for (Mapping mapping : fileNameMappings) {
-            Matcher matcher = mapping.getPattern().matcher(resourcePath);
+        for (FileNameMapping mapping : fileNameMappings) {
+            Matcher matcher = mapping.getNamePattern().matcher(resourcePath);
             if (matcher.find()) {
-                return matcher.replaceAll(mapping.getReplacement());
+                return matcher.replaceAll(mapping.getValue());
             }
         }
Modified: branches/RF-8742-1/core/api/src/main/java/org/ajax4jsf/context/AjaxContext.java
===================================================================
--- branches/RF-8742-1/core/api/src/main/java/org/ajax4jsf/context/AjaxContext.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/api/src/main/java/org/ajax4jsf/context/AjaxContext.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -47,7 +47,7 @@
     private static final String DEFAULT_CONTEXT_CLASS = "org.ajax4jsf.context.AjaxContextImpl";
     private static Map<ClassLoader, Class<? extends AjaxContext>> ajaxContextClasses =
         new HashMap<ClassLoader, Class<? extends AjaxContext>>();
-    private boolean limitToList;
+    private boolean disableImplicitRender;     protected AjaxContext() { }@@ -125,12 +125,12 @@     public abstract void setSubmittedRegionClientId(String submittedClientId);-    public boolean isLimitToList() {
-        return limitToList;
+    public boolean isDisableImplicitRender() {
+        return disableImplicitRender;
     }-    public void setLimitToList(boolean limitToList) {
-        this.limitToList = limitToList;
+    public void setDisableImplicitRender(boolean disableImplicitRender) {
+        this.disableImplicitRender = disableImplicitRender;
     }     /**

Copied: branches/RF-8742-1/core/api/src/main/java/org/richfaces/application/Module.java (from rev 20482, trunk/core/api/src/main/java/org/richfaces/application/Module.java)
===================================================================
--- branches/RF-8742-1/core/api/src/main/java/org/richfaces/application/Module.java	                        (rev 0)
+++ branches/RF-8742-1/core/api/src/main/java/org/richfaces/application/Module.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,13 @@
+package org.richfaces.application;
+
+
+/**
+ * <p class="changed_added_4_0">User-provided configuration module.</p>
+ * @author 
+ *
+ */
+public interface Module {
+
+    public void configure(ServicesFactory factory);
+    
+}

Modified: branches/RF-8742-1/core/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
--- branches/RF-8742-1/core/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -302,8 +302,8 @@
         }         // Is that component limit to list ?
-        if (Boolean.TRUE.equals(component.getAttributes().get("limitToList"))) {
-            setLimitToList(true);
+        if (Boolean.TRUE.equals(component.getAttributes().get("disableImplicitRender"))) {
+            setDisableImplicitRender(true);
         }
     }
Deleted: branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/Module.java
===================================================================
--- branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/Module.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/Module.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,13 +0,0 @@
-package org.richfaces.application;
-
-
-/**
- * <p class="changed_added_4_0">User-provided configuration module.</p>
- * @author 
- *
- */
-public interface Module {
-
-    public void configure(ServicesFactory factory);
-    
-}

Copied: branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/SkinningExternalContextFactory.java (from rev 20482, trunk/core/impl/src/main/java/org/richfaces/application/SkinningExternalContextFactory.java)
===================================================================
--- branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/SkinningExternalContextFactory.java	                        (rev 0)
+++ branches/RF-8742-1/core/impl/src/main/java/org/richfaces/application/SkinningExternalContextFactory.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.application;
+
+import javax.faces.FacesException;
+import javax.faces.FacesWrapper;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.ExternalContextFactory;
+import javax.faces.context.ExternalContextWrapper;
+
+/**
+ * @author Nick Belaevski
+ * 
+ */
+public class SkinningExternalContextFactory extends ExternalContextFactory implements FacesWrapper<ExternalContextFactory> {
+
+    private ExternalContextFactory factory;
+
+    private static final class ExternalContextWrapperImpl extends ExternalContextWrapper {
+        
+        private ExternalContext externalContext;
+
+        public ExternalContextWrapperImpl(ExternalContext externalContext) {
+            super();
+            this.externalContext = externalContext;
+        }
+        
+        @Override
+        public String getMimeType(String file) {
+            String mimeType;
+            
+            if (file != null && file.endsWith(".ecss")) {
+                mimeType = "text/plain";
+            } else {
+                mimeType = super.getMimeType(file);
+            }
+            
+            return mimeType;
+        }
+
+        @Override
+        public ExternalContext getWrapped() {
+            return externalContext;
+        }
+        
+    }
+    
+    public SkinningExternalContextFactory(ExternalContextFactory factory) {
+        super();
+        this.factory = factory;
+    }
+    
+    @Override
+    public ExternalContextFactory getWrapped() {
+        return factory;
+    }
+
+    @Override
+    public ExternalContext getExternalContext(Object context, Object request, Object response) throws FacesException {
+        ExternalContext externalContext = factory.getExternalContext(context, request, response);
+        
+        return wrap(externalContext);
+    }
+
+    private ExternalContext wrap(ExternalContext externalContext) {
+        return new ExternalContextWrapperImpl(externalContext);
+    }
+    
+}

Modified: branches/RF-8742-1/core/impl/src/main/resources/META-INF/components.faces-config.xml
===================================================================
--- branches/RF-8742-1/core/impl/src/main/resources/META-INF/components.faces-config.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/impl/src/main/resources/META-INF/components.faces-config.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -2,8 +2,8 @@
 <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
 	<factory>
-		<partial-view-context-factory>org.richfaces.context.PartialViewContextFactoryImpl
-		</partial-view-context-factory>
+        <external-context-factory>org.richfaces.application.SkinningExternalContextFactory</external-context-factory>
+		<partial-view-context-factory>org.richfaces.context.PartialViewContextFactoryImpl</partial-view-context-factory>
 	</factory> 	<application>

Modified: branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/jquery.position.js
===================================================================
--- branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/jquery.position.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/jquery.position.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -182,21 +182,6 @@
 		}
 		
 		return rect;
-		/*
-			var jqe = $(element);
-			var offset = jqe.offset();
-			var width = jqe.width();
-			var height = jqe.height();
-			if (width == 0 && height==0) {
-				//TODO: create getComputedStyle function for this
-				var e = jqe.get(0);
-				if (e.currentStyle) {
-					width = parseInt(e.currentStyle['width'],10) || 0;
-					height = parseInt(e.currentStyle['height'],10) || 0;
-				}
-			}
-			return {width: width, height: height, left: Math.floor(offset.left), top: Math.floor(offset.top)};
-		 */
 	};
 	
 	function checkCollision (elementRect, windowRect) {
@@ -237,7 +222,6 @@
 	function getPositionRect(baseRect, rectOffset, elementDim, pos) {
 		var rect = {};
 		// TODO: add support for center and middle // may be middle rename to center too
-		// TODO: add rectOffset support && tests 
 		
 		var v = pos.charAt(0);
 		if (v=='L') {
@@ -255,17 +239,21 @@
 		
 		v = pos.charAt(2);
 		if (v=='L') {
+			rect.left -= rectOffset[0];
 			rect.right = rect.left;
 			rect.left -= elementDim.width;
 		} else if (v=='R') {
+			rect.left += rectOffset[0];
 			rect.right = rect.left + elementDim.width;
 		}		
 		
 		v = pos.charAt(3);
 		if (v=='T') {
+			rect.top -= rectOffset[1];
 			rect.bottom = rect.top;
 			rect.top -= elementDim.height;
 		} else if (v=='B') {
+			rect.top += rectOffset[1];
 			rect.bottom = rect.top + elementDim.height;
 		}
 		

Modified: branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/richfaces.js
===================================================================
--- branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/richfaces.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/impl/src/main/resources/META-INF/resources/richfaces.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -478,7 +478,12 @@
 	}()); 	richfaces.ajax = function(source, event, options) {
-		var sourceId = (typeof source == 'object' && source.id) ? source.id : source;
+		var sourceId;
+		if (options.sourceId) {
+			sourceId = options.sourceId;
+		} else {
+			sourceId = (typeof source == 'object' && source.id) ? source.id : source;
+		} 		options = options || {};
Modified: branches/RF-8742-1/core/impl/src/test/resources/javascript/4_0_0.html
===================================================================
--- branches/RF-8742-1/core/impl/src/test/resources/javascript/4_0_0.html	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/core/impl/src/test/resources/javascript/4_0_0.html	2010-12-09 17:26:24 UTC (rev 20483)
@@ -115,6 +115,21 @@
 				RichFaces.ajax(ajaxSource, ajaxEvent, ajaxOptions);
 			});
 			
+			test("RichFaces.ajax behavior test for sourceId option", function() {
+				expect(2);
+
+				var ajaxSource = "source";
+				var ajaxEvent = "event";
+				var ajaxOptions = {parameters: {'param': 'value'}, sourceId: 'someId'};
+				jsf.ajax = {
+					request : function(source, event, options) {
+						equals(source, ajaxSource);
+						equals(options['org.richfaces.ajax.component'], 'someId');
+					}
+				}
+				RichFaces.ajax(ajaxSource, ajaxEvent, ajaxOptions);
+			});
+			
 			test("RichFaces.ajax component test", function() {
 				expect(7);
 				var ajaxSource = "source";

Modified: branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/CalendarBean.java
===================================================================
--- branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/CalendarBean.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/CalendarBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -20,7 +20,9 @@
     private String mode = "client";
     private String jointPoint = "auto-auto";
     private String direction = "auto-auto";
-
+    private int horizontalOffset = 0;
+    private int verticalOffset = 0;
+    
     public CalendarBean() {         locale = Locale.US;
@@ -110,4 +112,20 @@
         return direction;
     }+    public void setHorizontalOffset(int horizontalOffset) {
+        this.horizontalOffset = horizontalOffset;
+    }
+
+    public int getHorizontalOffset() {
+        return horizontalOffset;
+    }
+
+    public void setVerticalOffset(int verticalOffset) {
+        this.verticalOffset = verticalOffset;
+    }
+
+    public int getVerticalOffset() {
+        return verticalOffset;
+    }
+
 }
\ No newline at end of file

Modified: branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java
===================================================================
--- branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/input-demo/src/main/java/org/richfaces/demo/InputNumberSliderBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -44,7 +44,7 @@
     private boolean showArrows = false;
     private boolean showBoundaryValues = true;
     private boolean showInput = true;
-    private boolean showToolTip = true;
+    private boolean showTooltip = true;
     private double step = 1;
     
     public void setValue(double value) {
@@ -131,12 +131,12 @@
         this.showInput = showInput;
     }-    public boolean isShowToolTip() {
-        return showToolTip;
+    public boolean isShowTooltip() {
+        return showTooltip;
     }-    public void setShowToolTip(boolean showToolTip) {
-        this.showToolTip = showToolTip;
+    public void setShowTooltip(boolean showTooltip) {
+        this.showTooltip = showTooltip;
     }     public double getStep() {

Modified: branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml
===================================================================
--- branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/autocomplete.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -4,6 +4,7 @@
 	xmlns:f="http://java.sun.com/jsf/core"
 	xmlns:ui="http://java.sun.com/jsf/facelets"
 	xmlns:input="http://richfaces.org/input"
+	xmlns:rich="http://richfaces.org/iteration"
 	xmlns:a4j="http://richfaces.org/a4j">
 <f:view contentType="text/html" />@@ -43,6 +44,20 @@
 			#{country.name} #{country.iso} #{country.domain}
 		<a4j:ajax event="change" render="output"/>
 		</input:autocomplete>
+		<br /><h:outputText value="RF-9835:" /><br />
+		<input:autocomplete id="myAutocomplete1" mode="client" autocompleteMethod="#{autoCompleteBean.autocomplete}" var="country" fetchValue="#{country.name}" showButton="true"
+		 value = "#{autoCompleteBean.value}" layout="table">
+		 	<rich:column>
+		 		<h:outputText value="#{country.name}" />
+			</rich:column>
+			<rich:column>
+		 		<h:outputText value="#{country.iso}" />
+			</rich:column>
+			<rich:column>
+		 		<h:outputText value="#{country.domain}" />
+			</rich:column>
+		<a4j:ajax event="change" render="output"/>
+		</input:autocomplete>
 		<br/><br/>
             Your selection: <h:outputText id="output" value="#{autoCompleteBean.value}"/>
 		<script type="text/javascript">

Modified: branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/calendar.xhtml
===================================================================
--- branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/calendar.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/calendar.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -58,7 +58,9 @@
 					onclean="return onEvent.call(this, event);"					
 					ondatemouseout="return onEvent.call(this, event);"
 					ondatemouseover="return onEvent.call(this, event);"			
-					
+					firstWeekDay="4"
+					horizontalOffset="#{calendarBean.horizontalOffset}"
+					verticalOffset="#{calendarBean.verticalOffset}"
>
 					<f:ajax event="change" render="echo-text" />
 				</calendar:calendar>
@@ -97,7 +99,7 @@
 				<h:selectOneMenu value="#{calendarBean.mode}" onchange="submit()">
 					<f:selectItem itemValue="client"/>
 					<f:selectItem itemValue="ajax"/>
-				</h:selectOneMenu><br/>
+				</h:selectOneMenu>
 						
 				<h:outputText value="Select joint point:" />
 				<h:selectOneMenu value="#{calendarBean.jointPoint}">
@@ -116,7 +118,15 @@
 					<f:selectItem itemLabel="top-right" itemValue="top-right" />
 					<f:selectItem itemLabel="bottom-left" itemValue="bottom-left" />
 					<f:selectItem itemLabel="bottom-right" itemValue="bottom-right" />
-				</h:selectOneMenu>		
+				</h:selectOneMenu>
+				<h:outputText value="Horisontal offset:" />
+				<h:inputText value="#{calendarBean.horizontalOffset}">
+					<f:ajax execute="@form" event="change" render="calendar @this" />
+				</h:inputText>
+				<h:outputText value="Vertical offset:" />
+				<h:inputText value="#{calendarBean.verticalOffset}">
+					<f:ajax execute="@form" event="change" render="calendar @this" />
+				</h:inputText>
 			</h:panelGrid>
 			<h:panelGroup layout="block">
 					<div>

Modified: branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml
===================================================================
--- branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/input-demo/src/main/webapp/examples/inputNumberSlider.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -46,7 +46,7 @@
 				disabled="#{inputNumberSliderBean.disabled}" enableManualInput="#{inputNumberSliderBean.enableManualInput}"
 				inputPosition="#{inputNumberSliderBean.inputPosition}" inputSize="#{inputNumberSliderBean.inputSize}" showArrows="#{inputNumberSliderBean.showArrows}"
 				showBoundaryValues="#{inputNumberSliderBean.showBoundaryValues}" showInput="#{inputNumberSliderBean.showInput}"
-				showToolTip="#{inputNumberSliderBean.showToolTip}" maxValue="#{inputNumberSliderBean.maxValue}" minValue="#{inputNumberSliderBean.minValue}"
+				showTooltip="#{inputNumberSliderBean.showTooltip}" maxValue="#{inputNumberSliderBean.maxValue}" minValue="#{inputNumberSliderBean.minValue}"
 				step="#{inputNumberSliderBean.step}" >
 				<f:ajax render="date" />
 			</ins:inputNumberSlider>
@@ -107,8 +107,8 @@
 				<f:ajax render="ins"/>
 			</h:selectBooleanCheckbox>
 			<br />
-			<h:outputText value="ShowToolTip: "/>
-			<h:selectBooleanCheckbox value="#{inputNumberSliderBean.showToolTip}">
+			<h:outputText value="ShowTooltip: "/>
+			<h:selectBooleanCheckbox value="#{inputNumberSliderBean.showTooltip}">
 				<f:ajax render="ins"/>
 			</h:selectBooleanCheckbox>
 			<br />

Copied: branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/CollapsiblePanel.java (from rev 20482, trunk/examples/output-demo/src/main/java/org/richfaces/CollapsiblePanel.java)
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/CollapsiblePanel.java	                        (rev 0)
+++ branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/CollapsiblePanel.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,44 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * 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;
+
+import org.richfaces.event.PanelToggleEvent;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+/**
+ * @author akolonitsky
+ * @since Dec 9, 2010
+ */
+@ManagedBean
+@SessionScoped
+public class CollapsiblePanel {
+
+    public CollapsiblePanel() {
+    }
+
+    public void action() {
+        System.out.println("CollapsiblePanel.action");
+    }
+
+}

Modified: branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/ModalPanel.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -55,8 +55,17 @@
         this.shadowOpacity = "3";
         this.show = false;
         this.domElementAttachment = "body";
+        this.zindex = 123;
     }+    public int getZindex() {
+        return zindex;
+    }
+
+    public void setZindex(int zindex) {
+        this.zindex = zindex;
+    }    
+    
     public int getHeight() {
         return height;
     }

Copied: branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/RF9851.java (from rev 20482, trunk/examples/output-demo/src/main/java/org/richfaces/RF9851.java)
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/RF9851.java	                        (rev 0)
+++ branches/RF-8742-1/examples/output-demo/src/main/java/org/richfaces/RF9851.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,60 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * 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;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+/**
+ * @author akolonitsky
+ * @since Dec 6, 2010
+ */
+@ManagedBean(name = "RF9851")
+@SessionScoped
+public class RF9851 {
+    private String name;
+    private String email;
+
+    public RF9851() {
+        System.out.println("RF9851.RF9851");
+    }
+
+    public String getName() {
+        System.out.println("RF9851.getName");
+        return name;
+    }
+
+    public void setName(String name) {
+        System.out.println("RF9851.setName name = " + name);
+        this.name = name;
+    }
+
+    public String getEmail() {
+        System.out.println("RF9851.getEmail");
+        return email;
+    }
+
+    public void setEmail(String email) {
+        System.out.println("RF9851.setEmail email = " + email);
+        this.email = email;
+    }
+}

Modified: branches/RF-8742-1/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/output-demo/src/main/webapp/WEB-INF/faces-config.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -62,6 +62,10 @@
             <to-view-id>/examples/accordion/RF-9364.xhtml</to-view-id>
         </navigation-case>
         <navigation-case>
+            <from-outcome>RF-9851</from-outcome>
+            <to-view-id>/examples/accordion/RF-9851.xhtml</to-view-id>
+        </navigation-case>
+        <navigation-case>
             <from-outcome>qunit/accordion</from-outcome>
             <to-view-id>/qunit/accordion.xhtml</to-view-id>
         </navigation-case>

Copied: branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/accordion/RF-9851.xhtml (from rev 20482, trunk/examples/output-demo/src/main/webapp/examples/accordion/RF-9851.xhtml)
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/accordion/RF-9851.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/accordion/RF-9851.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:pn="http://richfaces.org/output">
+
+<body>
+<ui:composition template="/templates/template.xhtml">
+
+    <ui:define name="title">Accordion Example</ui:define>
+    <ui:define name="body_head">Accordion Example</ui:define>
+
+    <ui:define name="body">
+        <p>Page</p>
+
+        <pre>
+            two critical issues there:
+                1)
+                    a) enter something into input at default item
+                    b) switch to second
+                    c) enter something to input there
+                    d) click submit
+                    RESULT - nothing being encoded for outputText's
+
+                2)
+                    a) enter something into input at default item
+                    b) switch to second
+                    c) enter something to input there
+                    d) return to default tab(in order current item to be in sync with server side current)
+                    e) click submit
+                    RESULT - only one typed message encoded. 
+        </pre>
+
+        <h:form>
+            <pn:accordion switchType="ajax" id="acc">
+                <pn:accordionItem header="Overview:" id="i1">
+                    <h:inputText value="#{RF9851.name}"/>
+                </pn:accordionItem>
+                <pn:accordionItem header="JSF 2 and RichFaces 4:" id="i2">
+                    <h:inputText value="#{RF9851.email}"/>
+
+                </pn:accordionItem>
+            </pn:accordion>
+            <h:commandButton/>
+            <h:outputText value="#{RF9851.name}"/>
+            <h:outputText value="#{RF9851.email}"/>
+            <h:messages/>
+        </h:form>
+    </ui:define>
+</ui:composition>
+</body>
+</html>
+

Modified: branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/collapsiblePanel.xhtml
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/collapsiblePanel.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/collapsiblePanel.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -27,7 +27,7 @@             </pn:collapsiblePanel>-            <pn:collapsiblePanel id="panel2" expanded="false" switchType="ajax">
+            <pn:collapsiblePanel id="panel2" expanded="false" switchType="ajax" toggleListener="#{collapsiblePanel.action}" >
                 <f:facet name="headerExpanded" >
                     header exanded
                 </f:facet>

Modified: branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/output-demo/src/main/webapp/examples/popupPanel.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -28,6 +28,7 @@
 		shadowOpacity="#{modalPanel.shadowOpacity}"
 		show="#{modalPanel.show}"
 		domElementAttachment="#{modalPanel.domElementAttachment}"
+		zindex="#{modalPanel.zindex}"
>
 		<f:facet name="header">
 			<h:outputText value="HEADER for popup" />

Modified: branches/RF-8742-1/examples/output-demo/src/main/webapp/qunit/tooltip.xhtml
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/webapp/qunit/tooltip.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/output-demo/src/main/webapp/qunit/tooltip.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -50,7 +50,7 @@
                 Tooltip apeared under green rectangle.                 <pn:tooltip id="tooltip" target="myRectangle" mode="ajax" showDelay="500">
-                    New ToolTip Yo!!!
+                    New Tooltip Yo!!!
                 </pn:tooltip>
             </div>
Modified: branches/RF-8742-1/examples/output-demo/src/main/webapp/templates/template.xhtml
===================================================================
--- branches/RF-8742-1/examples/output-demo/src/main/webapp/templates/template.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/output-demo/src/main/webapp/templates/template.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -80,6 +80,7 @@
                             <p>Bugs</p>
                             <ul>
                                 <li><h:commandLink value="RF-9364" action="RF-9364" /></li>
+                                <li><h:commandLink value="RF-9851" action="RF-9851" /></li>
                             </ul>
                         </li>
                     </ul>

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu (from rev 20482, trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu)

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java
===================================================================
--- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,50 +0,0 @@
-package org.richfaces.demo.dropdownmenu;
-
-import java.io.Serializable;
-
-import javax.faces.bean.ManagedBean;
-import javax.faces.bean.ViewScoped;
-
-@ManagedBean
-@ViewScoped
-public class DropDownMenuBean implements Serializable {
-    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 doSave() {
-        this.current = "Save";
-        return null;
-    }
-
-    public String doSaveAll() {
-        this.current = "Save All";
-        return null;
-    }
-
-    public String doExit() {
-        this.current = "Exit";
-        return null;
-    }
-}

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java (from rev 20482, trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/dropdownmenu/DropDownMenuBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,50 @@
+package org.richfaces.demo.dropdownmenu;
+
+import java.io.Serializable;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.ViewScoped;
+
+@ManagedBean
+@ViewScoped
+public class DropDownMenuBean implements Serializable {
+    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 doSave() {
+        this.current = "Save";
+        return null;
+    }
+
+    public String doSaveAll() {
+        this.current = "Save All";
+        return null;
+    }
+
+    public String doExit() {
+        this.current = "Exit";
+        return null;
+    }
+}

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload (from rev 20482, trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload)

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java
===================================================================
--- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,91 +0,0 @@
-package org.richfaces.demo.fileupload;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-
-import javax.faces.bean.ManagedBean;
-import javax.faces.bean.SessionScoped;
-
-import org.richfaces.event.UploadEvent;
-import org.richfaces.model.UploadItem;
-
-/**
- * @author Ilya Shaikovsky
- * 
- */
-@ManagedBean
-@SessionScoped
-public class FileUploadBean implements Serializable {
-
-    private ArrayList<UplocadedImage> files = new ArrayList<UplocadedImage>();
-    private int uploadsAvailable = 5;
-    private boolean autoUpload = false;
-    private boolean useFlash = false;
-
-    public int getSize() {
-        if (getFiles().size() > 0) {
-            return getFiles().size();
-        } else {
-            return 0;
-        }
-    }
-
-    public void paint(OutputStream stream, Object object) throws IOException {
-        stream.write(getFiles().get((Integer) object).getData());
-    }
-
-    public void listener(UploadEvent event) throws Exception {
-        UploadItem item = event.getUploadItem();
-        UplocadedImage file = new UplocadedImage();
-        file.setLength(item.getData().length);
-        file.setName(item.getFileName());
-        file.setData(item.getData());
-        files.add(file);
-        uploadsAvailable--;
-    }
-
-    public String clearUploadData() {
-        files.clear();
-        setUploadsAvailable(5);
-        return null;
-    }
-
-    public long getTimeStamp() {
-        return System.currentTimeMillis();
-    }
-
-    public ArrayList<UplocadedImage> getFiles() {
-        return files;
-    }
-
-    public void setFiles(ArrayList<UplocadedImage> files) {
-        this.files = files;
-    }
-
-    public int getUploadsAvailable() {
-        return uploadsAvailable;
-    }
-
-    public void setUploadsAvailable(int uploadsAvailable) {
-        this.uploadsAvailable = uploadsAvailable;
-    }
-
-    public boolean isAutoUpload() {
-        return autoUpload;
-    }
-
-    public void setAutoUpload(boolean autoUpload) {
-        this.autoUpload = autoUpload;
-    }
-
-    public boolean isUseFlash() {
-        return useFlash;
-    }
-
-    public void setUseFlash(boolean useFlash) {
-        this.useFlash = useFlash;
-    }
-
-}

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java (from rev 20482, trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/FileUploadBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,91 @@
+package org.richfaces.demo.fileupload;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+import org.richfaces.event.UploadEvent;
+import org.richfaces.model.UploadItem;
+
+/**
+ * @author Ilya Shaikovsky
+ * 
+ */
+@ManagedBean
+@SessionScoped
+public class FileUploadBean implements Serializable {
+
+    private ArrayList<UplocadedImage> files = new ArrayList<UplocadedImage>();
+    private int uploadsAvailable = 5;
+    private boolean autoUpload = false;
+    private boolean useFlash = false;
+
+    public int getSize() {
+        if (getFiles().size() > 0) {
+            return getFiles().size();
+        } else {
+            return 0;
+        }
+    }
+
+    public void paint(OutputStream stream, Object object) throws IOException {
+        stream.write(getFiles().get((Integer) object).getData());
+    }
+
+    public void listener(UploadEvent event) throws Exception {
+        UploadItem item = event.getUploadItem();
+        UplocadedImage file = new UplocadedImage();
+        file.setLength(item.getData().length);
+        file.setName(item.getFileName());
+        file.setData(item.getData());
+        files.add(file);
+        uploadsAvailable--;
+    }
+
+    public String clearUploadData() {
+        files.clear();
+        setUploadsAvailable(5);
+        return null;
+    }
+
+    public long getTimeStamp() {
+        return System.currentTimeMillis();
+    }
+
+    public ArrayList<UplocadedImage> getFiles() {
+        return files;
+    }
+
+    public void setFiles(ArrayList<UplocadedImage> files) {
+        this.files = files;
+    }
+
+    public int getUploadsAvailable() {
+        return uploadsAvailable;
+    }
+
+    public void setUploadsAvailable(int uploadsAvailable) {
+        this.uploadsAvailable = uploadsAvailable;
+    }
+
+    public boolean isAutoUpload() {
+        return autoUpload;
+    }
+
+    public void setAutoUpload(boolean autoUpload) {
+        this.autoUpload = autoUpload;
+    }
+
+    public boolean isUseFlash() {
+        return useFlash;
+    }
+
+    public void setUseFlash(boolean useFlash) {
+        this.useFlash = useFlash;
+    }
+
+}

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java
===================================================================
--- trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,52 +0,0 @@
-package org.richfaces.demo.fileupload;
-
-public class UplocadedImage {
-
-    private String name;
-    private String mime;
-    private long length;
-    private byte[] data;
-
-    public byte[] getData() {
-        return data;
-    }
-
-    public void setData(byte[] data) {
-        this.data = data;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        name = name;
-        int extDot = name.lastIndexOf('.');
-        if (extDot > 0) {
-            String extension = name.substring(extDot + 1);
-            if ("bmp".equals(extension)) {
-                mime = "image/bmp";
-            } else if ("jpg".equals(extension)) {
-                mime = "image/jpeg";
-            } else if ("gif".equals(extension)) {
-                mime = "image/gif";
-            } else if ("png".equals(extension)) {
-                mime = "image/png";
-            } else {
-                mime = "image/unknown";
-            }
-        }
-    }
-
-    public long getLength() {
-        return length;
-    }
-
-    public void setLength(long length) {
-        this.length = length;
-    }
-
-    public String getMime() {
-        return mime;
-    }
-}

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java (from rev 20482, trunk/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/java/org/richfaces/demo/fileupload/UplocadedImage.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,52 @@
+package org.richfaces.demo.fileupload;
+
+public class UplocadedImage {
+
+    private String name;
+    private String mime;
+    private long length;
+    private byte[] data;
+
+    public byte[] getData() {
+        return data;
+    }
+
+    public void setData(byte[] data) {
+        this.data = data;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        name = name;
+        int extDot = name.lastIndexOf('.');
+        if (extDot > 0) {
+            String extension = name.substring(extDot + 1);
+            if ("bmp".equals(extension)) {
+                mime = "image/bmp";
+            } else if ("jpg".equals(extension)) {
+                mime = "image/jpeg";
+            } else if ("gif".equals(extension)) {
+                mime = "image/gif";
+            } else if ("png".equals(extension)) {
+                mime = "image/png";
+            } else {
+                mime = "image/unknown";
+            }
+        }
+    }
+
+    public long getLength() {
+        return length;
+    }
+
+    public void setLength(long length) {
+        this.length = length;
+    }
+
+    public String getMime() {
+        return mime;
+    }
+}

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/resources/org/richfaces/demo/data/common/navigation.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -435,6 +435,20 @@
 					</sample>
 				</samples>
 			</demo>
+			<demo new="true">
+				<id>dropDownMenu</id>
+				<name>rich:dropDownMenu</name>
+				<samples>
+					<sample>
+						<id>topMenu</id>
+						<name>Top Menu</name>
+					</sample>
+					<sample>
+						<id>sideMenu</id>
+						<name>Side Menu</name>
+					</sample>
+				</samples>
+			</demo>
 		</demos>
 	</group>
 	<group>
@@ -522,6 +536,16 @@
 					</sample>
 				</samples>
 			</demo>
+			<demo new="true">
+				<id>fileUpload</id>
+				<name>rich:fileUpload</name>
+				<samples>
+					<sample>
+						<id>imgUpload</id>
+						<name>Upload images</name>
+					</sample>
+				</samples>
+			</demo>			
 		</demos>
 	</group>
 	<group>

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/WEB-INF/web.xml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/WEB-INF/web.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/WEB-INF/web.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,58 +1,58 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <web-app id="richfaces-showcase" version="2.5"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5...">
- <display-name>richfaces-showcase</display-name>
- <context-param>
-  <param-name>javax.faces.FACELETS_LIBRARIES</param-name>
-  <param-value>/WEB-INF/app-tags.taglib.xml</param-value>
- </context-param>
- <context-param>
-  <param-name>org.richfaces.enableControlSkinning</param-name>
-  <param-value>true</param-value>
- </context-param>
- <context-param>
-  <param-name>org.richfaces.enableControlSkinningClasses</param-name>
-  <param-value>false</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>javax.faces.PROJECT_STAGE</param-name>
-  <param-value>Development</param-value>
- </context-param>
- <context-param>
-  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
-  <param-value>server</param-value>
- </context-param>
- <servlet>
-  <servlet-name>Faces Servlet</servlet-name>
-  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-  <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
-  <servlet-name>Faces Servlet</servlet-name>
-  <url-pattern>*.jsf</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
-  <servlet-name>Faces Servlet</servlet-name>
-  <url-pattern>/faces/*</url-pattern>
- </servlet-mapping>
- <mime-mapping>
-  <extension>ecss</extension>
-  <mime-type>text/css</mime-type>
- </mime-mapping>
- <welcome-file-list>
-  <welcome-file>index.html</welcome-file>
-  <welcome-file>index.htm</welcome-file>
-  <welcome-file>index.jsp</welcome-file>
-  <welcome-file>default.html</welcome-file>
-  <welcome-file>default.htm</welcome-file>
-  <welcome-file>default.jsp</welcome-file>
- </welcome-file-list>
- <login-config>
-  <auth-method>BASIC</auth-method>
- </login-config>
+	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5...">
+	<display-name>richfaces-showcase</display-name>
+	<context-param>
+		<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
+		<param-value>/WEB-INF/app-tags.taglib.xml</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.richfaces.fileUpload.maxRequestSize</param-name>
+		<param-value>100000</param-value>
+	</context-param>
+	<context-param>
+		<param-name>org.richfaces.fileUpload.createTempFiles</param-name>
+		<param-value>false</param-value>
+	</context-param>
+	<context-param>
+		<param-name>javax.faces.PROJECT_STAGE</param-name>
+		<param-value>Development</param-value>
+	</context-param>
+	<context-param>
+		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+		<param-value>server</param-value>
+	</context-param>
+	<servlet>
+		<servlet-name>Faces Servlet</servlet-name>
+		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+		<load-on-startup>1</load-on-startup>
+	</servlet>
+	<servlet-mapping>
+		<servlet-name>Faces Servlet</servlet-name>
+		<url-pattern>*.jsf</url-pattern>
+	</servlet-mapping>
+	<servlet-mapping>
+		<servlet-name>Faces Servlet</servlet-name>
+		<url-pattern>/faces/*</url-pattern>
+	</servlet-mapping>
+	<mime-mapping>
+		<extension>ecss</extension>
+		<mime-type>text/css</mime-type>
+	</mime-mapping>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+	<login-config>
+		<auth-method>BASIC</auth-method>
+	</login-config>
 </web-app>

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/samples/clientStylingDisablement-sample.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/samples/clientStylingDisablement-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/calendar/samples/clientStylingDisablement-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -20,7 +20,7 @@
         function disablementFunction(day){
             if (day.isWeekend) return false;
             if (curDt==undefined){
-                curDt = day.date.getDate;
+                curDt = day.date.getDate();
             }
             if (curDt.getTime() - day.date.getTime() &lt; 0) return true; else return false;  
         }

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/samples/simpleTable-sample.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/samples/simpleTable-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/samples/simpleTable-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -33,7 +33,7 @@
 			<h:outputText value="#{record.city}" />
 		</rich:column>-		<rich:subTable var="expense" value="#{record.items}">
+		<rich:collapsibleSubTable var="expense" value="#{record.items}">
 			<rich:column>
 				<h:outputText value="#{expense.day}"></h:outputText>
 				<f:facet name="footer">
@@ -80,7 +80,7 @@
 				</f:facet>
 			</rich:column>-		</rich:subTable>
+		</rich:collapsibleSubTable> 		<f:facet name="footer">
Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/simpleTable.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/simpleTable.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dataTable/simpleTable.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -6,7 +6,7 @@ <ui:composition>
 	<p>This sample shows simple master-detail table implemented using<b>
-	tbl:dataTable</b> and<b> tbl:subtable</b> components</p>
+	tbl:dataTable</b> and<b> tbl:collapsibleSubTable</b> components</p>
 	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
 	<ui:include src="/templates/includes/source-view.xhtml">
 		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu)

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples)

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,54 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:ui="http://java.sun.com/jsf/facelets"
-	xmlns:a4j="http://richfaces.org/a4j"
-	xmlns:rich="http://richfaces.org/rich">
-
-<ui:composition>
-	<style>
-.optionList {
-	height: 22px;
-}
-
-.vertical-menu-cell {
-	padding: 0px 4px 0px 4px;
-}
-</style>
-		<h:panelGrid styleClass="vertical-menu-cell"
-			columnClasses="optionList" columns="1" cellspacing="0"
-			cellpadding="0">
-			<rich:dropDownMenu
-				style="border:1px solid #{a4jSkin.panelBorderColor}" label="Option1"
-				mode="none">
-				<rich:menuItem label="Suboption 1-1" />
-				<rich:menuItem label="Suboption 1-2">
-					<f:facet name="icon">
-						<h:graphicImage value="/richfaces/toolBar/images/print.gif" />
-					</f:facet>
-				</rich:menuItem>
-				<rich:menuItem label="Suboption 1-3" />
-			</rich:dropDownMenu>
-			<rich:dropDownMenu
-				style="border:1px solid #{a4jSkin.panelBorderColor}" label="Option2"
-				mode="none">
-				<rich:menuItem label="Suboption 2-1" />
-				<rich:menuItem label="Suboption 2-2" />
-				<rich:menuGroup label="Group2">
-					<rich:menuItem label="Suboption 2-2-1" />
-					<rich:menuItem label="Suboption 2-2-2" />
-				</rich:menuGroup>
-				<rich:menuItem label="Suboption 2-3" />
-			</rich:dropDownMenu>
-			<rich:dropDownMenu
-				style="border:1px solid #{a4jSkin.panelBorderColor}" label="Option3"
-				mode="none">
-				<rich:menuItem label="Suboption 3-1" />
-				<rich:menuItem label="Suboption 3-2" />
-				<rich:menuItem label="Suboption 3-3" />
-			</rich:dropDownMenu>
-		</h:panelGrid>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/sideMenu-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition>
+	<style>
+.optionList {
+	height: 22px;
+}
+
+.vertical-menu-cell {
+	padding: 0px 4px 0px 4px;
+}
+</style>
+		<h:panelGrid styleClass="vertical-menu-cell"
+			columnClasses="optionList" columns="1" cellspacing="0"
+			cellpadding="0">
+			<rich:dropDownMenu
+				style="border:1px solid #{a4jSkin.panelBorderColor}" label="Option1"
+				mode="none">
+				<rich:menuItem label="Suboption 1-1" />
+				<rich:menuItem label="Suboption 1-2">
+					<f:facet name="icon">
+						<h:graphicImage value="/richfaces/toolBar/images/print.gif" />
+					</f:facet>
+				</rich:menuItem>
+				<rich:menuItem label="Suboption 1-3" />
+			</rich:dropDownMenu>
+			<rich:dropDownMenu
+				style="border:1px solid #{a4jSkin.panelBorderColor}" label="Option2"
+				mode="none">
+				<rich:menuItem label="Suboption 2-1" />
+				<rich:menuItem label="Suboption 2-2" />
+				<rich:menuGroup label="Group2">
+					<rich:menuItem label="Suboption 2-2-1" />
+					<rich:menuItem label="Suboption 2-2-2" />
+				</rich:menuGroup>
+				<rich:menuItem label="Suboption 2-3" />
+			</rich:dropDownMenu>
+			<rich:dropDownMenu
+				style="border:1px solid #{a4jSkin.panelBorderColor}" label="Option3"
+				mode="none">
+				<rich:menuItem label="Suboption 3-1" />
+				<rich:menuItem label="Suboption 3-2" />
+				<rich:menuItem label="Suboption 3-3" />
+			</rich:dropDownMenu>
+		</h:panelGrid>
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,101 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:ui="http://java.sun.com/jsf/facelets"
-	xmlns:a4j="http://richfaces.org/a4j"
-	xmlns:rich="http://richfaces.org/rich">
-
-<ui:composition>
-
-	<style>
-.pic {
-	margin-bottom: -4px;
-	margin-right: 2px;
-}
-
-.search .rf-ddm-itm-sel {
-	background-color: transparent;
-	background-image:none;
-	border-color: transparent;
-	cursor: default;
-}
-</style>
-
-	<h:form>
-		<rich:toolbar height="26px">
-			<rich:dropDownMenu mode="ajax">
-				<f:facet name="label">
-					<h:panelGroup>
-						<h:graphicImage value="/images/icons/copy.gif" styleClass="pic" />
-						<h:outputText value="File" />
-					</h:panelGroup>
-				</f:facet>
-				<rich:menuItem  label="New"
-					action="#{dropDownMenuBean.doNew}" icon="/images/icons/create_doc.gif">
-				</rich:menuItem>
-				<rich:menuItem  label="Open"
-					action="#{dropDownMenuBean.doOpen}" icon="/images/icons/open.gif" />
-				<rich:menuGroup label="Save As...">
-					<rich:menuItem  label="Save"
-						action="#{dropDownMenuBean.doSave}" icon="/images/icons/save.gif" />
-					<rich:menuItem  label="Save All"
-						action="#{dropDownMenuBean.doSaveAll}">
-						<f:facet name="icon">
-							<h:graphicImage value="/images/icons/save_all.gif" />
-						</f:facet>
-					</rich:menuItem>
-				</rich:menuGroup>
-				<rich:menuItem  label="Close"
-					action="#{dropDownMenuBean.doClose}" />
-				<rich:menuSeparator id="menuSeparator11" />
-				<rich:menuItem  label="Exit"
-					action="#{dropDownMenuBean.doExit}" />
-
-			</rich:dropDownMenu>
-
-			<rich:dropDownMenu mode="ajax">
-				<f:facet name="label">
-					<h:panelGrid cellpadding="0" cellspacing="0" columns="2"
-						style="vertical-align:middle">
-						<h:outputText value="Links" />
-					</h:panelGrid>
-				</f:facet>
-				<rich:menuItem submitMode="none"
-					onclick="document.location.href='http://labs.jboss.com/jbossrichfaces/'">
-					<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...'">
-					<h:outputLink
-						value="http://jboss.com/index.html?module=bb&amp...">
-						<h:outputText value="RichFaces Forum"></h:outputText>
-					</h:outputLink>
-				</rich:menuItem>
-			</rich:dropDownMenu>
-			<rich:toolbarGroup location="right">
-				<rich:dropDownMenu label="Search" direction="bottom-left"
-					jointPoint="br" styleClass="search" mode="client">
-					<rich:menuItem>
-						<h:inputText value="" id="searchinput" />
-						<button type="button">Search</button>
-					</rich:menuItem>
-					<rich:menuItem label="Enter your search criteria here"
-						disabled="true"></rich:menuItem>
-				</rich:dropDownMenu>
-			</rich:toolbarGroup>
-		</rich:toolbar>
-	</h:form>
-
-	<br />
-	<a4j:outputPanel ajaxRendered="true">
-		<h:outputText value="Current Selection: "></h:outputText>
-		<h:outputText style="font-weight:bold" value="#{dropDownMenuBean.current}"></h:outputText>
-	</a4j:outputPanel>
-	<br />
-
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/samples/topMenu-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition>
+
+	<style>
+.pic {
+	margin-bottom: -4px;
+	margin-right: 2px;
+}
+
+.search .rf-ddm-itm-sel {
+	background-color: transparent;
+	background-image:none;
+	border-color: transparent;
+	cursor: default;
+}
+</style>
+
+	<h:form>
+		<rich:toolbar height="26px">
+			<rich:dropDownMenu mode="ajax">
+				<f:facet name="label">
+					<h:panelGroup>
+						<h:graphicImage value="/images/icons/copy.gif" styleClass="pic" />
+						<h:outputText value="File" />
+					</h:panelGroup>
+				</f:facet>
+				<rich:menuItem  label="New"
+					action="#{dropDownMenuBean.doNew}" icon="/images/icons/create_doc.gif">
+				</rich:menuItem>
+				<rich:menuItem  label="Open"
+					action="#{dropDownMenuBean.doOpen}" icon="/images/icons/open.gif" />
+				<rich:menuGroup label="Save As...">
+					<rich:menuItem  label="Save"
+						action="#{dropDownMenuBean.doSave}" icon="/images/icons/save.gif" />
+					<rich:menuItem  label="Save All"
+						action="#{dropDownMenuBean.doSaveAll}">
+						<f:facet name="icon">
+							<h:graphicImage value="/images/icons/save_all.gif" />
+						</f:facet>
+					</rich:menuItem>
+				</rich:menuGroup>
+				<rich:menuItem  label="Close"
+					action="#{dropDownMenuBean.doClose}" />
+				<rich:menuSeparator id="menuSeparator11" />
+				<rich:menuItem  label="Exit"
+					action="#{dropDownMenuBean.doExit}" />
+
+			</rich:dropDownMenu>
+
+			<rich:dropDownMenu mode="ajax">
+				<f:facet name="label">
+					<h:panelGrid cellpadding="0" cellspacing="0" columns="2"
+						style="vertical-align:middle">
+						<h:outputText value="Links" />
+					</h:panelGrid>
+				</f:facet>
+				<rich:menuItem submitMode="none"
+					onclick="document.location.href='http://labs.jboss.com/jbossrichfaces/'">
+					<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...'">
+					<h:outputLink
+						value="http://jboss.com/index.html?module=bb&amp...">
+						<h:outputText value="RichFaces Forum"></h:outputText>
+					</h:outputLink>
+				</rich:menuItem>
+			</rich:dropDownMenu>
+			<rich:toolbarGroup location="right">
+				<rich:dropDownMenu label="Search" direction="bottom-left"
+					jointPoint="br" styleClass="search" mode="client">
+					<rich:menuItem>
+						<h:inputText value="" id="searchinput" />
+						<button type="button">Search</button>
+					</rich:menuItem>
+					<rich:menuItem label="Enter your search criteria here"
+						disabled="true"></rich:menuItem>
+				</rich:dropDownMenu>
+			</rich:toolbarGroup>
+		</rich:toolbar>
+	</h:form>
+
+	<br />
+	<a4j:outputPanel ajaxRendered="true">
+		<h:outputText value="Current Selection: "></h:outputText>
+		<h:outputText style="font-weight:bold" value="#{dropDownMenuBean.current}"></h:outputText>
+	</a4j:outputPanel>
+	<br />
+
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,23 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:ui="http://java.sun.com/jsf/facelets">
-
-<ui:composition>
-	<p>Instead of grouping menus in toolbar - you can just place a
-	block of them horizontally or vertiсally how it is shown below.</p>
-	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
-	<ui:include src="/templates/includes/source-view.xhtml">
-		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />
-		<ui:param name="sourceType" value="xhtml" />
-		<ui:param name="openLabel" value="View Source" />
-		<ui:param name="hideLabel" value="Hide Source" />
-	</ui:include>
-	<p>Pay attention that the default directions is not really
-	convenient in that case. And we will work to add its customization
-	support in nearest time. Demo will be updated with the changes after
-	that.</p>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/sideMenu.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,23 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:ui="http://java.sun.com/jsf/facelets">
+
+<ui:composition>
+	<p>Instead of grouping menus in toolbar - you can just place a
+	block of them horizontally or vertiсally how it is shown below.</p>
+	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
+	<ui:include src="/templates/includes/source-view.xhtml">
+		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />
+		<ui:param name="sourceType" value="xhtml" />
+		<ui:param name="openLabel" value="View Source" />
+		<ui:param name="hideLabel" value="Hide Source" />
+	</ui:include>
+	<p>Pay attention that the default directions is not really
+	convenient in that case. And we will work to add its customization
+	support in nearest time. Demo will be updated with the changes after
+	that.</p>
+</ui:composition>
+
+</html>
\ No newline at end of file

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,33 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:ui="http://java.sun.com/jsf/facelets">
-
-<ui:composition>
-	<p><b>rich:dropDownMenu</b> is a component that allows to organize
-	the hierarchical menu similar to one that almost every desktop
-	application has.</p>
-	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
-	<ui:include src="/templates/includes/source-view.xhtml">
-		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />
-		<ui:param name="sourceType" value="xhtml" />
-		<ui:param name="openLabel" value="View Source" />
-		<ui:param name="hideLabel" value="Hide Source" />
-	</ui:include>
-	<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 (<i>mouseover,
-	click etc</i>). The event is defined with an <b>showEvent</b> attribute.</p>
-	<p>Drop-down menu can contains a set of menuItem's, menuGroup's and
-	menuSeparator's. 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 submission mode is defined with <b>mode</b>
-	attribute of the menu that has three possible options - "<i>server</i>",
-	"<i>ajax</i>" or "<i>client</i>". Mode "<i>client</i>" does not produce
-	any request, but allows you to provide your own functionality inside
-	the menu item with an inline content. Mode could be overriden for
-	concrete item</p>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/dropDownMenu/topMenu.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:ui="http://java.sun.com/jsf/facelets">
+
+<ui:composition>
+	<p><b>rich:dropDownMenu</b> is a component that allows to organize
+	the hierarchical menu similar to one that almost every desktop
+	application has.</p>
+	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
+	<ui:include src="/templates/includes/source-view.xhtml">
+		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />
+		<ui:param name="sourceType" value="xhtml" />
+		<ui:param name="openLabel" value="View Source" />
+		<ui:param name="hideLabel" value="Hide Source" />
+	</ui:include>
+	<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 (<i>mouseover,
+	click etc</i>). The event is defined with an <b>showEvent</b> attribute.</p>
+	<p>Drop-down menu can contains a set of menuItem's, menuGroup's and
+	menuSeparator's. 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 submission mode is defined with <b>mode</b>
+	attribute of the menu that has three possible options - "<i>server</i>",
+	"<i>ajax</i>" or "<i>client</i>". Mode "<i>client</i>" does not produce
+	any request, but allows you to provide your own functionality inside
+	the menu item with an inline content. Mode could be overriden for
+	concrete item</p>
+</ui:composition>
+
+</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload)

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:ui="http://java.sun.com/jsf/facelets">
-
-<ui:composition>
-	<p><b>rich:fileUpload</b> is a component which provides files
-	upload functionality and extends functionality of standard <b>input</b>
-	with <b>type="file"</b>.</p>
-	<p>The next example shows you File Upload which allows you to
-	upload files to the server. Files number allowed to upload is managed
-	with <b>maxFilesQuantity</b> attribute. Every uploaded file should be
-	managed with <b>fileUploadListener</b> which is called after every
-	single file upload is finished.</p>
-	<fieldset><legend><b>Sample limitations</b></legend>This
-	example allows to download <b>up to 5 files</b>. The file extension is
-	limited to <b>GIF, JPG, BMP, PNG</b> and the maximum size of each file
-	must not exceed 100kB</fieldset>
-	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
-	<ui:include src="/templates/includes/source-view.xhtml">
-		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />
-		<ui:param name="sourceType" value="xhtml" />
-		<ui:param name="openLabel" value="View Source" />
-		<ui:param name="hideLabel" value="Hide Source" />
-	</ui:include>
-	<p><b>FileUpload requires two context-parameter's to be set in
-	web.xml:</b></p>
-	<ul>
-		<li><b>createTempFiles</b> boolean attribute which defines whether the
-		uploaded files are stored in temporary files or available in listener
-		just as byte[] data (false for this example).</li>
-		<li><b>maxRequestSize</b> attribute defines max size in bytes of the
-		uploaded files (<u>1000000 for this example</u>).</li>
-	</ul>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/imgUpload.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:ui="http://java.sun.com/jsf/facelets">
+
+<ui:composition>
+	<p><b>rich:fileUpload</b> is a component which provides files
+	upload functionality and extends functionality of standard <b>input</b>
+	with <b>type="file"</b>.</p>
+	<p>The next example shows you File Upload which allows you to
+	upload files to the server. Files number allowed to upload is managed
+	with <b>maxFilesQuantity</b> attribute. Every uploaded file should be
+	managed with <b>fileUploadListener</b> which is called after every
+	single file upload is finished.</p>
+	<fieldset><legend><b>Sample limitations</b></legend>This
+	example allows to download <b>up to 5 files</b>. The file extension is
+	limited to <b>GIF, JPG, BMP, PNG</b> and the maximum size of each file
+	must not exceed 100kB</fieldset>
+	<ui:include src="#{demoNavigator.sampleIncludeURI}" />
+	<ui:include src="/templates/includes/source-view.xhtml">
+		<ui:param name="src" value="#{demoNavigator.sampleIncludeURI}" />
+		<ui:param name="sourceType" value="xhtml" />
+		<ui:param name="openLabel" value="View Source" />
+		<ui:param name="hideLabel" value="Hide Source" />
+	</ui:include>
+	<p><b>FileUpload requires two context-parameter's to be set in
+	web.xml:</b></p>
+	<ul>
+		<li><b>createTempFiles</b> boolean attribute which defines whether the
+		uploaded files are stored in temporary files or available in listener
+		just as byte[] data (false for this example).</li>
+		<li><b>maxRequestSize</b> attribute defines max size in bytes of the
+		uploaded files (<u>1000000 for this example</u>).</li>
+	</ul>
+</ui:composition>
+
+</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples)

Deleted: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml
===================================================================
--- trunk/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
-<html xmlns="http://www.w3.org/1999/xhtml"
-	xmlns:h="http://java.sun.com/jsf/html"
-	xmlns:f="http://java.sun.com/jsf/core"
-	xmlns:ui="http://java.sun.com/jsf/facelets"
-	xmlns:a4j="http://richfaces.org/a4j"
-	xmlns:rich="http://richfaces.org/rich">
-
-<ui:composition>
-
-	<style>
-.top {
-	vertical-align: top;
-}
-
-.info {
-	height: 202px;
-	overflow: auto;
-}
-</style>
-	<h:form>
-		<h:panelGrid columns="2" columnClasses="top,top">
-			<rich:fileUpload fileUploadListener="#{fileUploadBean.listener}"
-				maxFilesQuantity="#{fileUploadBean.uploadsAvailable}" id="upload"
-				acceptedTypes="jpg, gif, png, bmp">
-				<a4j:ajax event="uploadcomplete" execute="@none" render="info" />
-			</rich:fileUpload>
-			<h:panelGroup id="info">
-				<rich:panel bodyClass="info">
-					<f:facet name="header">
-						<h:outputText value="Uploaded Files Info" />
-					</f:facet>
-					<h:outputText value="No files currently uploaded"
-						rendered="#{fileUploadBean.size==0}" />
-					<rich:dataGrid columns="1" value="#{fileUploadBean.files}"
-						var="file" rowKeyVar="row">
-						<rich:panel bodyClass="rich-laguna-panel-no-header">
-							<h:panelGrid columns="2">
-								<a4j:mediaOutput element="img" mimeType="#{file.mime}"
-									createContent="#{fileUploadBean.paint}" value="#{row}"
-									style="width:100px; height:100px;" cacheable="false">
-									<f:param value="#{fileUploadBean.timeStamp}" name="time" />
-								</a4j:mediaOutput>
-								<h:panelGrid columns="2">
-									<h:outputText value="File Name:" />
-									<h:outputText value="#{file.name}" />
-									<h:outputText value="File Length(bytes):" />
-									<h:outputText value="#{file.length}" />
-								</h:panelGrid>
-							</h:panelGrid>
-						</rich:panel>
-					</rich:dataGrid>
-				</rich:panel>
-				<br />
-				<a4j:commandButton action="#{fileUploadBean.clearUploadData}"
-					render="info, upload" value="Clear Uploaded Data"
-					rendered="#{fileUploadBean.size>0}" />
-			</h:panelGroup>
-		</h:panelGrid>
-	</h:form>
-</ui:composition>
-
-</html>
\ No newline at end of file

Copied: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml (from rev 20482, trunk/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml)
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml	                        (rev 0)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/fileUpload/samples/imgUpload-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,63 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://java.sun.com/jsf/html"
+	xmlns:f="http://java.sun.com/jsf/core"
+	xmlns:ui="http://java.sun.com/jsf/facelets"
+	xmlns:a4j="http://richfaces.org/a4j"
+	xmlns:rich="http://richfaces.org/rich">
+
+<ui:composition>
+
+	<style>
+.top {
+	vertical-align: top;
+}
+
+.info {
+	height: 202px;
+	overflow: auto;
+}
+</style>
+	<h:form>
+		<h:panelGrid columns="2" columnClasses="top,top">
+			<rich:fileUpload fileUploadListener="#{fileUploadBean.listener}"
+				maxFilesQuantity="#{fileUploadBean.uploadsAvailable}" id="upload"
+				acceptedTypes="jpg, gif, png, bmp">
+				<a4j:ajax event="uploadcomplete" execute="@none" render="info" />
+			</rich:fileUpload>
+			<h:panelGroup id="info">
+				<rich:panel bodyClass="info">
+					<f:facet name="header">
+						<h:outputText value="Uploaded Files Info" />
+					</f:facet>
+					<h:outputText value="No files currently uploaded"
+						rendered="#{fileUploadBean.size==0}" />
+					<rich:dataGrid columns="1" value="#{fileUploadBean.files}"
+						var="file" rowKeyVar="row">
+						<rich:panel bodyClass="rich-laguna-panel-no-header">
+							<h:panelGrid columns="2">
+								<a4j:mediaOutput element="img" mimeType="#{file.mime}"
+									createContent="#{fileUploadBean.paint}" value="#{row}"
+									style="width:100px; height:100px;" cacheable="false">
+									<f:param value="#{fileUploadBean.timeStamp}" name="time" />
+								</a4j:mediaOutput>
+								<h:panelGrid columns="2">
+									<h:outputText value="File Name:" />
+									<h:outputText value="#{file.name}" />
+									<h:outputText value="File Length(bytes):" />
+									<h:outputText value="#{file.length}" />
+								</h:panelGrid>
+							</h:panelGrid>
+						</rich:panel>
+					</rich:dataGrid>
+				</rich:panel>
+				<br />
+				<a4j:commandButton action="#{fileUploadBean.clearUploadData}"
+					render="info, upload" value="Clear Uploaded Data"
+					rendered="#{fileUploadBean.size>0}" />
+			</h:panelGroup>
+		</h:panelGrid>
+	</h:form>
+</ui:composition>
+
+</html>
\ No newline at end of file

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSlider/samples/sliders-sample.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSlider/samples/sliders-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/inputNumberSlider/samples/sliders-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -8,22 +8,22 @@ 	<p>Here is an example of default inputNumberSlider:</p>-	<rich:inputNumberSlider value="#{50}" />
+	<rich:inputNumberSlider value="50" /> 	<p>Here is "minimalistic" input:</p>-	<rich:inputNumberSlider value="#{50}" showInput="false"
+	<rich:inputNumberSlider value="50" showInput="false"
 		enableManualInput="false" showBoundaryValues="false"
-		showToolTip="false" />
+		showTooltip="false" /> 	<p>Another variation of input:</p>-	<rich:inputNumberSlider value="#{500}" width="500" maxValue="#{1000}"
-		step="#{50}" showArrows="true" showToolTip="false" />
+	<rich:inputNumberSlider value="500" width="500" maxValue="1000"
+		step="50" showArrows="true" showTooltip="false" /> 	<p>The same variant but the control disabled:</p>-	<rich:inputNumberSlider value="#{500}" width="500" maxValue="#{1000}"
-		step="#{50}" showArrows="true" showToolTip="false" disabled="true" />
+	<rich:inputNumberSlider value="500" width="500" maxValue="1000"
+		step="50" showArrows="true" showTooltip="false" disabled="true" /> </ui:composition>
\ No newline at end of file

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/samples/subTableToggleControl-sample.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/samples/subTableToggleControl-sample.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/samples/subTableToggleControl-sample.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -33,10 +33,10 @@
 				</rich:columnGroup>
 			</f:facet>
 			<rich:column colspan="6">
-				<rich:subTableToggleControl for="sbtbl" />
+				<rich:collapsibleSubTableToggler for="sbtbl" />
 				<h:outputText value="#{list.vendor}" />
 			</rich:column>
-			<rich:subTable value="#{list.vendorItems}" var="item" id="sbtbl"
+			<rich:collapsibleSubTable value="#{list.vendorItems}" var="item" id="sbtbl"
 				expandMode="client">
 				<rich:column>
 					<h:outputText value="#{item.model}" />
@@ -59,7 +59,7 @@
 				<f:facet name="footer">
 					<h:outputText value="Total of #{list.vendor} Cars: #{list.count}" />
 				</f:facet>
-			</rich:subTable>
+			</rich:collapsibleSubTable>
 		</rich:dataTable>
 	</h:form>
 </ui:composition>
\ No newline at end of file

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/subTableToggleControl.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/subTableToggleControl.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/subTableToggleControl/subTableToggleControl.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -6,9 +6,9 @@ <ui:composition>
 	<p>This sample shows simple master-detail table implemented using<b>
-	rich:dataTable</b> and<b> rich:subtable</b> components</p>
+	rich:dataTable</b> and<b> rich:collapsibleSubtable</b> components</p>
 	<p>There is one feature which is completely new for 4.x - subtables
-	now could be collapsed/expanded by using new component <b>rich:subTableToggleControl</b></p>
+	now could be collapsed/expanded by using new component <b>rich:collapsibleSubTableToggler</b></p>
 	<p>Switching customization:</p>
 	<ul>
 		<li>subTable's could be collapsed/expanded in different modes

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp/richfaces/tooltip/tooltip.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -5,10 +5,10 @@
 	xmlns:ui="http://java.sun.com/jsf/facelets"> <ui:composition>
-	<p>ToolTip is a small non-modal pop-up that could be used to
+	<p>Tooltip is a small non-modal pop-up that could be used to
 	display additional information, that is usually hidden.<br />
 	</p>
-	<p>Major toolTip features:</p>
+	<p>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>

Modified: branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/web.xml
===================================================================
--- branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/web.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/examples/richfaces-showcase/src/main/webapp-gae/WEB-INF/web.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -24,6 +24,14 @@
         <param-name>org.richfaces.enableControlSkinningClasses</param-name>
         <param-value>false</param-value>
     </context-param>
+	<context-param>
+		<param-name>org.richfaces.fileUpload.maxRequestSize</param-name>
+		<param-value>100000</param-value>
+	</context-param>
+	<context-param>
+		<param-name>org.richfaces.fileUpload.createTempFiles</param-name>
+		<param-value>false</param-value>
+	</context-param>    
     <context-param>
         <param-name>org.richfaces.skin</param-name>
         <param-value>#{skinBean.skin}</param-value>

Modified: branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxChildrenRenderer.java
===================================================================
--- branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxChildrenRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxChildrenRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -72,7 +72,7 @@             // Do not check children if we have no id to render under naming
             // container.
-            if (AjaxContext.getCurrentInstance(context).isLimitToList() && noIdUnderPath(path, ids)) {
+            if (AjaxContext.getCurrentInstance(context).isDisableImplicitRender() && noIdUnderPath(path, ids)) {
                 return;
             }
         }
@@ -113,7 +113,7 @@         if (component.isRendered()) { // skip not-rendered components.
             boolean found = false;
-            boolean limitToList = AjaxContext.getCurrentInstance(context).isLimitToList();
+            boolean disableImplicitRender = AjaxContext.getCurrentInstance(context).isDisableImplicitRender();
             String elementId = component.getId();
             String absoluteId = currentPath + elementId;@@ -133,12 +133,12 @@
             }             //
-            if (!found && limitToList && (component instanceof NamingContainer)
+            if (!found && disableImplicitRender && (component instanceof NamingContainer)
                 && noIdUnderPath(absoluteId + NamingContainer.SEPARATOR_CHAR, ids)) {
                 return;
             }-            if (!found && !limitToList && (component instanceof AjaxOutput)) {
+            if (!found && !disableImplicitRender && (component instanceof AjaxOutput)) {
                 if (((AjaxOutput) component).isAjaxRendered()) {                     // renderChild(context, element);

Deleted: branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxEventOptions.java
===================================================================
--- branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxEventOptions.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxEventOptions.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,120 +0,0 @@
-/**
- * License Agreement.
- *
- * Rich Faces - Natural Ajax for Java Server Faces (JSF)
- *
- * 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.renderkit;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import org.ajax4jsf.javascript.ScriptStringBase;
-import org.ajax4jsf.javascript.ScriptUtils;
-
-/**
- * @author Nick Belaevski
- * @since 4.0
- */
-public class AjaxEventOptions extends ScriptStringBase {
-
-    public static final String PARAMETERS = "parameters";
-
-    public static final String CLIENT_PARAMETERS = "clientParameters";
-
-    private Map<String, Object> options = new HashMap<String, Object>();
-
-    public void appendScript(Appendable target) throws IOException {
-        ScriptUtils.appendScript(target, options);
-    }
-
-    public boolean isEmpty() {
-        return options.isEmpty();
-    }
-
-    public Object get(String optionName) {
-        return options.get(optionName);
-    }
-
-    public void set(String optionName, Object optionValue) {
-        options.put(optionName, optionValue);
-    }
-
-    public void remove(String optionName) {
-        options.remove(optionName);
-    }
-
-    public boolean hasParameters() {
-        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
-
-        return (parameters != null) && !parameters.isEmpty();
-    }
-
-    // TODO: optimize rendered data
-    public Map<String, Object> getParameters() {
-        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
-
-        if (parameters == null) {
-            parameters = new LinkedHashMap<String, Object>();
-            options.put(PARAMETERS, parameters);
-        }
-
-        return parameters;
-    }
-
-    public Object getParameter(String parameterName) {
-        Object result = null;
-        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
-
-        if (parameters != null) {
-            result = parameters.get(parameterName);
-        }
-
-        return result;
-    }
-
-    public void setParameter(String parameterName, Object parameterValue) {
-        getParameters().put(parameterName, parameterValue);
-    }
-
-    public void removeParameter(String parameterName) {
-        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
-
-        if (parameters != null) {
-            parameters.remove(parameterName);
-        }
-    }
-    
-    public Object getClientParameters() {
-        return options.get(CLIENT_PARAMETERS);
-    }
-    
-    public void setClientParameters(Object value) {
-        options.put(CLIENT_PARAMETERS, value);
-    }
-    
-    public Object getAjaxComponent() {
-        return getParameter(AjaxConstants.AJAX_COMPONENT_ID_PARAMETER);
-    }
-    
-    public void setAjaxComponent(Object ajaxComponent) {
-        getParameters().put(AjaxConstants.AJAX_COMPONENT_ID_PARAMETER, ajaxComponent);
-    }
-}

Copied: branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxFunction.java (from rev 20482, trunk/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxFunction.java)
===================================================================
--- branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxFunction.java	                        (rev 0)
+++ branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxFunction.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+
+import org.ajax4jsf.javascript.JSReference;
+import org.ajax4jsf.javascript.ScriptStringBase;
+import org.ajax4jsf.javascript.ScriptUtils;
+
+/**
+ * @author Nick Belaevski
+ * 
+ */
+public class AjaxFunction extends ScriptStringBase {
+
+    public static final String FUNCTION_NAME = "RichFaces.ajax";
+
+    private Object source;
+    
+    private Object event = JSReference.EVENT;
+    
+    private AjaxOptions options;
+    
+    public AjaxFunction(Object source, AjaxOptions options) {
+        super();
+        this.source = source;
+        this.options = options;
+    }
+
+    public Object getSource() {
+        return source;
+    }
+    
+    public void setSource(Object source) {
+        this.source = source;
+    }
+    
+    public Object getEvent() {
+        return event;
+    }
+    
+    public void setEvent(Object event) {
+        this.event = event;
+    }
+    
+    public AjaxOptions getOptions() {
+        return options;
+    }
+    
+    public void setOptions(AjaxOptions eventOptions) {
+        this.options = eventOptions;
+    }
+    
+    public void appendScript(Appendable target) throws IOException {
+        target.append(FUNCTION_NAME);
+        target.append('(');
+        
+        ScriptUtils.appendScript(target, source);
+        target.append(',');
+        ScriptUtils.appendScript(target, event);
+
+        if (!options.isEmpty()) {
+            target.append(',');
+            ScriptUtils.appendScript(target, options);
+        }
+        
+        target.append(")");
+    }
+
+
+}

Copied: branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxOptions.java (from rev 20482, trunk/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxOptions.java)
===================================================================
--- branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxOptions.java	                        (rev 0)
+++ branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/AjaxOptions.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,128 @@
+/**
+ * License Agreement.
+ *
+ * Rich Faces - Natural Ajax for Java Server Faces (JSF)
+ *
+ * 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.renderkit;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.ajax4jsf.javascript.ScriptStringBase;
+import org.ajax4jsf.javascript.ScriptUtils;
+
+/**
+ * @author Nick Belaevski
+ * @since 4.0
+ */
+public class AjaxOptions extends ScriptStringBase {
+
+    public static final String PARAMETERS = "parameters";
+
+    public static final String CLIENT_PARAMETERS = "clientParameters";
+
+    private Map<String, Object> options = new HashMap<String, Object>();
+
+    public void appendScript(Appendable target) throws IOException {
+        ScriptUtils.appendScript(target, options);
+    }
+
+    public boolean isEmpty() {
+        return options.isEmpty();
+    }
+
+    public Object get(String optionName) {
+        return options.get(optionName);
+    }
+
+    public void set(String optionName, Object optionValue) {
+        options.put(optionName, optionValue);
+    }
+
+    public void remove(String optionName) {
+        options.remove(optionName);
+    }
+
+    public boolean hasParameters() {
+        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
+
+        return (parameters != null) && !parameters.isEmpty();
+    }
+
+    // TODO: optimize rendered data
+    public Map<String, Object> getParameters() {
+        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
+
+        if (parameters == null) {
+            parameters = new LinkedHashMap<String, Object>();
+            options.put(PARAMETERS, parameters);
+        }
+
+        return parameters;
+    }
+
+    public Object getParameter(String parameterName) {
+        Object result = null;
+        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
+
+        if (parameters != null) {
+            result = parameters.get(parameterName);
+        }
+
+        return result;
+    }
+
+    public void setParameter(String parameterName, Object parameterValue) {
+        getParameters().put(parameterName, parameterValue);
+    }
+
+    public void addParameters(Map<String, Object> params) {
+        if (params == null || params.isEmpty()) {
+            return;
+        }
+        
+        getParameters().putAll(params);
+    }
+    
+    public void removeParameter(String parameterName) {
+        @SuppressWarnings("unchecked") Map<String, Object> parameters = (Map<String, Object>) options.get(PARAMETERS);
+
+        if (parameters != null) {
+            parameters.remove(parameterName);
+        }
+    }
+    
+    public Object getClientParameters() {
+        return options.get(CLIENT_PARAMETERS);
+    }
+    
+    public void setClientParameters(Object value) {
+        options.put(CLIENT_PARAMETERS, value);
+    }
+    
+    public Object getAjaxComponent() {
+        return getParameter(AjaxConstants.AJAX_COMPONENT_ID_PARAMETER);
+    }
+    
+    public void setAjaxComponent(Object ajaxComponent) {
+        getParameters().put(AjaxConstants.AJAX_COMPONENT_ID_PARAMETER, ajaxComponent);
+    }
+}

Modified: branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/AjaxRendererUtils.java
===================================================================
--- branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/AjaxRendererUtils.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/AjaxRendererUtils.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -24,16 +24,20 @@
 import java.util.Map; import javax.faces.component.UIComponent;
+import javax.faces.component.behavior.ClientBehaviorContext;
 import javax.faces.context.FacesContext; import org.ajax4jsf.component.AjaxClientBehavior;
 import org.ajax4jsf.component.AjaxComponent;
 import org.ajax4jsf.context.AjaxContext;
-import org.ajax4jsf.javascript.JSFunction;
 import org.ajax4jsf.javascript.JSFunctionDefinition;
 import org.ajax4jsf.javascript.JSReference;
-import org.richfaces.renderkit.AjaxEventOptions;
+import org.richfaces.renderkit.AjaxConstants;
+import org.richfaces.renderkit.AjaxFunction;
+import org.richfaces.renderkit.AjaxOptions;
 import org.richfaces.renderkit.HtmlConstants;
+
+import com.google.common.base.Strings;
 /**
  * @author shura
  *         <p/>
@@ -45,10 +49,6 @@
     public static final String AJAX_AREAS_RENDERED = "org.ajax4jsf.areas.rendered";
     public static final String AJAX_DELAY_ATTR = "requestDelay";-    /**
-     * Name Javasript function for submit AJAX request
-     */
-    public static final String AJAX_FUNCTION_NAME = "RichFaces.ajax";     public static final String AJAX_QUEUE_ATTR = "eventsQueue";
     public static final String AJAX_SINGLE_ATTR = "ajaxSingle";
@@ -79,7 +79,7 @@
     private AjaxRendererUtils() {
     }-    private static enum BehaviorEventOptionsData {
+    private static enum BehaviorOptionsData {
         begin {
             @Override
             public String getAttributeValue(AjaxClientBehavior behavior) {
@@ -199,50 +199,58 @@
         return onEvent;
     }-    public static AjaxEventOptions buildEventOptions(FacesContext facesContext, UIComponent component) {
-        return buildEventOptions(facesContext, component, null);
+    //TODO make this function private
+    public static AjaxOptions buildEventOptions(FacesContext facesContext, UIComponent component) {
+        AjaxOptions ajaxOptions = new AjaxOptions();
+        appendComponentOptions(facesContext, component, ajaxOptions);
+
+        Map<String, Object> parametersMap = RENDERER_UTILS.createParametersMap(facesContext, component);
+        ajaxOptions.addParameters(parametersMap);
+        
+        return ajaxOptions;
     }-    public static AjaxEventOptions buildEventOptions(FacesContext facesContext, UIComponent component,
+    private static AjaxOptions buildAjaxOptions(ClientBehaviorContext behaviorContext,
                                                      AjaxClientBehavior ajaxBehavior) {
-        AjaxEventOptions ajaxEventOptions = new AjaxEventOptions();
+        FacesContext facesContext = behaviorContext.getFacesContext();
+        UIComponent component = behaviorContext.getComponent();
+        
+        AjaxOptions ajaxOptions = new AjaxOptions();
+
         Map<String, Object> parametersMap = RENDERER_UTILS.createParametersMap(facesContext, component);
-        String ajaxStatusName = getAjaxStatus(component);
-
-        if (ajaxBehavior != null) {
-            ajaxStatusName = (ajaxBehavior.getStatus() != null) ? ajaxBehavior.getStatus() : ajaxStatusName;
-            appenAjaxBehaviorOptions(ajaxBehavior, ajaxEventOptions);
-        } else {
-            appendComponentOptions(facesContext, component, ajaxEventOptions);
+        ajaxOptions.addParameters(parametersMap);
+        
+        String ajaxStatusName = ajaxBehavior.getStatus();
+        if (Strings.isNullOrEmpty(ajaxStatusName)) {
+            ajaxStatusName = getAjaxStatus(component);
         }
-
-        if ((ajaxStatusName != null) && (ajaxStatusName.length() != 0)) {
-            ajaxEventOptions.set(STATUS_ATTR_NAME, ajaxStatusName);
+        if (!Strings.isNullOrEmpty(ajaxStatusName)) {
+            ajaxOptions.set(STATUS_ATTR_NAME, ajaxStatusName);
         }-        if (!parametersMap.isEmpty()) {
-            ajaxEventOptions.getParameters().putAll(parametersMap);
-        }
+        appenAjaxBehaviorOptions(behaviorContext, ajaxBehavior, ajaxOptions);-        return ajaxEventOptions;
+        return ajaxOptions;
     }     private static boolean isNotEmpty(String value) {
         return (value != null) && (value.length() != 0);
     }-    private static void appenAjaxBehaviorOptions(AjaxClientBehavior behavior, AjaxEventOptions ajaxEventOptions) {
-        for (BehaviorEventOptionsData optionsData : BehaviorEventOptionsData.values()) {
-            String eventHandlerValue = optionsData.getAttributeValue(behavior);
+    private static void appenAjaxBehaviorOptions(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior, AjaxOptions ajaxOptions) {
+        ajaxOptions.setParameter(AjaxConstants.BEHAVIOR_EVENT_PARAMETER, behaviorContext.getEventName());
+        
+        for (BehaviorOptionsData optionsData : BehaviorOptionsData.values()) {
+            String optionValue = optionsData.getAttributeValue(behavior);-            if (isNotEmpty(eventHandlerValue)) {
-                ajaxEventOptions.set(optionsData.toString(), eventHandlerValue);
+            if (isNotEmpty(optionValue)) {
+                ajaxOptions.set(optionsData.toString(), optionValue);
             }
         }
     }     private static void appendComponentOptions(FacesContext facesContext, UIComponent component,
-                                               AjaxEventOptions ajaxEventOptions) {
+                                               AjaxOptions ajaxOptions) {
         String behaviorName = "begin";
         HandlersChain handlersChain = new HandlersChain(facesContext, component);
         String inlineHandler = getAjaxOnBegin(component);
@@ -253,15 +261,20 @@
         String handlerScript = handlersChain.toScript();         if (isNotEmpty(handlerScript)) {
-            ajaxEventOptions.set(behaviorName, handlerScript);
+            ajaxOptions.set(behaviorName, handlerScript);
         }         String queueId = getQueueId(component);
         if (isNotEmpty(queueId)) {
-            ajaxEventOptions.set(QUEUE_ID_ATTRIBUTE, queueId);
+            ajaxOptions.set(QUEUE_ID_ATTRIBUTE, queueId);
         }
         
-        ajaxEventOptions.set("incId", "1");
+        ajaxOptions.set("incId", "1");
+        
+        String status = getAjaxStatus(component);
+        if (!Strings.isNullOrEmpty(status)) {
+            ajaxOptions.set(STATUS_ATTR_NAME, status);
+        }
     } //  public static AjaxEventOptions buildEventOptions(FacesContext facesContext,
@@ -346,7 +359,7 @@
 //          options.put("parameters", parameters);
 //      }
 //      // parameter to render only current list of areas.
-////        if (isAjaxLimitToList(uiComponent)) {
+////        if (isAjaxDisableImplicitRender(uiComponent)) {
 ////            Set<? extends Object> ajaxAreas = getAjaxAreas(uiComponent);
 ////            Set<String> areasIds = new HashSet<String>();
 ////            if (null != ajaxAreas) {
@@ -456,16 +469,29 @@
      * @param functionName
      * @return
      */
-    public static JSFunction buildAjaxFunction(FacesContext facesContext, UIComponent uiComponent,
-                                               String functionName) {
-        JSFunction ajaxFunction = new JSFunction(functionName);
+    public static AjaxFunction buildAjaxFunction(FacesContext facesContext, UIComponent component) {
+        return new AjaxFunction(component.getClientId(facesContext), buildEventOptions(facesContext, component));
+    }-        ajaxFunction.addParameter(uiComponent.getClientId(facesContext));
-        ajaxFunction.addParameter(JSReference.EVENT);
+    public static AjaxFunction buildAjaxFunction(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior) {
+        Object source;
+        
+        AjaxOptions options = buildAjaxOptions(behaviorContext, behavior);-        return ajaxFunction;
+        if (behaviorContext.getSourceId() != null) {
+            source = behaviorContext.getSourceId();
+        } else {
+            source = JSReference.THIS;
+            
+            FacesContext facesContext = behaviorContext.getFacesContext();
+            UIComponent component = behaviorContext.getComponent();
+            
+            options.set("sourceId", component.getClientId(facesContext));
+        }
+        
+        return new AjaxFunction(source, options);
     }
-
+    
     /**
      * Append common parameters ( array of affected areas, status area id, on
      * complete function ) to JavaScript event string.
@@ -481,7 +507,7 @@
     // Set ajaxAreas = getAjaxAreas(uiComponent);
     // onClick.append(',');
     // // parameter to render only current list of areas.
-    // if (isAjaxLimitToList(uiComponent) && ajaxAreas != null &&
+    // if (isAjaxDisableImplicitRender(uiComponent) && ajaxAreas != null &&
     // ajaxAreas.size() > 0)
     // {
     // onClick.append('[');

Modified: branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/HandlersChain.java
===================================================================
--- branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/HandlersChain.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/common/ui/src/main/java/org/richfaces/renderkit/util/HandlersChain.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -21,9 +21,7 @@ package org.richfaces.renderkit.util;-import static org.richfaces.renderkit.util.AjaxRendererUtils.AJAX_FUNCTION_NAME;
 import static org.richfaces.renderkit.util.AjaxRendererUtils.buildAjaxFunction;
-import static org.richfaces.renderkit.util.AjaxRendererUtils.buildEventOptions; import java.util.ArrayList;
 import java.util.Collection;
@@ -41,7 +39,7 @@ import org.ajax4jsf.javascript.JSFunction;
 import org.ajax4jsf.javascript.JSReference;
-import org.richfaces.renderkit.AjaxEventOptions;
+import org.ajax4jsf.javascript.ScriptString; /**
  * @author Nick Belaevski
@@ -169,13 +167,7 @@
         if (!this.hasSubmittingBehavior()) {
             hasSubmittingBehavior = true;
             
-            JSFunction ajaxFunction = buildAjaxFunction(facesContext, component, AJAX_FUNCTION_NAME);
-            AjaxEventOptions eventOptions = buildEventOptions(facesContext, component);
-
-            if (!eventOptions.isEmpty()) {
-                ajaxFunction.addParameter(eventOptions);
-            }
-
+            ScriptString ajaxFunction = buildAjaxFunction(facesContext, component);
             this.addInlineHandlerAsValue(ajaxFunction.toScript());
         }
     }

Modified: branches/RF-8742-1/ui/core/ui/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java
===================================================================
--- branches/RF-8742-1/ui/core/ui/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/core/ui/src/main/java/org/ajax4jsf/renderkit/AjaxBehaviorRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -22,8 +22,6 @@ package org.ajax4jsf.renderkit;-import static org.richfaces.renderkit.AjaxConstants.BEHAVIOR_EVENT_PARAMETER;
-
 import javax.faces.application.ResourceDependency;
 import javax.faces.component.ActionSource;
 import javax.faces.component.EditableValueHolder;
@@ -37,10 +35,7 @@
 import javax.faces.render.FacesBehaviorRenderer;
 import javax.faces.render.RenderKitFactory;-import org.ajax4jsf.component.AjaxClientBehavior;
 import org.ajax4jsf.component.behavior.AjaxBehavior;
-import org.ajax4jsf.javascript.JSFunction;
-import org.richfaces.renderkit.AjaxEventOptions;
 import org.richfaces.renderkit.util.AjaxRendererUtils;
 import org.richfaces.renderkit.util.RendererUtils;@@ -126,21 +121,7 @@
     }     public String buildAjaxCommand(ClientBehaviorContext bContext, AjaxBehavior behavior) {
-        UIComponent parent = bContext.getComponent();
-        FacesContext context = bContext.getFacesContext();
-        JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, parent,
-                                      AjaxRendererUtils.AJAX_FUNCTION_NAME);
-        AjaxEventOptions options = buildOptions(context, bContext, behavior);
-        ajaxFunction.addParameter(options);
-        return ajaxFunction.toString();
+        return AjaxRendererUtils.buildAjaxFunction(bContext, behavior).toString();
     }-    public AjaxEventOptions buildOptions(FacesContext context, ClientBehaviorContext bContext,
-            AjaxClientBehavior behavior) {
-        UIComponent parent = bContext.getComponent();
-        String eventName = bContext.getEventName();
-        AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(context, parent, behavior);
-        options.setParameter(BEHAVIOR_EVENT_PARAMETER, eventName);
-        return options;
-    }
 }

Modified: branches/RF-8742-1/ui/core/ui/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java
===================================================================
--- branches/RF-8742-1/ui/core/ui/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/core/ui/src/main/java/org/richfaces/renderkit/AjaxFunctionRendererBase.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -31,7 +31,6 @@
 import javax.faces.component.UIParameter;
 import javax.faces.context.FacesContext;-import org.ajax4jsf.javascript.JSFunction;
 import org.ajax4jsf.javascript.JSFunctionDefinition;
 import org.ajax4jsf.javascript.JSReference;
 import org.ajax4jsf.javascript.ScriptUtils;
@@ -54,17 +53,13 @@         // func.setName(component.getName());
         // Create AJAX Submit function.
-        JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, component,
-                                      AjaxRendererUtils.AJAX_FUNCTION_NAME);
-        AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(context, component);
+        AjaxFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, component);
+        ajaxFunction.setEvent(null);
+        AjaxOptions options = ajaxFunction.getOptions();         if (options.hasParameters()) {
             Map<String, Object> parameters = options.getParameters();-//          if (null == parameters) {
-//              parameters = new HashMap<String, Object>();
-//              options.put("parameters", parameters);
-//          }
             // Fill parameters.
             for (Iterator<UIComponent> it = component.getChildren().iterator(); it.hasNext(); ) {
                 UIComponent child = it.next();
@@ -88,12 +83,7 @@
             }
         }-        if (!options.isEmpty()) {
-            ajaxFunction.addParameter(options);
-        }
-
         // TODO - added in 4.0 - ?
-        func.addParameter(JSReference.EVENT);
         func.addToBody(ajaxFunction.toScript());
         func.appendScriptToStringBuilder(script);
Deleted: branches/RF-8742-1/ui/core/ui/src/main/templates/org/ajax4jsf/renderkit/html/log.jspx
===================================================================
--- branches/RF-8742-1/ui/core/ui/src/main/templates/org/ajax4jsf/renderkit/html/log.jspx	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/core/ui/src/main/templates/org/ajax4jsf/renderkit/html/log.jspx	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<f:root 
-	xmlns:f="http://jsf.exadel.com/template" 
-	xmlns:c=" http://java.sun.com/jsf/core" 
-	xmlns:ui=" http://jsf.exadel.com/ui"
-	xmlns:vcp=" http://jsf.exadel.com/vcp"
-	xmlns:u=" http://jsf.exadel.com/vcp"
-	xmlns:x=" http://jsf.exadel.com/vcp"
-	class="org.ajax4jsf.renderkit.html.LogRenderer"
-	baseclass="org.ajax4jsf.renderkit.AjaxComponentRendererBase"
-	component="org.ajax4jsf.component.UIAjaxLog" 
-	xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0" >
-	<jsp:directive.page import="javax.faces.context.FacesContext,javax.faces.component.UIComponent"/>
-	<f:clientid var="clientId"/>
-	<jsp:scriptlet> if(component.isPopup()){</jsp:scriptlet>
-	<script 
-		id="#{clientId}"
-		type="text/javascript"
-		>
-		LOG.registerPopup('#{component.hotkey}','#{component.name}',#{component.width},#{component.height},LOG.#{component.level});
-	</script>
-	<jsp:scriptlet>} else {</jsp:scriptlet>
-		<div id="logConsole"
-		x:style='width:#{component.width};height:#{component.height};overflow:auto;#{component.attributes["style"]}'
-		x:passThruWithExclusions="value,name,id,style"
-		>
-			<button onclick="LOG.clear()">Clear</button><br />
-			<script type="text/javascript">
-				LOG.LEVEL = LOG.#{component.level};
-			</script>
-		</div>
-	<jsp:scriptlet> } </jsp:scriptlet>
-</f:root>

Modified: branches/RF-8742-1/ui/dist/richfaces-components-ui/pom.xml
===================================================================
--- branches/RF-8742-1/ui/dist/richfaces-components-ui/pom.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/dist/richfaces-components-ui/pom.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -74,10 +74,6 @@
             <groupId>org.richfaces.core</groupId>
             <artifactId>richfaces-core-api</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-        </dependency>         <dependency>
             <groupId>javax.servlet</groupId>

Modified: branches/RF-8742-1/ui/dnd/ui/pom.xml
===================================================================
--- branches/RF-8742-1/ui/dnd/ui/pom.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/dnd/ui/pom.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -56,10 +56,6 @@
             <artifactId>richfaces-core-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.richfaces.ui.common</groupId>
             <artifactId>richfaces-ui-common-ui</artifactId>
         </dependency>

Modified: branches/RF-8742-1/ui/input/ui/pom.xml
===================================================================
--- branches/RF-8742-1/ui/input/ui/pom.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/pom.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -52,10 +52,6 @@
             <groupId>org.richfaces.core</groupId>
             <artifactId>richfaces-core-api</artifactId>
         </dependency>
-       <dependency>
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-        </dependency>
         <dependency>
             <groupId>org.richfaces.ui.common</groupId>
             <artifactId>richfaces-ui-common-ui</artifactId>

Modified: branches/RF-8742-1/ui/input/ui/src/main/config/faces-config.xml
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/config/faces-config.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/config/faces-config.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -183,7 +183,7 @@
 			</property-extension>
 		</property>
 		<property>
-			<property-name>showToolTip</property-name>
+			<property-name>showTooltip</property-name>
 			<property-class>boolean</property-class>
 			<default-value>true</default-value>
 			<property-extension>
@@ -221,7 +221,7 @@
 			</property-extension>
 		</property>
 		<property>
-			<property-name>toolTipClass</property-name>
+			<property-name>tooltipClass</property-name>
 			<property-class>java.lang.String</property-class>
 			<property-extension>
 				<cdk:generate>true</cdk:generate>

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -78,13 +78,11 @@     public static final String COMPONENT_FAMILY = "org.richfaces.Calendar";-    public static final String SUB_TIME_PATTERN = "\\s*[hHkKma]+[\\W&&\\S]+[hHkKma]+\\s*";
+    public static final String SUB_TIME_PATTERN = "\\s*[hHkKma]+[\\W&&\\S]+[hHkKma]+[\\W&&\\S]*[s]*\\s*";-    public static final String TIME_PATTERN = "HH:mm";
+    public static final String TIME_PATTERN = "HH:mm:ss";     public static final String DEFAULT_DATE_PATTERN = "MMM d, yyyy";
-    
-    public static final String DEFAULT_DATE_VALUE = "12:00:00";     Logger log = RichfacesLogger.COMPONENTS.getLogger();@@ -95,9 +93,8 @@
     public enum Modes {
         CLIENT,
         AJAX
-    }
+    }    
     
-    
     @Attribute(defaultValue = "MMM d, yyyy")
     public abstract String getDatePattern();@@ -159,10 +156,10 @@
     public abstract String getBoundaryDatesMode();     @Attribute(defaultValue = "0")
-    public abstract String getHorizontalOffset();
+    public abstract int getHorizontalOffset();     @Attribute(defaultValue = "0")
-    public abstract String getVerticalOffset();
+    public abstract int getVerticalOffset();     @Attribute(defaultValue = "3")
     public abstract int getZindex();
@@ -218,7 +215,7 @@
     @Attribute
     public abstract String getButtonIconDisabled();-    @Attribute(defaultValue = "AbstractCalendar.DEFAULT_DATE_VALUE")
+    @Attribute(defaultValue = "getDefaultValueOfDefaultTime(null,null)")
     public abstract Object getDefaultTime();
     
     @Attribute(defaultValue = "getDefaultPreloadBegin(getCurrentDateOrDefault())")
@@ -332,6 +329,8 @@
     public void setLocale(Object locale) {
         getStateHelper().put(PropertyKeys.locale, locale);
     }
+    
+         public void updateCurrentDate(FacesContext facesContext, Object currentDate) {
         if (facesContext == null) {
@@ -386,6 +385,18 @@
         return (CurrentDateChangeListener[]) getFacesListeners(CurrentDateChangeListener.class);
     }
     
+    public static Object getDefaultValueOfDefaultTime(FacesContext facesContext, AbstractCalendar calendarComponent) {
+        if (calendarComponent == null) {
+            return null;
+        }
+
+        Calendar calendar = CalendarHelper.getCalendar(facesContext, calendarComponent);
+        calendar.set(Calendar.HOUR_OF_DAY, 12);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        return calendar.getTime();
+    }
+    
     protected Date getDefaultPreloadBegin(Date date) {
         FacesContext facesContext = FacesContext.getCurrentInstance();
         Calendar calendar = Calendar.getInstance(getTimeZone(),

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractSelectComponent.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractSelectComponent.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/component/AbstractSelectComponent.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -118,8 +118,8 @@
     @Attribute(events=@EventName("listkeyup"))
     public abstract String getOnlistkeyup();
     
-    @Attribute(events=@EventName("select"))
-    public abstract String getOnselect();
+    @Attribute(events=@EventName("selectitem"))
+    public abstract String getOnselectitem();
     
     @Attribute(events=@EventName("change"))
     public abstract String getOnchange();

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/context/FileUploadPartialViewContextFactory.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/context/FileUploadPartialViewContextFactory.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/context/FileUploadPartialViewContextFactory.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -93,8 +93,8 @@
             if (maxRequestSize != 0 && externalContext.getRequestContentLength() > maxRequestSize) {
                 printResponse(facesContext, uid, ResponseState.sizeExceeded);
             } else {
-                MultipartRequest multipartRequest = new MultipartRequest(request, createTempFiles,
-                    tempFilesDirectory, maxRequestSize, uid);
+                MultipartRequest multipartRequest = new MultipartRequest(request, createTempFiles, tempFilesDirectory,
+                    uid);
                 try {
                     multipartRequest.parseRequest();
                     if (!multipartRequest.isDone()) {

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/AutocompleteRendererBase.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/AutocompleteRendererBase.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/AutocompleteRendererBase.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -46,14 +46,12 @@ import org.ajax4jsf.context.AjaxContext;
 import org.ajax4jsf.javascript.JSReference;
+import org.ajax4jsf.javascript.ScriptUtils;
 import org.richfaces.component.AbstractAutocomplete;
 import org.richfaces.component.AutocompleteLayout;
 import org.richfaces.component.MetaComponentResolver;
 import org.richfaces.component.util.InputUtils;-import com.google.common.base.Predicates;
-import com.google.common.collect.Iterators;
-
 /**
  * @author Nick Belaevski
  */
@@ -196,6 +194,7 @@
         if (mode != null && mode.equals("client")) {
             List<Object> fetchValues = new ArrayList<Object>();
             this.encodeItems(facesContext, component, fetchValues);
+            this.encodeFetchValues(facesContext, component, fetchValues);
         } else {
             strategy.encodeItemsContainerBegin(facesContext, component);
             // TODO: is it needed
@@ -203,6 +202,18 @@
             strategy.encodeItemsContainerEnd(facesContext, component);
         }
     }
+    
+    private void encodeFetchValues(FacesContext facesContext, UIComponent component, List<Object> fetchValues) throws IOException{
+        if (!fetchValues.isEmpty()) {
+            ResponseWriter writer = facesContext.getResponseWriter();
+            writer.startElement(HtmlConstants.SCRIPT_ELEM, component);
+            writer.writeAttribute(HtmlConstants.TYPE_ATTR, "text/javascript", null);
+            StringBuilder sb = new StringBuilder("\njQuery(RichFaces.getDomElement('");
+            sb.append(component.getClientId(facesContext)).append("Items')).data({componentData:").append(ScriptUtils.toScript(fetchValues)).append("});\n");
+            writer.write(sb.toString());
+            writer.endElement(HtmlConstants.SCRIPT_ELEM);
+        }
+    }     public void encodeItem(FacesContext facesContext, AbstractAutocomplete comboBox, Object item,
                            AutocompleteEncodeStrategy strategy) throws IOException {
@@ -282,7 +293,7 @@
             encodeItems(context, component, fetchValues);
             partialWriter.endUpdate();-            if (!fetchValues.isEmpty() && Iterators.find(fetchValues.iterator(), Predicates.notNull()) != null) {
+            if (!fetchValues.isEmpty()) {
                 Map<String, Object> dataMap = AjaxContext.getCurrentInstance(context).getResponseComponentDataMap();
                 dataMap.put(component.getClientId(context), fetchValues);
             }

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/renderkit/CalendarRendererBase.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -407,7 +407,7 @@
             int minutes = calendar.get(Calendar.MINUTE);
             int seconds = calendar.get(Calendar.SECOND); 
             
-            if (hours != 12 || minutes != 0) {
+            if (hours != 12 || minutes != 0 || seconds != 0) {
                 result.put(HOURS_VALUE, hours);
                 result.put(MINUTES_VALUE, minutes);
                 result.put(SECONDS_VALUE, seconds);

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/FileParam.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/FileParam.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/FileParam.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -29,7 +29,7 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.rmi.server.UID;
+import java.util.UUID; import org.richfaces.exception.FileUploadException;
 import org.richfaces.log.Logger;
@@ -86,7 +86,7 @@
             if (tempFilesDirectory != null) {
                 dir = new File(tempFilesDirectory);
             }
-            tempFile = File.createTempFile(new UID().toString().replace(":", "-"), ".upload", dir);
+            tempFile = File.createTempFile(UUID.randomUUID().toString(), ".upload", dir);
             fOut = new FileOutputStream(tempFile);
         } catch (IOException ex) {
             if (fOut != null) {

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/MultipartRequest.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/MultipartRequest.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/request/MultipartRequest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -118,21 +118,11 @@     private HeadersHandler headersHandler = null;-    public MultipartRequest(HttpServletRequest request, boolean createTempFiles, String tempFilesDirectory,
-        int maxRequestSize, String uid) {
+    public MultipartRequest(HttpServletRequest request, boolean createTempFiles, String tempFilesDirectory, String uid) {
         super(request);
         this.createTempFiles = createTempFiles;
         this.tempFilesDirectory = tempFilesDirectory;
         this.uid = uid;
-
-        String contentLengthStr = request.getHeader("Content-Length");
-        this.contentLength = Integer.parseInt(contentLengthStr);
-        if (contentLengthStr != null && maxRequestSize > 0 && contentLength > maxRequestSize) {
-            // TODO : we should make decision if can generate exception in this
-            // place
-            // throw new FileUploadException(
-            // "Multipart request is larger than allowed size");
-        }
     }     private class ControlledProgressInputStream extends FilterInputStream {

Modified: branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/utils/CalendarHelper.java
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/utils/CalendarHelper.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/java/org/richfaces/utils/CalendarHelper.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -75,19 +75,8 @@
         }         return value;
-    }
+    }  -    public static Object getDefaultValueOfDefaultTime(FacesContext facesContext, AbstractCalendar calendarComponent) {
-        if (calendarComponent == null) {
-            return null;
-        }
-
-        Calendar calendar = getCalendar(facesContext, calendarComponent);
-        calendar.set(Calendar.HOUR_OF_DAY, 12);
-        calendar.set(Calendar.MINUTE, 0);
-        return calendar.getTime();
-    }
-
     public static Date getFormattedDefaultTime(AbstractCalendar calendar) {
         if (calendar == null || calendar.getDefaultTime() == null) {
             return null;
@@ -106,12 +95,11 @@
             String defaultTimeString = defaultTime.toString();
             String datePattern = calendar.getDatePattern();-            String timePattern = AbstractCalendar.TIME_PATTERN;
-            Pattern pattern = Pattern.compile(timePattern);
+            Pattern pattern = Pattern.compile(AbstractCalendar.SUB_TIME_PATTERN);
             Matcher matcher = pattern.matcher(datePattern);
-
-            String subTimePattern = AbstractCalendar.SUB_TIME_PATTERN;
-            if (matcher.find()) {
+            String subTimePattern = AbstractCalendar.TIME_PATTERN;          
+           
+            if(matcher.find()) {
                 subTimePattern = matcher.group().trim();
             }
Modified: branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/Autocomplete.js
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/Autocomplete.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/Autocomplete.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -137,8 +137,6 @@
 	};
 	
 	var REGEXP_TRIM = /^[\n\s]*(.*)[\n\s]*$/;
-	var REGEXP_TOKEN_LEFT;
-	var REGEXP_TOKEN_RIGHT;
 	
 	var getData = function (nodeList) {
 		var data = [];
@@ -152,8 +150,8 @@
 		this.useTokens = (typeof this.options.tokens == "string" && this.options.tokens.length>0);
 		if (this.useTokens) {
 			var escapedTokens = this.options.tokens.split('').join("\\");
-			REGEXP_TOKEN_LEFT = new RegExp('[^'+escapedTokens+']+$','i');
-			REGEXP_TOKEN_RIGHT = new RegExp('['+escapedTokens+']','i');
+			this.REGEXP_TOKEN_LEFT = new RegExp('[^'+escapedTokens+']+$','i');
+			this.REGEXP_TOKEN_RIGHT = new RegExp('['+escapedTokens+']','i');
 			this.hasSpaceToken = this.options.tokens.indexOf(' ')!=-1;
 		};
 	};
@@ -178,9 +176,12 @@
 	}; 	var updateItemsList = function (value, fetchValues) {
-		this.items = $(rf.getDomElement(this.id+ID.ITEMS)).find("."+this.options.itemClass);
+		var itemsContainer = $(rf.getDomElement(this.id+ID.ITEMS));
+		this.items = itemsContainer.find("."+this.options.itemClass);
+		var data = itemsContainer.data();
+		itemsContainer.removeData();
 		if (this.items.length>0) {
-			this.cache = new rf.utils.Cache((this.options.ajaxMode ? value : ""), this.items, fetchValues || getData, !this.options.ajaxMode);
+			this.cache = new rf.utils.Cache((this.options.ajaxMode ? value : ""), this.items, fetchValues || data.componentData || getData, !this.options.ajaxMode);
 		}
 	};@@ -353,12 +354,12 @@
 			var cursorPosition = rf.Selection.getStart(field);
 			var beforeCursorStr = value.substring(0, cursorPosition);
 			var afterCursorStr = value.substring(cursorPosition);
-			var r = REGEXP_TOKEN_LEFT.exec(beforeCursorStr);
+			var r = this.REGEXP_TOKEN_LEFT.exec(beforeCursorStr);
 			var result = "";
 			if (r) {
 				result = r[0];
 			}
-			r = afterCursorStr.search(REGEXP_TOKEN_RIGHT);
+			r = afterCursorStr.search(this.REGEXP_TOKEN_RIGHT);
 			if (r==-1) r = afterCursorStr.length;
 			result += afterCursorStr.substring(0, r);@@ -376,9 +377,9 @@
 		var beforeCursorStr = inputValue.substring(0, cursorPosition);
 		var afterCursorStr = inputValue.substring(cursorPosition);
 		
-		var pos = beforeCursorStr.search(REGEXP_TOKEN_LEFT);
+		var pos = beforeCursorStr.search(this.REGEXP_TOKEN_LEFT);
 		var startPos = pos!=-1 ? pos : beforeCursorStr.length;
-		pos = afterCursorStr.search(REGEXP_TOKEN_RIGHT);
+		pos = afterCursorStr.search(this.REGEXP_TOKEN_RIGHT);
 		var endPos = pos!=-1 ? pos : afterCursorStr.length;
 		
 		var beginNewValue = inputValue.substring(0, startPos) + value;

Modified: branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/AutocompleteBase.js
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/AutocompleteBase.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/AutocompleteBase.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -198,7 +198,7 @@
 					this.parentElement = element.parentNode;
 					$(element).detach().appendTo("body");
 				}
-				$(rf.getDomElement(this.selectId)).setPosition({id: this.fieldId}, {type:"DROPDOWN", offset:[0,20]}).show();
+				$(rf.getDomElement(this.selectId)).setPosition({id: this.fieldId}, {type:"DROPDOWN"}).show();
 				this.isVisible = true;
 				this.__onShow(event);
 			}

Modified: branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/calendar.js
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/calendar.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/calendar.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -342,7 +342,7 @@
 		}
 		this.params.labels = value;
 		
-		this.popupOffset = {dx:this.params.horizontalOffset, dy:this.params.verticalOffset};
+		this.popupOffset = [this.params.horizontalOffset, this.params.verticalOffset];
 			
 		//
 		if (!this.params.popup) this.params.showApplyButton = false;

Modified: branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/inplaceSelect.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -12,7 +12,8 @@
     	this.items = mergedOptions.items;
     	this.selValueInput = $(document.getElementById(id+"selValue"));
     	this.list = $(document.getElementById(id+"List"));
-    	this.list.bind("click", $.proxy(this.__onListClick, this));
+    	this.list.bind("mousedown", $.proxy(this.__onListMouseDown, this));
+    	this.list.bind("mouseup", $.proxy(this.__onListMouseUp, this));
     	this.openOnEdit = mergedOptions.openOnEdit;
     	this.saveOnSelect = mergedOptions.saveOnSelect;
     	this.savedIndex = -1;
@@ -98,7 +99,7 @@
            		
            		if(this.saveOnSelect) {
        				this.save();
-				} 
+				}
 			},
 			
 			getItemValue: function(item) {
@@ -169,20 +170,30 @@
 			},
 			
 			__blurHandler: function(e) {
-				if(this.isEditState()) {
-					this.timeoutId = window.setTimeout($.proxy(function(){
-						this.onblur();
-					}, this), 200);
-				}	
+				if(!this.isMouseDown) {
+					if(this.isEditState()) {
+						this.timeoutId = window.setTimeout($.proxy(function(){
+							this.onblur();
+						}, this), 200);
+					}	
+				} else {
+					this.__setInputFocus();
+	       			this.isMouseDown = false;
+				}
        		}, 
        		
        		__clickHandler: function(e) {
        			this.showPopup();
        		},-       		__onListClick: function(e) {
-       			window.clearTimeout(this.timeoutId);
-       		}       		
+       		__onListMouseDown: function(e) {
+       			this.isMouseDown = true;
+       		},
+       		
+       		__onListMouseUp: function(e) {
+       			this.isMouseDown = false;
+       			this.__setInputFocus();
+       		}
 		}
 		
 	})());

Modified: branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/select.js
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/select.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/resources/META-INF/resources/org.richfaces/select.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -115,16 +115,17 @@             if(mergedOptions.showControl) {
         		this.btn = $(document.getElementById(id+"Button"));
-        	   	this.btn.bind("click", $.proxy(this.__clickHandler, this));
-        	   	this.btn.mousedown($.proxy(this, function(){
-        	   		this.focusin = false;
-        	   	}));
+        	   	this.btn.bind("mousedown", $.proxy(this.__onBtnMouseDown, this));
+        	   	this.btn.bind("mouseup", $.proxy(this.__onMouseUp, this));
         	}
             
         	this.selectFirst = mergedOptions.selectFirst;
         	this.popupList = new rf.ui.PopupList((id+"List"), this, mergedOptions);
         	this.listElem =  $(document.getElementById(id+"List"));
-        	this.listElem.bind("click", $.proxy(this.__onListClick, this));
+        	
+        	this.listElem.bind("mousedown", $.proxy(this.__onListMouseDown, this));
+        	this.listElem.bind("mouseup", $.proxy(this.__onMouseUp, this));
+        	
     		this.items = this.popupList.__getItems();
         	this.enableManualInput = mergedOptions.enableManualInput; @@ -162,16 +163,15 @@
     		return{
     			name : "select", 
     			
-    			__clickHandler: function(e) {
+    			__onBtnMouseDown: function(e) {
     				if(!this.popupList.isVisible()) {
 						this.__updateItems();
     					this.showPopup();
     				} else {
     					this.hidePopup();
     				}
-    				this.__setInputFocus();
-           			window.clearTimeout(this.timeoutId);
-    			}, 
+           			this.isMouseDown = true;
+    			},
     			
     			__focusHandler: function(e) {
     				if (!this.focused) {
@@ -259,15 +259,25 @@
     			},
     			
     			__blurHandler: function(e) {
-    				this.timeoutId = window.setTimeout($.proxy(function(){
-        					this.onblur(e); 
-    				}, this), 200);
+    				if(!this.isMouseDown) {
+	    				this.timeoutId = window.setTimeout($.proxy(function(){
+	        					this.onblur(e); 
+	    				}, this), 200);
+    				} else {
+    					this.__setInputFocus();
+    					this.isMouseDown = false;
+    				}
     			},
            		
-           		__onListClick: function(e) {
-           			window.clearTimeout(this.timeoutId);
+           		__onListMouseDown: function(e) {
+           			this.isMouseDown = true;
            		},
            		
+           		__onMouseUp: function(e) {
+           			this.isMouseDown = false;
+           			this.__setInputFocus();	
+           		},
+           		
            		__updateItems: function() {
 					var newValue = this.getValue();
 					newValue = (newValue != this.defaultLabel) ? newValue : "";
@@ -287,6 +297,55 @@
 					}
     			},
     			
+    			__getClientItemFromCache: function(inputLabel) {
+    				var value; 
+    				var label;
+    				if(this.enableManualInput) {
+						var items = this.cache.getItems(inputLabel);
+						if(items && items.length > 0) {
+							var first = $(items[0]);
+							$.each(this.clientItems, function() {
+								if(this.id == first.attr("id")) {
+									label = this.label;
+									value = this.value;
+									return false;
+								}
+							});
+						} else {
+    						this.field.removeClass("rf-sel-fld-err");
+
+    						var prevValue =	this.selValueInput.val();
+							if(prevValue && prevValue != "") {
+								$.each(this.clientItems, function() {
+									if(this.value == prevValue) {
+										label = this.label;
+										value = this.value
+										return false;
+									}
+								});		
+							} 
+						}
+					} 
+    				
+    				if(label && value) {
+    					return {'label': label, 'value': value}; 
+    				}
+    			},
+    			
+    			__getClientItem: function(inputLabel) {
+    				var value;
+    				var label = inputLabel;
+    				$.each(this.clientItems, function(){
+    					if(label == this.label) {
+    						value = this.value;
+    					}
+    				}); 
+  				
+    				if(label && value) {
+    					return {'label': label, 'value': value}; 
+    				}
+    			},
+    			
     			showPopup: function() {
     				this.popupList.show();
     			},
@@ -307,38 +366,27 @@
     				this.setValue(label);
                		this.hidePopup();
                		this.__setInputFocus();
+
+               		this.invokeEvent.call(this,"selectitem", document.getElementById(this.id + 'Input'), e);
     			}, 
     			
     			onblur: function(e) {
     				this.hidePopup();
 					var value = "";
 					var label = this.defaultLabel;
+					var clientItem; 
 					var inputLabel = this.getValue();
 					if(inputLabel && inputLabel != "") {
-						var items = this.cache.getItems(inputLabel);					
-						if(items.length > 0) {
-							var first = $(items[0]);
-							$.each(this.clientItems, function() {
-								if(this.id == first.attr("id")) {
-									label = this.label;
-									value = this.value;
-									return false;
-								}
-							});
+						if(this.enableManualInput) {
+							clientItem = this.__getClientItemFromCache(inputLabel);
 						} else {
-    						this.field.removeClass("rf-sel-fld-err");
-							
-    						var prevValue =	this.selValueInput.val();
-							if(prevValue && prevValue != "") {
-								$.each(this.clientItems, function() {
-									if(this.value == prevValue) {
-										label = this.label;
-										value = this.value
-										return false;
-									}
-								});		
-							} 
+							clientItem = this.__getClientItem(inputLabel);
 						}
+						
+						if(clientItem) {
+							label = clientItem.label;
+							value = clientItem.value;
+						}
 					} 
 					
 					this.setValue(label);

Modified: branches/RF-8742-1/ui/input/ui/src/main/templates/inputnumberslider.template.xml
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/templates/inputnumberslider.template.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/templates/inputnumberslider.template.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -65,8 +65,8 @@
 				</c:if>
 				<xi:include xpointer="xpointer(/*)" href="input.template.inc" />
 			</c:if>
-			<c:if test="#{component.attributes['showToolTip']}">
-				<span class="rf-insl-tt #{component.attributes['toolTipClass']}">#{getInputValue(facesContext, component)}</span>
+			<c:if test="#{component.attributes['showTooltip']}">
+				<span class="rf-insl-tt #{component.attributes['tooltipClass']}">#{getInputValue(facesContext, component)}</span>
 			</c:if>
 			<!-- TODO Rewrite the next line when the CDK will support normal way to take event handlers from attributes and behaviors. -->
 			<cdk:object name="onchange" type="String" value="#{convertToString(RenderKitUtils.getAttributeAndBehaviorsValue(facesContext, component, RenderKitUtils.attributes().generic('onchange', 'onchange', 'change').first()))}" />

Modified: branches/RF-8742-1/ui/input/ui/src/main/templates/select.template.xml
===================================================================
--- branches/RF-8742-1/ui/input/ui/src/main/templates/select.template.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/input/ui/src/main/templates/select.template.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -23,7 +23,7 @@
             <div style="position : relative; overflow : hidden; text-align : left; padding-right : 18px;">
             	<input id="#{clientId}selValue" name="#{clientId}" type="hidden" value="#{getInputValue(facesContext, component)}"/>
             	<div id="#{clientId}Field"  class="rf-sel-fld">
-	            	<input cdk:passThroughWithExclusions="class autocomplete id value disabled name type readonly" 
+	            	<input cdk:passThroughWithExclusions="class autocomplete id value disabled name type readonly onchange onblur" 
 						id="#{clientId}Input" 
 						value="#{getSelectLabel(facesContext, component)}"  
 						disabled="#{disabled}" 
@@ -70,7 +70,7 @@
                     <cdk:scriptOption name="itemCss" value="#{concatClasses('rf-sel-opt', component.attributes['itemClass'])}" />
                     <cdk:scriptOption name="selectItemCss" value="#{concatClasses('rf-sel-sel', component.attributes['selectItemClass'])}" />
                     <cdk:scriptOption name="listCss" value="#{concatClasses('rf-sel-lst-cord', component.attributes['listClass'])}" />
-                    <cdk:scriptOption attributes="onchange onselect" wrapper="eventHandler"/>
+                    <cdk:scriptOption attributes="onbegin oncomplete onerror onbeforedomupdate onchange onblur onselectitem" wrapper="eventHandler"/>
 					<cdk:scriptOption attributes="showControl defaultLabel enableManualInput selectFirst" />
                 </cdk:scriptObject>
             	new RichFaces.ui.Select("#{clientId}", #{toScriptArgs(options)});

Modified: branches/RF-8742-1/ui/iteration/ui/pom-list.xml
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/pom-list.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/pom-list.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -46,11 +46,6 @@
             <artifactId>richfaces-core-api</artifactId>
         </dependency>
         <dependency>
-            <!-- todo remove this dependency or move to test scope -->
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.richfaces.cdk</groupId>
             <artifactId>annotations</artifactId>
             <scope>provided</scope>

Modified: branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDataIterator.java
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDataIterator.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableDataIterator.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -24,6 +24,7 @@ import java.util.Iterator;+import javax.faces.component.UIColumn;
 import javax.faces.component.UIComponent; 
@@ -43,7 +44,7 @@
         UIComponent nextColumn = null;
         while (nextColumn == null && childrenIterator.hasNext()) {
             UIComponent child = childrenIterator.next();
-            if ((child instanceof AbstractColumn) || (child instanceof Column)) {
+            if ((child instanceof UIColumn) || (child instanceof Column)) {
                 nextColumn = child;
             } 
         }

Modified: branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableFixedChildrenIterator.java
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableFixedChildrenIterator.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/component/DataTableFixedChildrenIterator.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -24,6 +24,7 @@ import java.util.Iterator;+import javax.faces.component.UIColumn;
 import javax.faces.component.UIComponent; 
@@ -47,7 +48,7 @@
             Iterator<UIComponent> childrenIterator = getChildrenIterator();
             while (next == null && childrenIterator.hasNext()) {
                 UIComponent child = childrenIterator.next();
-                if ((child instanceof AbstractColumn) && child.isRendered()) {
+                if ((child instanceof UIColumn) && child.isRendered()) {
                     currentColumnIterator = getChildFacetIterator(child);
                     next = nextItem();
                 } 

Modified: branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataScrollerBaseRenderer.java
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataScrollerBaseRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataScrollerBaseRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -312,18 +312,12 @@
         JSFunctionDefinition definition = new JSFunctionDefinition(JSReference.EVENT, new JSReference("element"),
             new JSReference("data"));-        JSFunction function = AjaxRendererUtils.buildAjaxFunction(facesContext, component,
-            AjaxRendererUtils.AJAX_FUNCTION_NAME);
-        AjaxEventOptions options = AjaxRendererUtils.buildEventOptions(facesContext, component);
+        AjaxFunction function = AjaxRendererUtils.buildAjaxFunction(facesContext, component);-        Map<String, Object> parameters = options.getParameters();
+        Map<String, Object> parameters = function.getOptions().getParameters();
         parameters.put(component.getClientId(facesContext) + ":page", new JSLiteral("data.page"));-        function.addParameter(options);
-
-        StringBuilder sb = new StringBuilder();
-        function.appendScriptToStringBuilder(sb);
-        definition.addToBody(sb);
+        definition.addToBody(function.toScript());
         return definition;
     }
     

Modified: branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/DataTableRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -295,10 +295,10 @@
         JSFunction function = new JSFunction("new RichFaces.ui.DataTable");
         function.addParameter(dataTable.getClientId(facesContext));-        AjaxEventOptions ajaxEventOptions = AjaxRendererUtils.buildEventOptions(facesContext, dataTable);
+        AjaxOptions ajaxOptions = AjaxRendererUtils.buildEventOptions(facesContext, dataTable);         Map<String, Object> options = new HashMap<String, Object>();
-        options.put("ajaxEventOptions", ajaxEventOptions.getParameters());
+        options.put("ajaxEventOptions", ajaxOptions.getParameters());
         function.addParameter(options);         writer.writeText(function.toScript(), null);

Modified: branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/ExtendedDataTableRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -23,9 +23,7 @@ import static org.richfaces.renderkit.RenderKitUtils.addToScriptHash;
 import static org.richfaces.renderkit.RenderKitUtils.renderAttribute;
-import static org.richfaces.renderkit.util.AjaxRendererUtils.AJAX_FUNCTION_NAME;
 import static org.richfaces.renderkit.util.AjaxRendererUtils.buildAjaxFunction;
-import static org.richfaces.renderkit.util.AjaxRendererUtils.buildEventOptions; import java.io.IOException;
 import java.util.ArrayList;
@@ -76,6 +74,8 @@
 })
 public class ExtendedDataTableRenderer extends SelectionRenderer implements MetaComponentRenderer {+    private static final JSReference CLIENT_PARAMS = new JSReference("clientParams");
+
     private static enum PartName {
         
         frozen, normal;
@@ -664,14 +664,11 @@
         writer.writeAttribute(HtmlConstants.TYPE_ATTR, HtmlConstants.INPUT_TYPE_HIDDEN, null);
         writer.endElement(HtmlConstants.INPUT_ELEM);
         encodeSelectionInput(writer, context, component);
-        JSFunction ajaxFunction = buildAjaxFunction(context, component, AJAX_FUNCTION_NAME);
-        AjaxEventOptions eventOptions = buildEventOptions(context, component);
-        Map<String, Object> parameters = eventOptions.getParameters();
-        eventOptions.set(AjaxEventOptions.PARAMETERS, new JSReference("parameters"));
-        ajaxFunction.addParameter(eventOptions);
+        AjaxFunction ajaxFunction = buildAjaxFunction(context, component);
+        ajaxFunction.getOptions().setClientParameters(CLIENT_PARAMS);
+        
         Map<String, Object> attributes = component.getAttributes();
         Map<String, Object> options = new HashMap<String, Object>();
-        addToScriptHash(options, "parameters", parameters);
         addToScriptHash(options, "selectionMode", attributes.get("selectionMode"),
             SelectionMode.multiple);
         addToScriptHash(options, "onbeforeselectionchange", RenderKitUtils.getAttributeAndBehaviorsValue(context,
@@ -680,7 +677,7 @@
             component, EVENT_ATTRIBUTES.get("onselectionchange")), null, ScriptHashVariableWrapper.eventHandler);
         StringBuilder builder = new StringBuilder("new RichFaces.ExtendedDataTable('");
         builder.append(component.getClientId(context)).append("', ").append(getRowCount(component))
-            .append(", function(event, parameters) {").append(ajaxFunction.toScript()).append(";}");
+            .append(", function(event, clientParams) {").append(ajaxFunction.toScript()).append(";}");
         if (!options.isEmpty()) {
             builder.append(",").append(ScriptUtils.toScript(options));
         }

Modified: branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeRendererBase.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeRendererBase.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -22,8 +22,6 @@
 package org.richfaces.renderkit; import static org.richfaces.component.AbstractTree.SELECTION_META_COMPONENT_ID;
-import static org.richfaces.renderkit.util.AjaxRendererUtils.AJAX_FUNCTION_NAME;
-import static org.richfaces.renderkit.util.AjaxRendererUtils.buildEventOptions; import java.io.IOException;
 import java.util.Collection;
@@ -48,6 +46,7 @@
 import org.richfaces.event.TreeSelectionChangeEvent;
 import org.richfaces.log.Logger;
 import org.richfaces.log.RichfacesLogger;
+import org.richfaces.renderkit.util.AjaxRendererUtils; import com.google.common.base.Strings;
 import com.google.common.collect.Sets;
@@ -100,20 +99,14 @@
             return null;
         }-        JSFunction ajaxFunction = new JSFunction(AJAX_FUNCTION_NAME);
+        AjaxFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(context, component);
+        ajaxFunction.setSource(SOURCE_JS_REF);-        ajaxFunction.addParameter(SOURCE_JS_REF);
-        ajaxFunction.addParameter(JSReference.EVENT);
+        AjaxOptions options = ajaxFunction.getOptions();-        AjaxEventOptions eventOptions = buildEventOptions(context, component);
+        options.set("complete", COMPLETE_JS_REF);
+        options.setClientParameters(PARAMS_JS_REF);-        eventOptions.set("complete", COMPLETE_JS_REF);
-        
-        eventOptions.setClientParameters(PARAMS_JS_REF);
-
-        if (!eventOptions.isEmpty()) {
-            ajaxFunction.addParameter(eventOptions);
-        }
         return ajaxFunction.toScript();
     }
Modified: branches/RF-8742-1/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfaces/extendedDataTable.js
===================================================================
--- branches/RF-8742-1/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfaces/extendedDataTable.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfaces/extendedDataTable.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -160,11 +160,6 @@
 		var timeoutId = null;
 		
 		var sendAjax = function(event, map) {
-			for (key in options.parameters) {
-				if(!map[key]) {
-					map[key] = options.parameters[key];
-				}
-			}
 			ajaxFunction(event, map);
 		};
 		

Modified: branches/RF-8742-1/ui/output/ui/pom.xml
===================================================================
--- branches/RF-8742-1/ui/output/ui/pom.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/pom.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -56,10 +56,6 @@
             <artifactId>richfaces-core-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.richfaces.ui.common</groupId>
             <artifactId>richfaces-ui-common-ui</artifactId>
         </dependency>

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractDropDownMenu.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractDropDownMenu.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractDropDownMenu.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -29,10 +29,10 @@
     @Attribute
     public abstract boolean isDisabled();
     
-    @Attribute(defaultValue = "800")
+    @Attribute(defaultValue = "300")
     public abstract int getHideDelay();
     
-    @Attribute(defaultValue = "800")
+    @Attribute(defaultValue = "50")
     public abstract int getShowDelay();
     
     @Attribute(defaultValue = "250")

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenu.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenu.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenu.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -30,6 +30,7 @@ import javax.el.ValueExpression;
 import javax.faces.component.UIComponent;
+import javax.faces.component.UIOutput;
 import javax.faces.context.FacesContext;
 import javax.faces.event.AbortProcessingException;
 import javax.faces.event.FacesEvent;
@@ -39,7 +40,7 @@
  * @author akolonitsky
  * @since 2010-10-25
  */
-public abstract class AbstractPanelMenu extends AbstractActionComponent implements ItemChangeSource {
+public abstract class AbstractPanelMenu extends UIOutput implements ItemChangeSource {     public static final String COMPONENT_TYPE = "org.richfaces.PanelMenu";@@ -77,7 +78,7 @@
         String previous = (String) getValue();
         setActiveItem(activeItem);
         setSubmittedActiveItem(null);
-        if (previous != null && !previous.equalsIgnoreCase(activeItem)) {
+        if (previous == null || !previous.equalsIgnoreCase(activeItem)) {
             queueEvent(new ItemChangeEvent(this, previous, activeItem));
         }
     }
@@ -191,7 +192,7 @@     public abstract boolean isBypassUpdates();-    public abstract boolean isLimitToList();
+    public abstract boolean isDisableImplicitRender();     public abstract Object getData();
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenuItem.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenuItem.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPanelMenuItem.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -114,7 +114,7 @@     public abstract boolean isBypassUpdates();-    public abstract boolean isLimitToList();
+    public abstract boolean isDisableImplicitRender();     public abstract Object getData();
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPopupPanel.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPopupPanel.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractPopupPanel.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -45,7 +45,7 @@
     public abstract String getVisualOptions();     @Attribute(defaultValue = "100")
-    public abstract int getZIndex();
+    public abstract int getZindex();     @Attribute(defaultValue = "-1")
     public abstract int getHeight();

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTogglePanel.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTogglePanel.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTogglePanel.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -111,7 +111,6 @@
         return (Boolean) getStateHelper().eval(PropertyKeys.valid, true);
     }-
     public void setValid(boolean valid) {
         getStateHelper().put(PropertyKeys.valid, valid);
     }
@@ -129,12 +128,10 @@
         getStateHelper().put(PropertyKeys.required, required);
     }-
     public boolean isImmediate() {
         return (Boolean) getStateHelper().eval(PropertyKeys.immediate, false);
     }-
     public void setImmediate(boolean immediate) {
         getStateHelper().put(PropertyKeys.immediate, immediate);
     }
@@ -170,7 +167,7 @@
         String activeItem = getActiveItemValue();
         while (kids.hasNext()) {
             UIComponent kid = kids.next();
-            if (isActiveItem(kid, activeItem)) {
+            if (isActiveItem(kid, activeItem) || this.getSwitchType() == SwitchType.client) {
                 kid.processDecodes(context);
             }
         }
@@ -184,8 +181,6 @@
         } finally {
             popComponentFromEL(context);
         }
-
-        executeValidate(context);
     }     /**
@@ -222,7 +217,7 @@
         String activeItem = getActiveItemValue();
         while (kids.hasNext()) {
             UIComponent kid = kids.next();
-            if (isActiveItem(kid, activeItem)) {
+            if (isActiveItem(kid, activeItem) || this.getSwitchType() == SwitchType.client) {
                 kid.processValidators(context);
             }
         }
@@ -262,13 +257,13 @@
         String activeItem = getActiveItemValue();
         while (kids.hasNext()) {
             UIComponent kid = kids.next();
-            if (isActiveItem(kid, activeItem)) {
+            if (isActiveItem(kid, activeItem) || this.getSwitchType() == SwitchType.client) {
                 kid.processUpdates(context);
             }
         }
-        
+
         popComponentFromEL(context);
-        
+
         try {
             updateModel(context);
         } catch (RuntimeException e) {
@@ -276,6 +271,7 @@
             throw e;
         }+        executeValidate(context);
         if (!isValid()) {
             context.renderResponse();
         }
@@ -310,7 +306,7 @@
         if (ve == null) {
             return;
         }
-        
+
         Throwable caught = null;
         FacesMessage message = null;
         try {
@@ -327,7 +323,7 @@
             }             if (messageStr == null) {
-                message = ServiceTracker.getService(MessageFactory.class).createMessage(context, 
+                message = ServiceTracker.getService(MessageFactory.class).createMessage(context,
                     FacesMessage.SEVERITY_ERROR,
                     FacesMessages.UIINPUT_UPDATE, MessageUtil.getLabel(context, this));
             } else {
@@ -347,7 +343,7 @@
             @SuppressWarnings({"ThrowableInstanceNeverThrown"})
             UpdateModelException toQueue = new UpdateModelException(message, caught);
             ExceptionQueuedEventContext eventContext = new ExceptionQueuedEventContext(context,
-                    toQueue, this, PhaseId.UPDATE_MODEL_VALUES);
+                toQueue, this, PhaseId.UPDATE_MODEL_VALUES);
             context.getApplication().publishEvent(context, ExceptionQueuedEvent.class, eventContext);
         }
     }
@@ -404,7 +400,6 @@
         }
     }-
     @Override
     public void broadcast(FacesEvent event) throws AbortProcessingException {
         super.broadcast(event);
@@ -416,6 +411,7 @@
     }     // -------------------------------------------------- Panel Items Managing
+
     @Override
     public String getFamily() {
         return COMPONENT_FAMILY;
@@ -442,7 +438,7 @@
         if (kid == null || value == null) {
             return false;
         }
-        
+
         return getChildName(kid).equals(value);
     }@@ -457,7 +453,7 @@         return ((AbstractTogglePanelItem) item).getName();
     }
-    
+
     public AbstractTogglePanelItem getItemByIndex(final int index) {
         List<AbstractTogglePanelItem> children = getRenderedItems();
         if (isCycledSwitching()) {
@@ -523,14 +519,14 @@
         if (name == null) {
             throw new IllegalArgumentException("Name is required parameter.");
         }
-        
+
         List<AbstractTogglePanelItem> items = getRenderedItems();
         for (int ind = 0; ind < items.size(); ind++) {
             if (name.equals(items.get(ind).getName())) {
                 return ind;
             }
         }
-        
+
         return Integer.MIN_VALUE;
     }@@ -568,7 +564,7 @@     public abstract boolean isBypassUpdates();-    public abstract boolean isLimitToList();
+    public abstract boolean isDisableImplicitRender();     public abstract boolean isCycledSwitching();@@ -583,7 +579,6 @@
     public abstract MethodExpression getItemChangeListener(); 
-
     // ------------------------------------------------ Event Processing Methods     public void addItemChangeListener(ItemChangeListener listener) {

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTooltip.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTooltip.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/AbstractTooltip.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -88,7 +88,7 @@     public abstract boolean isBypassUpdates();-    public abstract boolean isLimitToList();
+    public abstract boolean isDisableImplicitRender();     public abstract Object getData();
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenu.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenu.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenu.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -42,7 +42,7 @@
         activeItem,
         itemChangeListener,
         bypassUpdates,
-        limitToList,
+        disableImplicitRender,
         data,
         status,
         execute,
@@ -121,12 +121,12 @@
         getStateHelper().put(PropertyKeys.bypassUpdates, bypassUpdates);
     }-    public boolean isLimitToList() {
-        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.limitToList)));
+    public boolean isDisableImplicitRender() {
+        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.disableImplicitRender)));
     }-    public void setLimitToList(boolean limitToList) {
-        getStateHelper().put(PropertyKeys.limitToList, limitToList);
+    public void setDisableImplicitRender(boolean disableImplicitRender) {
+        getStateHelper().put(PropertyKeys.disableImplicitRender, disableImplicitRender);
     }     public Object getData() {

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenuItem.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenuItem.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UIPanelMenuItem.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -37,7 +37,7 @@
         name,
         disabled,
         bypassUpdates,
-        limitToList,
+        disableImplicitRender,
         data,
         status,
         execute,
@@ -84,12 +84,12 @@
         getStateHelper().put(PropertyKeys.bypassUpdates, bypassUpdates);
     }-    public boolean isLimitToList() {
-        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.limitToList)));
+    public boolean isDisableImplicitRender() {
+        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.disableImplicitRender)));
     }-    public void setLimitToList(boolean limitToList) {
-        getStateHelper().put(PropertyKeys.limitToList, limitToList);
+    public void setDisableImplicitRender(boolean disableImplicitRender) {
+        getStateHelper().put(PropertyKeys.disableImplicitRender, disableImplicitRender);
     }     public Object getData() {

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITogglePanel.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITogglePanel.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITogglePanel.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -33,7 +33,7 @@
     public enum PropertyKeys {
         switchType,
         bypassUpdates,
-        limitToList,
+        disableImplicitRender,
         cycledSwitching,
         data,
         status,
@@ -59,12 +59,12 @@
         getStateHelper().put(PropertyKeys.bypassUpdates, bypassUpdates);
     }-    public boolean isLimitToList() {
-        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.limitToList)));
+    public boolean isDisableImplicitRender() {
+        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.disableImplicitRender)));
     }-    public void setLimitToList(boolean limitToList) {
-        getStateHelper().put(PropertyKeys.limitToList, limitToList);
+    public void setDisableImplicitRender(boolean disableImplicitRender) {
+        getStateHelper().put(PropertyKeys.disableImplicitRender, disableImplicitRender);
     }     public boolean isCycledSwitching() {

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITooltip.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITooltip.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/component/UITooltip.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -49,7 +49,7 @@
         showEvent,
         verticalOffset,
         bypassUpdates,
-        limitToList,
+        disableImplicitRender,
         data,
         status,
         execute,
@@ -176,12 +176,12 @@
         getStateHelper().put(PropertyKeys.bypassUpdates, bypassUpdates);
     }-    public boolean isLimitToList() {
-        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.limitToList)));
+    public boolean isDisableImplicitRender() {
+        return Boolean.valueOf(String.valueOf(getStateHelper().eval(PropertyKeys.disableImplicitRender)));
     }-    public void setLimitToList(boolean limitToList) {
-        getStateHelper().put(PropertyKeys.limitToList, limitToList);
+    public void setDisableImplicitRender(boolean disableImplicitRender) {
+        getStateHelper().put(PropertyKeys.disableImplicitRender, disableImplicitRender);
     }     public Object getData() {

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionItemRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionItemRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionItemRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -22,7 +22,6 @@ package org.richfaces.renderkit.html;-import static org.richfaces.component.util.HtmlUtil.concatClasses;
 import static org.richfaces.renderkit.RenderKitUtils.renderPassThroughAttributes; import java.io.IOException;
@@ -63,8 +62,8 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanelItem.js"),
-    @ResourceDependency(library = "org.richfaces", name = "AccordionItem.js")
+    @ResourceDependency(library = "org.richfaces", name = "togglePanelItem.js"),
+    @ResourceDependency(library = "org.richfaces", name = "accordionItem.js")
     })
 public class AccordionItemRenderer extends TogglePanelItemRenderer {
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/AccordionRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -46,8 +46,8 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
     @ResourceDependency(library = "org.richfaces", name = "accordion.ecss"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanel.js"),
-    @ResourceDependency(library = "org.richfaces", name = "Accordion.js") })
+    @ResourceDependency(library = "org.richfaces", name = "togglePanel.js"),
+    @ResourceDependency(library = "org.richfaces", name = "accordion.js") })
 public class AccordionRenderer extends TogglePanelRenderer {     @Override
@@ -90,7 +90,7 @@
     @Override
     protected Map<String, Object> getScriptObjectOptions(FacesContext context, UIComponent component) {
         Map<String, Object> options = super.getScriptObjectOptions(context, component);
-        options.put("isKeepHeight", !attributeAsString(component, height).isEmpty());
+        options.put("isKeepHeight", attributeAsString(component, height).length() > 0);
         options.remove("items");         return options;

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/CollapsiblePanelRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/CollapsiblePanelRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/CollapsiblePanelRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -38,8 +38,6 @@
 import java.util.Map; import static org.richfaces.component.AbstractCollapsiblePanel.States.*;
-import static org.richfaces.component.util.HtmlUtil.concatClasses;
-import static org.richfaces.component.util.HtmlUtil.concatStyles; /**
  * @author akolonitsky
@@ -51,10 +49,10 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanel.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanelItem.js"),
-    @ResourceDependency(library = "org.richfaces", name = "CollapsiblePanel.js"),
-    @ResourceDependency(library = "org.richfaces", name = "CollapsiblePanelItem.js"),
+    @ResourceDependency(library = "org.richfaces", name = "togglePanel.js"),
+    @ResourceDependency(library = "org.richfaces", name = "togglePanelItem.js"),
+    @ResourceDependency(library = "org.richfaces", name = "collapsiblePanel.js"),
+    @ResourceDependency(library = "org.richfaces", name = "collapsiblePanelItem.js"),
     @ResourceDependency(library = "org.richfaces", name = "collapsiblePanel.ecss") })
 public class CollapsiblePanelRenderer extends TogglePanelRenderer {@@ -139,7 +137,7 @@
             header.encodeAll(context);
         } else {
             String headerText = (String) component.getAttributes().get("header");
-            if (headerText != null && !headerText.isEmpty()) {
+            if (headerText != null && headerText.length() > 0) {
                 responseWriter.writeText(headerText, null);
             }
         }

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/DivPanelRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/DivPanelRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/DivPanelRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -58,7 +58,7 @@     protected static String attributeAsStyle(UIComponent comp, Enum attr) {
         String value = attributeAsString(comp, attr.toString());
-        if (value.isEmpty()) {
+        if (value.length() == 0) {
             return "";
         }
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenuRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenuRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PanelMenuRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -40,7 +40,6 @@
 import java.util.HashMap;
 import java.util.Map;-import static org.richfaces.component.util.HtmlUtil.concatClasses;
 import static org.richfaces.renderkit.html.TogglePanelRenderer.getAjaxOptions;
 import static org.richfaces.renderkit.html.TogglePanelRenderer.getValueRequestParamName;@@ -54,9 +53,9 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
-    @ResourceDependency(library = "org.richfaces", name = "PanelMenu.js"),
-    @ResourceDependency(library = "org.richfaces", name = "PanelMenuItem.js"),
-    @ResourceDependency(library = "org.richfaces", name = "PanelMenuGroup.js"),
+    @ResourceDependency(library = "org.richfaces", name = "panelMenu.js"),
+    @ResourceDependency(library = "org.richfaces", name = "panelMenuItem.js"),
+    @ResourceDependency(library = "org.richfaces", name = "panelMenuGroup.js"),
     @ResourceDependency(library = "org.richfaces", name = "panelMenu.ecss") })
 public class PanelMenuRenderer extends DivPanelRenderer {
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PopupPanelBaseRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PopupPanelBaseRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/PopupPanelBaseRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -187,7 +187,7 @@
         addToScriptHash(options, "followByScroll", panel.isFollowByScroll(), "true");
         addToScriptHash(options, "left", panel.getLeft(), "auto");
         addToScriptHash(options, "top", panel.getTop(), "auto");
-        addToScriptHash(options, "zindex", panel.getZIndex(), "100");
+        addToScriptHash(options, "zindex", panel.getZindex(), "100");
         addToScriptHash(options, "shadowDepth", panel.getShadowDepth(), "2");
         addToScriptHash(options, "shadowOpacity", panel.getShadowOpacity(), "0.1");
         addToScriptHash(options, "domElementAttachment", panel.getDomElementAttachment());

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/ProgressBarBaseRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -38,13 +38,13 @@
 import javax.faces.context.PartialViewContext; import org.ajax4jsf.context.AjaxContext;
-import org.ajax4jsf.javascript.JSFunction;
 import org.ajax4jsf.javascript.JSReference;
 import org.richfaces.component.AbstractProgressBar;
 import org.richfaces.component.MetaComponentResolver;
 import org.richfaces.component.NumberUtils;
 import org.richfaces.component.SwitchType;
-import org.richfaces.renderkit.AjaxEventOptions;
+import org.richfaces.renderkit.AjaxFunction;
+import org.richfaces.renderkit.AjaxOptions;
 import org.richfaces.renderkit.MetaComponentRenderer;
 import org.richfaces.renderkit.RendererBase;
 import org.richfaces.renderkit.util.AjaxRendererUtils;
@@ -110,9 +110,9 @@
         
         ProgressBarState result;
         
-        if (value.doubleValue() <= minValue.doubleValue()) {
+        if (value.doubleValue() < minValue.doubleValue()) {
             result = ProgressBarState.initialState;
-        } else if (value.doubleValue() > maxValue.doubleValue()) {
+        } else if (value.doubleValue() >= maxValue.doubleValue()) {
             result = ProgressBarState.finishState;
         } else {
             result = ProgressBarState.progressState;
@@ -140,12 +140,14 @@
             return null;
         }
         
-        JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(facesContext, component, AjaxRendererUtils.AJAX_FUNCTION_NAME);
-        AjaxEventOptions eventOptions = AjaxRendererUtils.buildEventOptions(facesContext, component);
-        eventOptions.set("beforedomupdate", BEFORE_UPDATE_HANDLER);
-        eventOptions.set("complete", AFTER_UPDATE_HANDLER);
-        eventOptions.setClientParameters(PARAMS);
-        ajaxFunction.addParameter(eventOptions);
+        AjaxFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(facesContext, component);
+        
+        AjaxOptions options = ajaxFunction.getOptions();
+
+        options.set("beforedomupdate", BEFORE_UPDATE_HANDLER);
+        options.set("complete", AFTER_UPDATE_HANDLER);
+        options.setClientParameters(PARAMS);
+
         return ajaxFunction.toScript();
     }
     

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabPanelRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabPanelRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabPanelRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -26,8 +26,6 @@
 import static org.richfaces.component.AbstractTogglePanelTitledItem.HeaderStates.disabled;
 import static org.richfaces.component.AbstractTogglePanelTitledItem.HeaderStates.inactive;
 import static org.richfaces.component.html.HtmlAccordion.PropertyKeys.height;
-import static org.richfaces.component.util.HtmlUtil.concatClasses;
-import static org.richfaces.component.util.HtmlUtil.concatStyles;
 import static org.richfaces.renderkit.RenderKitUtils.renderPassThroughAttributes; import java.io.IOException;
@@ -60,8 +58,8 @@
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
     @ResourceDependency(library = "org.richfaces", name = "tabPanel.ecss"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanel.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TabPanel.js") 
+    @ResourceDependency(library = "org.richfaces", name = "togglePanel.js"),
+    @ResourceDependency(library = "org.richfaces", name = "tabPanel.js")
 })
 public class TabPanelRenderer extends TogglePanelRenderer {
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TabRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -22,8 +22,6 @@ package org.richfaces.renderkit.html;-import static org.richfaces.component.util.HtmlUtil.concatClasses;
-
 import java.io.IOException;
 import java.util.Map;@@ -47,8 +45,8 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanelItem.js"),
-    @ResourceDependency(library = "org.richfaces", name = "Tab.js") 
+    @ResourceDependency(library = "org.richfaces", name = "togglePanelItem.js"),
+    @ResourceDependency(library = "org.richfaces", name = "tab.js")
 })
 public class TabRenderer extends TogglePanelItemRenderer {
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelItemRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelItemRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelItemRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -46,7 +46,7 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanelItem.js") })
+    @ResourceDependency(library = "org.richfaces", name = "togglePanelItem.js") })
 public class TogglePanelItemRenderer extends DivPanelRenderer {
     
     private static final String LEAVE = "leave";

Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TogglePanelRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -41,7 +41,7 @@
 import org.richfaces.component.AbstractTogglePanel;
 import org.richfaces.component.AbstractTogglePanelItem;
 import org.richfaces.component.util.HtmlUtil;
-import org.richfaces.renderkit.AjaxEventOptions;
+import org.richfaces.renderkit.AjaxOptions;
 import org.richfaces.renderkit.HtmlConstants;
 import org.richfaces.renderkit.util.AjaxRendererUtils;
 import org.richfaces.renderkit.util.FormUtil;
@@ -57,7 +57,7 @@
     @ResourceDependency(name = "richfaces.js"),
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
-    @ResourceDependency(library = "org.richfaces", name = "TogglePanel.js") })
+    @ResourceDependency(library = "org.richfaces", name = "togglePanel.js") })
 public class TogglePanelRenderer extends DivPanelRenderer {     public static final String VALUE_POSTFIX = "-value";
@@ -168,7 +168,7 @@
         }
     }-    public static AjaxEventOptions getAjaxOptions(FacesContext context, UIComponent panel) {
+    public static AjaxOptions getAjaxOptions(FacesContext context, UIComponent panel) {
         return AjaxRendererUtils.buildEventOptions(context, panel);
     }
Modified: branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TooltipRenderer.java
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TooltipRenderer.java	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/java/org/richfaces/renderkit/html/TooltipRenderer.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -58,7 +58,7 @@
     @ResourceDependency(name = "richfaces-event.js"),
     @ResourceDependency(name = "richfaces-base-component.js"),
     @ResourceDependency(library = "org.richfaces", name = "popup.js"),
-    @ResourceDependency(library = "org.richfaces", name = "Tooltip.js"),
+    @ResourceDependency(library = "org.richfaces", name = "tooltip.js"),
     @ResourceDependency(library = "org.richfaces", name = "tooltip.ecss") })
 public class TooltipRenderer extends DivPanelRenderer implements MetaComponentRenderer {
Modified: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.faces-config.xml
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.faces-config.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.faces-config.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -889,7 +889,7 @@
         </property>
         <property>
             <description></description>
-            <property-name>limitToList</property-name>
+            <property-name>disableImplicitRender</property-name>
             <property-class>boolean</property-class>
         </property>
         <property>
@@ -940,7 +940,7 @@
         </property>
         <property>
             <description></description>
-            <property-name>limitToList</property-name>
+            <property-name>disableImplicitRender</property-name>
             <property-class>boolean</property-class>
         </property>
         <property>
@@ -1000,7 +1000,7 @@
         </property>
         <property>
             <description></description>
-            <property-name>limitToList</property-name>
+            <property-name>disableImplicitRender</property-name>
             <property-class>boolean</property-class>
         </property>
         <property>
@@ -1245,7 +1245,7 @@
         </property>
         <property>
             <description></description>
-            <property-name>limitToList</property-name>
+            <property-name>disableImplicitRender</property-name>
             <property-class>boolean</property-class>
         </property>
         <property>
@@ -1615,7 +1615,7 @@
         </property>
         <property>
             <description></description>
-            <property-name>limitToList</property-name>
+            <property-name>disableImplicitRender</property-name>
             <property-class>boolean</property-class>
         </property>
         <property>
@@ -1712,18 +1712,6 @@
         <component-class>org.richfaces.component.html.HtmlPanelMenu</component-class>         <property>
-            <property-name>action</property-name>
-            <property-class>javax.faces.el.MethodBinding</property-class>
-        </property>
-        <property>
-            <property-name>actionExpression</property-name>
-            <property-class>javax.el.MethodExpression</property-class>
-        </property>
-        <property>
-            <property-name>actionListener</property-name>
-            <property-class>javax.faces.el.MethodBinding</property-class>
-        </property>
-        <property>
             <description></description>
             <property-name>disabled</property-name>
             <property-class>boolean</property-class>
@@ -1775,7 +1763,7 @@
         </property>
         <property>
             <description></description>
-            <property-name>limitToList</property-name>
+            <property-name>disableImplicitRender</property-name>
             <property-class>boolean</property-class>
         </property>
         <property>

Modified: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.taglib.xml
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.taglib.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/pn.taglib.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -785,11 +785,187 @@
     <tag>
         <tag-name>popupPanel</tag-name>
         <component>
+            <description>JSF component class</description>
             <component-type>org.richfaces.PopupPanel</component-type>
             <renderer-type>org.richfaces.PopupPanelRenderer</renderer-type>
         </component>
+        <attribute>
+            <name>autosized</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <description>The value binding expression used to wire up this component to a component property of a JavaBean class</description>
+            <icon/>
+            <name>binding</name>
+            <type>javax.faces.component.UIComponent</type>
+        </attribute>
+        <attribute>
+            <name>controlsClass</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>domElementAttachment</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>followByScroll</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>headerClass</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <type>int</type>
+        </attribute>
+        <attribute>
+            <description>The component identifier for this component. This value must be unique within the closest parent component that is a naming container.</description>
+            <display-name>Component Identifier</display-name>
+            <icon/>
+            <name>id</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>keepVisualState</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>left</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>maxHeight</name>
+            <type>int</type>
+        </attribute>
+        <attribute>
+            <name>maxWidth</name>
+            <type>int</type>
+        </attribute>
+        <attribute>
+            <name>minHeight</name>
+            <type>int</type>
+        </attribute>
+        <attribute>
+            <name>minWidth</name>
+            <type>int</type>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>moveable</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>onbeforehide</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onbeforeshow</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onhide</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskclick</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskcontextmenu</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskdblclick</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskmousedown</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskmousemove</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskmouseout</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskmouseover</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmaskmouseup</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onmove</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onresize</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>onshow</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>overlapEmbedObjects</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <description>Flag indicating whether or not this component should be rendered (during Render Response Phase), or processed on any subsequent form submit. The default value for this property is true.</description>
+            <display-name>Rendered Flag</display-name>
+            <icon/>
+            <name>rendered</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>resizeable</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>shadowDepth</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>shadowOpacity</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>show</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>top</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>trimOverlayedElements</name>
+            <type>boolean</type>
+        </attribute>
+        <attribute>
+            <name>visualOptions</name>
+            <type>java.lang.String</type>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <type>int</type>
+        </attribute>
+        <attribute>
+            <name>zindex</name>
+            <type>int</type>
+        </attribute>
     </tag>
-
     <tag>
         <tag-name>tabPanel</tag-name>
         <component>
@@ -864,7 +1040,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>
@@ -1114,7 +1290,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>
@@ -1264,7 +1440,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>
@@ -1594,7 +1770,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>
@@ -1719,7 +1895,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>
@@ -1764,7 +1940,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>panelToggleListener</name>
+            <name>toggleListener</name>
             <type>javax.el.MethodExpression</type>
         </attribute>
         <attribute>
@@ -1930,7 +2106,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>
@@ -2221,7 +2397,7 @@
         </attribute>
         <attribute>
             <description></description>
-            <name>limitToList</name>
+            <name>disableImplicitRender</name>
             <type>boolean</type>
         </attribute>
         <attribute>

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Accordion.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Accordion.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Accordion.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,75 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.Accordion = rf.ui.TogglePanel.extendClass({
-        // class name
-        name:"Accordion",
-
-        /**
-         * @class Accordion
-         * @name Accordion
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId, options);
-            this.items = [];
-
-            this.isKeepHeight = options["isKeepHeight"] || false  
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-
-        getHeight : function (recalculate) {
-            if (recalculate || !this.__height) {
-                this.__height = $(rf.getDomElement(this.id)).outerHeight(true)
-            }
-
-            return this.__height;
-        },
-
-        getInnerHeight : function (recalculate) {
-            if (recalculate || !this.__innerHeight) {
-                this.__innerHeight = $(rf.getDomElement(this.id)).innerHeight(true)
-            }
-
-            return this.__innerHeight;
-        },
-
-        /***************************** Private Methods ********************************************************/
-
-
-        destroy: function () {
-            rf.Event.unbindById(this.id, "." + this.namespace);
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.Accordion.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/AccordionItem.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/AccordionItem.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/AccordionItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,158 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.AccordionItem = rf.ui.TogglePanelItem.extendClass({
-        // class name
-        name:"AccordionItem",
-
-        /**
-         * @class AccordionItem
-         * @name AccordionItem
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId, options);
-            this.index = options["index"];
-            this.getTogglePanel().getItems()[this.index] = this;
-
-            if (!this.disabled) {
-                rf.Event.bindById(this.id + ":header", "click", this.__onHeaderClick, this);
-            }
-
-            if (this.isSelected()) {
-                var item = this;
-                $(document).ready(function () {
-                    item.__fitToHeight(item.getTogglePanel());
-                });
-            }
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-
-        __onHeaderClick : function (comp) {
-            this.getTogglePanel().switchToItem(this.getName());
-        },
-
-        /**
-         * @param state {string} = inactive | active | disabled
-         *     in that case looking header by css class appropriate to this state
-         *
-         * @return {jQuery Object}
-         * */
-        __header : function (state) {
-            var res = $(rf.getDomElement(this.id + ":header"));
-            if (state) {
-                return res.find(".rf-ac-itm-hdr-" + state);
-            }
-
-            return res;
-        },
-
-        /**
-         * @return {jQuery Object}
-         * */
-        __content : function () {
-            if (!this.__content_) {
-                this.__content_ = $(rf.getDomElement(this.id + ":content"));
-            }
-            return this.__content_;
-        },
-
-        /**
-         * @private
-         *
-         * used in TogglePanel
-         * */
-        __enter : function () {
-            var parentPanel = this.getTogglePanel();
-            if (parentPanel.isKeepHeight) {
-                this.__content().hide(); // TODO ?
-                this.__fitToHeight(parentPanel);
-            }
-
-            this.__content().show();
-            this.__header("inact").hide();
-            this.__header("act").show();
-
-            return this.__fireEnter();
-        },
-
-        __fitToHeight : function (parentPanel) {
-            var h = parentPanel.getInnerHeight();
-
-            var items = parentPanel.getItems();
-            for (var i in items) {
-                h -= items[i].__header().outerHeight();
-            }
-
-            this.__content().height(h - 20); // 20 it is padding top and bottom
-        },
-
-        getHeight : function (recalculate) {
-            if (recalculate || !this.__height) {
-                this.__height = $(rf.getDomElement(this.id)).outerHeight(true)
-            }
-
-            return this.__height;
-        },
-
-        /**
-         * @private
-         *
-         * used in TogglePanel
-         * */
-        __leave : function () {
-            var continueProcess = this.__fireLeave();
-            if (!continueProcess) {
-                return false;
-            }
-
-            this.__content().hide();
-            this.__header("act").hide();
-            this.__header("inact").show();
-
-            return true;
-        },
-
-        /***************************** Private Methods ********************************************************/
-
-
-        destroy: function () {
-            var parent = this.getTogglePanel();
-            delete parent.getItems()[this.index];
-
-            rf.Event.unbindById(this.id, "."+this.namespace);
-
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.AccordionItem.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanel.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanel.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.CollapsiblePanel = rf.ui.TogglePanel.extendClass({
-
-        name:"CollapsiblePanel",
-
-        /**
-         * @class CollapsiblePanel
-         * @name CollapsiblePanel
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            rf.ui.TogglePanel.call(this, componentId, options);
-            this.switchMode = options.switchMode;
-
-            this.__addUserEventHandler("beforeswitch");
-            this.__addUserEventHandler("switch");
-
-            this.items = [
-                new RichFaces.ui.CollapsiblePanelItem(
-                    this.id + ":content", {"index":0, "togglePanelId":this.id, "switchMode":this.switchMode, "name":"true"}),
-
-                new RichFaces.ui.CollapsiblePanelItem(
-                    this.id + ":empty", {"index":1, "togglePanelId":this.id, "switchMode":this.switchMode, "name":"false"})
-            ];
-            this.options.cycledSwitching = true;
-
-            rf.Event.bindById(this.id + ":header", "click", this.__onHeaderClick, this)
-        },
-
-        switchPanel : function (to) {
-            this.switchToItem(to || "@next");
-        },
-
-        /***************************** Private Methods ********************************************************/
-
-        __onHeaderClick : function () {
-            this.switchToItem("@next");
-        },
-
-        __fireItemChange : function (oldItem, newItem) {
-            return new rf.Event.fireById(this.id, "switch", {
-                id: this.id,
-                isExpanded : newItem.getName()
-            });
-        },
-
-        __fireBeforeItemChange : function (oldItem, newItem) {
-            return rf.Event.fireById(this.id, "beforeswitch", {
-                id: this.id,
-                isExpanded : newItem.getName()
-            });
-        }
-    });
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanelItem.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanelItem.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/CollapsiblePanelItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.CollapsiblePanelItem = rf.ui.TogglePanelItem.extendClass({
-
-        init : function (componentId, options) {
-            rf.ui.TogglePanelItem.call(this, componentId, options);
-        },
-
-        __enter : function () {
-            rf.getDomElement(this.id).style.display = "block";
-            this.__header(this.__state()).show();
-
-            return true;
-        },
-
-        __leave : function () {
-            rf.getDomElement(this.id).style.display = "none";
-            this.__header(this.__state()).hide();
-
-            return true;
-        },
-
-        __state : function () {
-            return this.getName() === "true" ? "exp" : "colps";
-        },
-
-        __header : function (state) {
-            var res = $(rf.getDomElement(this.togglePanelId + ":header"));
-            if (state) {
-                return res.find(".rf-cp-hdr-" + state);
-            }
-
-            return res;
-        }
-    });
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenu.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenu.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenu.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,211 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * 
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- * 
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    var __DEFAULT_OPTIONS = {
-        expandSingle : true
-    };
-
-    rf.ui.PanelMenu = rf.BaseComponent.extendClass({
-        // class name
-        name:"PanelMenu",
-
-        /**
-         * @class PanelMenu
-         * @name PanelMenu
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId);
-            this.items = [];
-            this.attachToDom();
-
-            this.options = $.extend(this.options, __DEFAULT_OPTIONS, options || {});
-            this.activeItem = this.__getValueInput().value;
-            this.nestingLevel = 0;
-
-            var menuGroup = this;
-            if (menuGroup.options.expandSingle) {
-                menuGroup.__panelMenu().bind("expand", function (event) {
-                    menuGroup.__childGroups().each (function (index, group) {
-                        if (event.target.id != group.id) {
-                            rf.$(group.id).collapse();
-                        }
-                    });
-
-                    event.stopPropagation();
-                });
-            }
-
-            if (menuGroup.activeItem) {
-                this.__panelMenu().ready(function () {
-                    var item = menuGroup.items[menuGroup.activeItem];
-                    item.__select();
-                    item.__fireSelect();
-                })
-            }
-
-            this.__addUserEventHandler("collapse");
-            this.__addUserEventHandler("expand");
-        },
-
-        getItems: function () {
-            return this.items;
-        },
-
-        getItem: function (name) {
-            return this.items[name];
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-        /**
-         * @methodOf
-         * @name PanelMenu#selectItem
-         *
-         * TODO ...
-         * 
-              * @param {String} name
-         * @return {void} TODO ...
-         */
-        selectItem: function (name) {
-            // TODO implement
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenu#selectedItem
-         *
-         * TODO ...
-         * 
-         * @return {String} TODO ...
-         */
-        selectedItem: function (id) {
-            if (id != undefined) {
-                var valueInput = this.__getValueInput();
-                var prevActiveItem = valueInput.value;
-
-                this.activeItem = id;
-                valueInput.value = id;
-
-                return prevActiveItem;
-            } else {
-                return this.activeItem;
-            }
-        },
-
-        __getValueInput : function() {
-            return document.getElementById(this.id + "-value");
-        },
-
-        selectItem: function (itemName) {
-            // TODO
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenu#expandAll
-         *
-         * TODO ...
-         * 
-         * @return {void} TODO ...
-         */
-        expandAll: function () {
-            // TODO implement
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenu#collapseAll
-         *
-         * TODO ...
-         * 
-         * @return {void} TODO ...
-         */
-        collapseAll: function () {
-            // TODO implement
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenu#expandGroup
-         *
-         * TODO ...
-         * 
-              * @param {String} groupName
-         * @return {void} TODO ...
-         */
-        expandGroup: function (groupName) {
-            // TODO implement
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenu#collapseGroup
-         *
-         * TODO ...
-         * 
-              * @param {String} groupName
-         * @return {void} TODO ...
-         */
-        collapseGroup: function (groupName) {
-            // TODO implement
-        },
-
-
-        /***************************** Private Methods ****************************************************************/
-
-
-        __panelMenu  : function () {
-            return $(rf.getDomElement(this.id));
-        },
-
-        __childGroups : function () {
-            return this.__panelMenu().children(".rf-pm-top-gr")
-        },
-
-        /**
-         * @private
-         * */
-        __addUserEventHandler : function (name) {
-            var handler = this.options["on" + name];
-            if (handler) {
-                rf.Event.bindById(this.id, name, handler);
-            }
-        },
-
-        destroy: function () {
-            rf.Event.unbindById(this.id, "."+this.namespace);
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.PanelMenu.$super;
-
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuGroup.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuGroup.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuGroup.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,365 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * 
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- * 
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    var __DEFAULT_OPTIONS = {
-        expanded : false,
-        expandSingle : true,
-        bubbleSelection : true,
-        stylePrefix : "rf-pm-gr",
-
-        // TODO we should use selectionType = {none, selectable, unselectable}
-        selectable : false,
-        unselectable : false // unselectable can be only selectable item => if selectable == false than unselectable = false
-    };
-
-    var EXPAND_ITEM = {
-
-        /**
-         *
-         * @return {void}
-         * */
-        exec : function (group, expand) {
-            var mode = group.mode;
-            if (mode == "server") {
-                return this.execServer(group);
-            } else if (mode == "ajax") {
-                return this.execAjax(group);
-            } else if (mode == "client" || mode == "none") {
-                return this.execClient(group, expand);
-            } else {
-                rf.log.error("EXPAND_ITEM.exec : unknown mode (" + mode + ")");
-            }
-        },
-
-        /**
-         * @protected
-         *
-         * @return {Boolean} false
-         * */
-        execServer : function (group) {
-            group.__changeState();
-            rf.submitForm(this.__getParentForm(group));
-
-            return false;
-        },
-
-        /**
-         * @protected
-         *
-         * @return {Boolean} false
-         * */
-        execAjax : function (group) {
-            var oldState = group.__changeState();
-            rf.ajax(group.id, null, $.extend({}, group.options["ajax"], {}));
-            group.__restoreState(oldState);
-
-            return true;
-        },
-
-        /**
-         * @protected
-         *
-         * @param {PanelMenuGroup} group
-         * @param {Boolean} expand
-         * @return {undefined}
-         *             - false - if process has been terminated
-         *             - true  - in other cases
-         * */
-        execClient : function (group, expand) {
-            if (expand) {
-                group.expand();
-            } else {
-                group.collapse();
-            }
-
-            return group.__fireSwitch();
-        },
-
-        /**
-         * @private
-         * */
-        __getParentForm : function (item) {
-            return $($(rf.getDomElement(item.id)).parents("form")[0]);
-        }
-    };
-
-    rf.ui.PanelMenuGroup = rf.ui.PanelMenuItem.extendClass({
-        // class name
-        name:"PanelMenuGroup",
-
-        /**
-         * @class PanelMenuGroup
-         * @name PanelMenuGroup
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId);
-            this.options = $.extend(this.options, __DEFAULT_OPTIONS, options || {});
-
-            if (!this.options.disabled) {
-                var menuGroup = this;
-
-                if (!this.options.selectable) {
-                    this.__header().bind("click", function () {
-                        return menuGroup.switchExpantion();
-                    });
-                }
-
-                if (this.options.selectable || this.options.bubbleSelection) {
-                    this.__content().bind("select", function (event) {
-                        if (menuGroup.options.selectable && menuGroup.__isMyEvent(event)) {
-                            menuGroup.expand();
-                        }
-
-                        if (menuGroup.options.bubbleSelection && !menuGroup.__isMyEvent(event)) {
-                            menuGroup.__select();
-                            if (!menuGroup.expanded()) {
-                                menuGroup.expand();
-                            }
-                        }
-                    });
-
-                    this.__content().bind("unselect", function (event) {
-                        if (menuGroup.options.selectable && menuGroup.__isMyEvent(event)) {
-                            menuGroup.collapse();
-                        }
-
-                        if (menuGroup.options.bubbleSelection && !menuGroup.__isMyEvent(event)) {
-                            menuGroup.__unselect();
-                        }
-                    });
-                }
-
-                if (menuGroup.options.expandSingle) {
-                    menuGroup.__group().bind("expand", function (event) {
-                        if (menuGroup.__isMyEvent(event)) {
-                            return;
-                        }
-
-                        menuGroup.__childGroups().each (function (index, group) {
-                            var rfGroup = rf.$(group);
-                            if (!rfGroup.__isMyEvent(event)) {
-                                rfGroup.collapse();
-                            }
-                        });
-                        
-                        event.stopPropagation();
-                    });
-                }
-
-                this.__addUserEventHandler("collapse");
-                this.__addUserEventHandler("expand");
-            }
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-        expanded : function () {
-            // TODO check invariant in dev mode
-            // return this.__content().hasClass("rf-pm-exp")
-            return this.__getExpandValue();
-        },
-
-        expand : function () {
-            this.__expand();
-
-            return this.__fireExpand();
-        },
-
-        __expand : function () {
-            this.__content().removeClass("rf-pm-colps").addClass("rf-pm-exp");
-            var header = this.__header();
-            header.find(".rf-pm-ico-colps").hide();
-            header.find(".rf-pm-ico-exp").show();
-            
-            this.__setExpandValue(true);
-        },
-
-        collapsed : function () {
-            // TODO check invariant in dev mode
-            // return this.__content().hasClass("rf-pm-colps")
-            return !this.__getExpandValue();
-        },
-
-        collapse : function () {
-            this.__collapse();
-
-            this.__childGroups().each (function(index, group) {
-                rf.$(group.id).__collapse();
-            });
-
-            this.__fireCollapse();
-        },
-
-        __collapse : function () {
-            this.__content().addClass("rf-pm-colps").removeClass("rf-pm-exp");
-            var header = this.__header();
-            header.find(".rf-pm-ico-exp").hide();
-            header.find(".rf-pm-ico-colps").show();
-
-            this.__setExpandValue(false);
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenuGroup#switch
-         *
-         * TODO ...
-         * 
-         * @param {boolean} expand
-         * @return {void} TODO ...
-         */
-        switchExpantion : function () { // TODO rename
-            var continueProcess = this.__fireBeforeSwitch();
-            if (!continueProcess) {
-                return false;
-            }
-
-            EXPAND_ITEM.exec(this, !this.expanded());
-        },
-
-        /**
-         * please, remove this method when client side ajax events will be added
-         *
-         * */
-        onCompleteHandler : function () {
-            EXPAND_ITEM.execClient(this, this.expanded());
-        },
-
-        __switch : function (expand) {
-            if (expand) {
-                this.expand();
-            } else {
-                this.collapse();
-            }
-        },
-
-        /***************************** Private Methods ****************************************************************/
-        __childGroups : function () {
-            return this.__content().children(".rf-pm-gr")
-        },
-
-        __group : function () {
-            return $(rf.getDomElement(this.id))
-        },
-
-        __header : function () {
-            return $(rf.getDomElement(this.id + ":hdr"))
-        },
-
-        __content : function () {
-            return $(rf.getDomElement(this.id + ":cnt"))
-        },
-
-        __expandValueInput : function () {
-            return document.getElementById(this.id + ":expanded");
-        },
-
-        __getExpandValue : function () {
-            return this.__expandValueInput().value == "true"; 
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenuGroup#__setExpandValue
-         *
-         * @param {boolean} value - is group expanded?
-         * @return {boolean} preview value
-         */
-        __setExpandValue : function (value) {
-            var input = this.__expandValueInput();
-            var oldValue = input.value;
-
-            input.value = value;
-
-            return oldValue;
-        },
-
-        __changeState : function () {
-            var state = {};
-            state["expanded"] = this.__setExpandValue(!this.__getExpandValue());
-            if (this.options.selectable) {
-                state["itemName"] = this.__rfPanelMenu().selectedItem(this.itemName); // TODO bad function name for function which change component state
-            }
-
-            return state;
-        },
-
-        __restoreState : function (state) {
-            if (!state) {
-                return;
-            }
-
-            if (state["expanded"]) {
-                this.__setExpandValue(state["expanded"]);
-            }
-            
-            if (state["itemName"]) {
-                this.__rfPanelMenu().selectedItem(state["itemName"]);
-            }
-        },
-
-        __fireSwitch : function () {
-            return new rf.Event.fireById(this.id, "switch", {
-                id: this.id
-            });
-        },
-
-        __isMyEvent: function (event) {
-            return this.id == event.target.id; 
-        },
-
-        __fireBeforeSwitch : function () {
-            return rf.Event.fireById(this.id, "beforeswitch", {
-                id: this.id
-            });
-        },
-
-        __fireCollapse : function () {
-            return new rf.Event.fireById(this.id, "collapse", {
-                id: this.id
-            });
-        },
-
-        __fireExpand : function () {
-            return new rf.Event.fireById(this.id, "expand", {
-                id: this.id
-            });
-        },
-
-        destroy: function () {
-            rf.Event.unbindById(this.id, "."+this.namespace);
-
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.PanelMenuGroup.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuItem.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuItem.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/PanelMenuItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,321 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * 
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- * 
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    var __DEFAULT_OPTIONS = {
-        disabled : false,
-        selectable: true,
-        mode: "client",
-        unselectable: false,
-        highlight: true,
-        stylePrefix: "rf-pm-itm",
-        itemStep: 20
-    };
-
-    var SELECT_ITEM = {
-
-        /**
-         *
-         * @return {void}
-         * */
-        exec : function (item) {
-            var mode = item.mode;
-            if (mode == "server") {
-                return this.execServer(item);
-            } else if (mode == "ajax") {
-                return this.execAjax(item);
-            } else if (mode == "client" || mode == "none") {
-                return this.execClient(item);
-            } else {
-                rf.log.error("SELECT_ITEM.exec : unknown mode (" + mode + ")");
-            }
-        },
-
-        /**
-         * @protected
-         *
-         * @return {Boolean} false
-         * */
-        execServer : function (item) {
-            item.__changeState();
-            rf.submitForm(this.__getParentForm(item));
-
-            return false;
-        },
-
-        /**
-         * @protected
-         *
-         * @return {Boolean} false
-         * */
-        execAjax : function (item) {
-            var oldItem = item.__changeState();
-            rf.ajax(item.__panelMenu().id, null, $.extend({}, item.options["ajax"], {}));
-            item.__restoreState(oldItem);
-
-            return true;
-        },
-
-        /**
-         * @protected
-         *
-         * @return {undefined}
-         *             - false - if process has been terminated
-         *             - true  - in other cases
-         * */
-        execClient : function (item) {
-            var panelMenu = item.__rfPanelMenu();
-            if (panelMenu.selectedItem()) {
-                panelMenu.getItems()[panelMenu.selectedItem()].unselect();
-            }
-            panelMenu.selectedItem(item.itemName);
-
-            item.__select();
-
-            return item.__fireSelect();
-        },
-
-        /**
-         * @private
-         * */
-        __getParentForm : function (item) {
-            return $($(rf.getDomElement(item.id)).parents("form")[0]);
-        }
-    };
-
-    rf.ui.PanelMenuItem = rf.BaseComponent.extendClass({
-        // class name
-        name:"PanelMenuItem",
-
-        /**
-         * @class PanelMenuItem
-         * @name PanelMenuItem
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId);
-            this.attachToDom();
-
-            this.options = $.extend(this.options, __DEFAULT_OPTIONS, options || {});
-
-            this.mode = this.options.mode
-            this.itemName = this.options.name
-            this.__rfPanelMenu().getItems()[this.itemName] = this;
-
-            // todo move it
-            this.selectionClass = this.options.stylePrefix + "-sel";
-            this.hoverClass = this.options.stylePrefix + "-hov";
-
-            if (!this.options.disabled) {
-                var item = this;
-                if (this.options.highlight) {
-                    this.__item().bind("mouseenter", function() {
-                        item.highlight(true);
-                    });
-                    this.__item().bind("mouseleave", function() {
-                        item.highlight(false);
-                    });
-                }
-
-                if (this.options.selectable) {
-                    this.__header().bind("click", function() {
-                        if (item.__rfPanelMenu().selectedItem() == item.id) {
-                            if (item.options.unselectable) {
-                                return item.unselect();
-                            }
-
-                            // we shouldn't select one item several times
-                        } else {
-                            return item.select();
-                        }
-                    });
-                }
-            }
-
-            item = this;
-            $(this.__panelMenu()).ready(function () {
-                item.__renderNestingLevel();
-            });
-
-            this.__addUserEventHandler("select");
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-        highlight : function (highlight) {
-            if (highlight && !this.selected()) {
-                this.__header().addClass(this.hoverClass);
-            } else {
-                this.__header().removeClass(this.hoverClass);
-            }
-        },
-
-        selected : function () {
-            return this.__header().hasClass(this.selectionClass);
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenuItem#select
-         *
-         * TODO ...
-         * 
-         * @return {void} TODO ...
-         */
-        select: function () {
-            var continueProcess = this.__fireBeforeSelect();
-            if (!continueProcess) {
-                return false;
-            }
-
-            return SELECT_ITEM.exec(this)
-        },
-
-        /**
-         * please, remove this method when client side ajax events will be added
-         *
-         * */
-        onCompleteHandler : function () {
-            SELECT_ITEM.execClient(this);
-        },
-
-        unselect: function () {
-            var panelMenu = this.__rfPanelMenu();
-            if (panelMenu.selectedItem() == this.itemName) {
-                panelMenu.selectedItem(null);
-            } else {
-                rf.warn("You try unselect item (name=" + this.itemName + ") that isn't seleted")
-            }
-
-            this.__unselect();
-
-            return this.__fireUnselect();
-        },
-
-        /***************************** Private Methods ****************************************************************/
-        __rfParentItem : function () {
-            var res = this.__item().parents(".rf-pm-gr")[0];
-            if (!res) {
-                res = this.__item().parents(".rf-pm-top-gr")[0];
-            }
-
-            if (!res) {
-                res = this.__panelMenu();
-            }
-
-            return res ? rf.$(res) : null;
-        },
-
-        __getNestingLevel : function () {
-            if (!this.nestingLevel) {
-                var parentItem = this.__rfParentItem();
-                if (parentItem && parentItem.__getNestingLevel) {
-                    this.nestingLevel = parentItem.__getNestingLevel() + 1;
-                } else {
-                    this.nestingLevel = 0;
-                }
-            }
-
-            return this.nestingLevel;
-        },
-
-        __renderNestingLevel : function () {
-            this.__item().find("td").first().css("padding-left", this.options.itemStep * this.__getNestingLevel());
-        },
-
-        __panelMenu : function () {
-            return this.__item().parents(".rf-pm")[0];
-        },
-
-        __rfPanelMenu : function () {
-            return rf.$(this.__item().parents(".rf-pm")[0]);
-        },
-
-        __changeState : function () {
-            return this.__rfPanelMenu().selectedItem(this.itemName);
-        },
-
-        __restoreState : function (state) {
-            if (state) {
-                this.__rfPanelMenu().selectedItem(state);
-            }
-        },
-
-        __item : function () {
-            return $(rf.getDomElement(this.id));
-        },
-
-        __header : function () {
-            return this.__item();
-        },
-
-        __select: function () {
-            this.__header().addClass(this.selectionClass);
-        },
-
-        __unselect: function () {
-            this.__header().removeClass(this.selectionClass);
-        },
-
-        __fireBeforeSelect : function () {
-            return new rf.Event.fireById(this.id, "beforeselect", {
-                id: this.id
-            });
-        },
-
-        __fireSelect : function () {
-            return new rf.Event.fireById(this.id, "select", {
-                id: this.id
-            });
-        },
-
-        __fireUnselect : function () {
-            return new rf.Event.fireById(this.id, "unselect", {
-                id: this.id
-            });
-        },
-
-        /**
-         * @private
-         * */
-        __addUserEventHandler : function (name) {
-            var handler = this.options["on" + name];
-            if (handler) {
-                rf.Event.bindById(this.id, name, handler);
-            }
-        },
-
-        destroy: function () {
-            delete this.__rfPanelMenu().getItems()[this.itemName];
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.PanelMenuItem.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tab.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tab.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tab.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,139 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.Tab = rf.ui.TogglePanelItem.extendClass({
-        // class name
-        name:"Tab",
-
-        /**
-         * @class AccordionItem
-         * @name AccordionItem
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId, options);
-            this.index = options["index"];
-            this.getTogglePanel().getItems()[this.index] = this;
-
-            //TODO - optimize this
-            rf.Event.bindById(this.id + ":header:active", "click", this.__onHeaderClick, this);
-            rf.Event.bindById(this.id + ":header:inactive", "click", this.__onHeaderClick, this)
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-
-        __onHeaderClick : function (comp) {
-            this.getTogglePanel().switchToItem(this.getName());
-        },
-
-        /**
-         * @param state {string} = inactive | active | disabled
-         *     in that case looking header by css class appropriate to this state
-         *
-         * @return {jQuery Object}
-         * */
-        __header : function (state) {
-            var res = $(rf.getDomElement(this.id + ":header"));
-            if (state) {
-                return $(rf.getDomElement(this.id + ":header:" + state));
-            }
-
-            return res;
-        },
-
-        /**
-         * @return {jQuery Object}
-         * */
-        __content : function () {
-            if (!this.__content_) {
-                this.__content_ = $(rf.getDomElement(this.id + ":content"));
-            }
-            return this.__content_;
-        },
-
-        /**
-         * @private
-         *
-         * used in TogglePanel
-         * */
-        __enter : function () {
-
-            this.__content().show();
-            this.__header("inactive").hide();
-            this.__header("active").show();
-
-            return this.__fireEnter();
-        },
-
-        getHeight : function (recalculate) {
-            if (recalculate || !this.__height) {
-                this.__height = $(rf.getDomElement(this.id)).outerHeight(true)
-            }
-
-            return this.__height;
-        },
-
-        /**
-         * @private
-         *
-         * used in TogglePanel
-         * */
-        __leave : function () {
-            var continueProcess = this.__fireLeave();
-            if (!continueProcess) {
-                return false;
-            }
-
-            this.__content().hide();
-            this.__header("active").hide();
-            this.__header("inactive").show();
-
-            return true;
-        },
-
-        /***************************** Private Methods ********************************************************/
-
-
-        destroy: function () {
-            var parent = this.getTogglePanel();
-            delete parent.getItems()[this.index];
-
-            rf.Event.unbindById(this.id);
-            
-            //TODO - optimize
-            rf.Event.unbindById(this.id + ":header:active");
-            rf.Event.unbindById(this.id + ":header:inactive");
-
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.Tab.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TabPanel.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TabPanel.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TabPanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.TabPanel = rf.ui.TogglePanel.extendClass({
-        // class name
-        name:"TabPanel",
-
-        /**
-         * @class TabPanel
-         * @name TabPanel
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            rf.ui.TogglePanel.call(this, componentId, options);
-            this.items = [];
-
-            this.isKeepHeight = options["isKeepHeight"] || false
-        }
-    });
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanel.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanel.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,433 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    /* SIMPLE INNER CLASS for handle switch operation*/
-    function SwitchItems(comp) {
-        this.comp = comp;
-    }
-
-    SwitchItems.prototype = {
-
-        /**
-         * @param {TogglePanelItem} oldPanel
-         * @param {TogglePanelItem} newPanel
-         *
-         * @return {void}
-         * */
-        exec : function (oldPanel, newPanel) {
-            if (newPanel.switchMode == "server") {
-                return this.execServer(oldPanel, newPanel);
-            } else if (newPanel.switchMode == "ajax") {
-                return this.execAjax(oldPanel, newPanel);
-            } else if (newPanel.switchMode == "client") {
-                return this.execClient(oldPanel, newPanel);
-            } else {
-                rf.log.error("SwitchItems.exec : unknown switchMode (" + this.comp.switchMode + ")");
-            }
-        },
-
-        /**
-         * @protected
-         * @param {TogglePanelItem} oldPanel
-         * @param {TogglePanelItem} newPanel
-         *
-         * @return {Boolean} false
-         * */
-        execServer : function (oldPanel, newPanel) {
-            if (oldPanel) {
-                var continueProcess = oldPanel.__leave();
-                if (!continueProcess) {
-                    return false;
-                }
-            }
-
-            this.__setActiveItem(newPanel.getName());
-
-            rf.submitForm(this.__getParentForm());
-
-            return false;
-        },
-
-        /**
-         * @protected
-         * @param {TogglePanelItem} oldPanel
-         * @param {TogglePanelItem} newPanel
-         *
-         * @return {Boolean} false
-         * */
-        execAjax : function (oldPanel, newPanel) {
-            var options = $.extend({}, this.comp.options["ajax"], {}/*this.getParameters(newPanel)*/);
-
-            this.__setActiveItem(newPanel.getName());
-            rf.ajax(this.comp.id, null, options);
-
-            if (oldPanel) {
-                this.__setActiveItem(oldPanel.getName());
-            }
-
-            return false;
-        },
-
-        /**
-         * @protected
-         * @param {TogglePanelItem} oldPanel
-         * @param {TogglePanelItem} newPanel
-         *
-         * @return {undefined}
-         *             - false - if process has been terminated
-         *             - true  - in other cases
-         * */
-        execClient : function (oldPanel, newPanel) {
-            if (oldPanel) {
-                var continueProcess = oldPanel.__leave();
-                if (!continueProcess) {
-                    return false;
-                }
-            }
-
-            this.__setActiveItem(newPanel.getName());
-
-            newPanel.__enter();
-            this.comp.__fireItemChange(oldPanel, newPanel);
-
-            return true;
-        },
-
-        /**
-         * @private
-         * */
-        __getParentForm : function () {
-            return $(rf.getDomElement(this.comp.id)).parents('form:first');
-        },
-
-        /**
-         * @private
-         * */
-        __setActiveItem : function (name) {
-            rf.getDomElement(this.__getValueInputId()).value = name;
-            this.comp.activeItem = name;
-        },
-
-        /**
-         * @private
-         * */
-        __getValueInputId: function () {
-            return this.comp.id + "-value"
-        }
-    };
-
-    /**
-     * @class TogglePanel
-     * @name TogglePanel
-     *
-     * @constructor
-     * @param {String} componentId - component id
-     * @param {Hash} options - params
-     * */
-    rf.ui.TogglePanel = rf.BaseComponent.extendClass({
-
-        // class name
-        name:"TogglePanel",
-
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId);
-            this.attachToDom();
-
-            this.options = $.extend(this.options, options || {});
-            this.activeItem = this.options.activeItem;
-            this.items = this.options.items;
-
-            this.__addUserEventHandler("itemchange");
-            this.__addUserEventHandler("beforeitemchange");
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-
-        /**
-         * @methodOf
-         *
-         * @name TogglePanel#getSelectItem
-         *
-         * @return {String} name of current selected panel item
-         */
-        getSelectItem: function () {
-            return this.activeItem;
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#switchToItem
-         *
-         * @param {String} name - panel item name to switch
-         *           we can use meta names @first, @prev, @next and @last
-         * @return {Boolean} - false if something wrong and true if all is ok
-         */
-        switchToItem: function (name) {
-            var newPanel = this.getNextItem(name);
-            if (newPanel == null) {
-                rf.log.warn("TogglePanel.switchToItems(" + name + "): item with name '" + name + "' not found");
-                return false;
-            }
-
-            var oldPanel = this.__getItemByName(this.getSelectItem());
-
-            var continueProcess = this.__fireBeforeItemChange(oldPanel, newPanel);
-            if (!continueProcess) {
-                rf.log.warn("TogglePanel.switchToItems(" + name + "): switch has been canceled by beforeItemChange event");
-                return false
-            }
-
-            return new SwitchItems(this).exec(oldPanel, newPanel);
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#getNextItem
-         *
-         * @param {String} name of TogglePanelItem or meta name (@first | @prev | @next | @last)
-         * @return {TogglePanelItem} null if item not found
-         */
-        getNextItem : function (name) {
-            if (name) {
-                var newItemIndex = this.__ITEMS_META_NAMES[name];
-                if (newItemIndex) {
-                    return this.__getItem(newItemIndex(this));
-                } else {
-                    return this.__getItemByName(name);
-                }
-            } else {
-                return this.__getItemByName(this.nextItem());
-            }
-        },
-
-        /**
-         * please, remove this method when client side ajax events will be added
-         *
-         * */
-        onCompleteHandler : function (newItemName) {
-            var oldItem = this.__getItemByName(this.activeItem);
-            var newItem = this.__getItemByName(newItemName);
-
-            // Don't do like this and remove it ASAP
-            new SwitchItems(this).execClient(oldItem, newItem);
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#getItems
-         *
-         * @return {TogglePanelItem[]} all defined panel items
-         */
-        getItems : function () {
-            return this.items;
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#getItemsNames
-         *
-         * @return {String[]} names of all defined items
-         */
-        getItemsNames: function () {
-            var res = [];
-            for (var item in this.items) {
-                res.push(this.items[item].getName());
-            }
-
-            return res;
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#nextItem
-         *
-         * @param {String} [itemName = activeItem]
-         * @return {String} name of next panel item
-         */
-        nextItem: function (itemName) {
-            var itemIndex = this.__getItemIndex(itemName || this.activeItem);
-            if (itemIndex == -1) {
-                return null;
-            }
-
-            return this.__getItemName(itemIndex + 1);
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#firstItem
-         *
-         * @return {String} name of first panel item
-         */
-        firstItem: function () {
-            return this.__getItemName(0);
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#lastItem
-         *
-         * @return {String} name of last panel item
-         */
-        lastItem: function () {
-            return this.__getItemName(this.items.length - 1);
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanel#prevItem
-         *
-         * @param {String} itemName
-         * @return {String} name of prev panel item
-         *                  null if it is first item
-         */
-        prevItem: function (itemName) {
-            var itemIndex = this.__getItemIndex(itemName || this.activeItem);
-            if (!this.options.cycledSwitching && itemIndex < 1) {
-                return null;
-            }
-
-            return this.__getItemName(itemIndex - 1);
-        },
-
-        /////////////////////////////////////////////////////////////////////////////////
-        //// Private
-        /////////////////////////////////////////////////////////////////////////////////
-
-        /********************* Methods *************************/
-
-        __ITEMS_META_NAMES : (function () {
-            function goFrom (comp, ind, step) {
-                var res = ind;
-                while ((!comp.items[res] || comp.items[res].disabled) && res < comp.items.length && res > 0) {
-                    res += step;
-                }
-                return res;
-            }
-
-
-            return {
-                "@first" : function (comp) {
-                    return goFrom(comp, 0, 1);
-                },
-
-                "@prev"  : function (comp) {
-                    return goFrom(comp, parseInt(comp.__getItemIndex(comp.activeItem)) - 1 , -1);
-                },
-
-                "@next"  : function (comp) {
-                    return goFrom(comp, parseInt(comp.__getItemIndex(comp.activeItem)) + 1 , 1);
-                },
-
-                "@last"  : function (comp) {
-                    return goFrom(comp, comp.items.length - 1, -1);
-                }
-            }
-        })(),
-
-        /**
-         * @private
-         * */
-        __getItemIndex : function (itemName) {
-            for (var i in this.items) {
-                if (!this.items[i].disabled && this.items[i].getName() === itemName) {
-                    return parseInt(i);
-                }
-            }
-
-            rf.log.info("TogglePanel.getItemIndex: item with name '" + itemName + "' not found");
-            return -1;
-        },
-
-        /**
-         * @private
-         * */
-        __addUserEventHandler : function (name) {
-            var handler = this.options["on" + name];
-            if (handler) {
-                rf.Event.bindById(this.id, name, handler);
-            }
-        },
-
-        /**
-         * @private
-         * @param {Number} index - array index
-         *
-         * @return {TogglePanelItem}
-         *    null - if item not found
-         * */
-        __getItem : function (index) {
-            if (this.options.cycledSwitching) {
-                var size = this.items.length;
-                return this.items[(size + index) % size]
-            } else if (index >= 0 && index < this.items.length) {
-                return this.items[index]
-            } else {
-                return null;
-            }
-        },
-
-        __getItemByName : function (name) {
-            return this.__getItem(this.__getItemIndex(name));
-        },
-
-        __getItemName : function (index) {
-            var item = this.__getItem(index);
-            if (item == null) {
-                return null;
-            }
-
-            return item.getName();
-        },
-
-        /**
-         * Fire Concealable Event
-         * */
-
-        __fireItemChange : function (oldItem, newItem) {
-            return new rf.Event.fireById(this.id, "itemchange", {
-                id: this.id,
-                oldItem : oldItem,
-                newItem : newItem
-            });
-        },
-
-        __fireBeforeItemChange : function (oldItem, newItem) {
-            return rf.Event.fireById(this.id, "beforeitemchange", {
-                id: this.id,
-                oldItem : oldItem,
-                newItem : newItem
-            });
-        },
-
-        destroy: function () {
-		$super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.TogglePanel.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanelItem.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanelItem.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/TogglePanelItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,120 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.TogglePanelItem = rf.BaseComponent.extendClass({
-
-        // class name
-        name:"TogglePanelItem",
-
-        init : function (componentId, options) {
-            // call constructor of parent class
-            $super.constructor.call(this, componentId);
-            this.attachToDom();
-
-            this.options = $.extend(this.options, options || {});
-            this.name = this.options.name;
-            this.togglePanelId = this.options.togglePanelId;
-            this.switchMode = this.options.switchMode;
-            this.disabled = this.options.disabled || false;
-        },
-
-        /***************************** Public Methods *****************************************************************/
-        /**
-         * @methodOf TogglePanelItem
-         * @name TogglePanelItem#getName
-         *
-         * @return {String} panel item name
-         */
-        getName: function () {
-            return this.options.name;
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanelItem#getTogglePanel
-         *
-         * @return {TogglePanel} parent TogglePanel
-         * */
-        getTogglePanel : function () {
-            return rf.$(this.togglePanelId);
-        },
-
-        /**
-         * @methodOf
-         * @name TogglePanelItem#isSelected
-         *
-         * @return {Boolean} true if this panel item is selected in the parent toggle panel
-         * */
-        isSelected : function () {
-            return this.getName() == this.getTogglePanel().getSelectItem();
-        },
-
-
-        /***************************** Private Methods ****************************************************************/
-
-        /**
-         * @private
-         *
-         * used in TogglePanel
-         * */
-        __enter : function () {
-            rf.getDomElement(this.id).style.display = "block";
-
-            return this.__fireEnter();
-        },
-
-        /**
-         * @private
-         *
-         * used in TogglePanel
-         * */
-        __leave : function () {
-            var continueProcess = this.__fireLeave();
-            if (!continueProcess) {
-                return false;
-            }
-
-            rf.getDomElement(this.id).style.display = "none";
-            return true;
-        },
-
-        __fireLeave : function () {
-            return rf.Event.fireById(this.id, "__leave");
-        },
-
-        __fireEnter : function () {
-            return rf.Event.fireById(this.id, "__enter");
-        },
-
-        // class stuff
-        destroy: function () {
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.TogglePanelItem.$super;
-})(jQuery, RichFaces);

Deleted: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tooltip.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tooltip.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/Tooltip.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,295 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright ${year}, Red Hat, Inc. and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software 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 software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
-
-(function ($, rf) {
-
-    rf.ui = rf.ui || {};
-
-    rf.ui.TooltipDirection = {
-        topRight : "topRight",
-        topLeft : "topLeft",
-        bottomRight : "bottomRight",
-        bottomLeft : "bottomLeft",
-        auto : "auto",
-
-        DEFAULT: "bottomRight"
-    };
-    var TooltipDirection = rf.ui.TooltipDirection;
-
-    rf.ui.TooltipMode = {
-        client : "client",
-        ajax : "ajax",
-
-        DEFAULT: "client"
-    };
-    var TooltipMode = rf.ui.TooltipMode;
-
-    var DEFAULT_OPTIONS = {
-        direction : TooltipDirection.DEFAULT,
-        attached : true,
-        offset : [],
-        mode : TooltipMode.DEFAULT,
-        disabled : false,
-        hideDelay : 0,
-        hideEvent : "mouseleave",
-        showDelay : 0,
-        showEvent : "mouseenter",
-        followMouse : true
-    };
-
-    var SHOW_ACTION = {
-
-        /**
-         *
-         * @return {void}
-         * */
-        exec : function (tooltip, event) {
-            var mode = tooltip.mode;
-            if (mode == TooltipMode.ajax) {
-                return this.execAjax(tooltip, event);
-            } else if (mode == TooltipMode.client) {
-                return this.execClient(tooltip, event);
-            } else {
-                rf.log.error("SHOW_ACTION.exec : unknown mode (" + mode + ")");
-            }
-        },
-
-        /**
-         * @protected
-         *
-         * @return {Boolean} false
-         * */
-        execAjax : function (tooltip, event) {
-            tooltip.__loading().show();
-            tooltip.__content().hide();
-            tooltip.__show(event);
-
-            rf.ajax(tooltip.id, null, $.extend({}, tooltip.options["ajax"], {}));
-
-            return true;
-        },
-
-        /**
-         * @protected
-         *
-         * @return {undefined}
-         *             - false - if process has been terminated
-         *             - true  - in other cases
-         * */
-        execClient : function (tooltip, event) {
-            tooltip.__show(event);
-
-            return tooltip.__fireShow();
-        }
-    };
-
-    rf.ui.Tooltip = rf.BaseComponent.extendClass({
-        // class name
-        name:"Tooltip",
-
-        /**
-         * @class Tooltip
-         * @name Tooltip
-         *
-         * @constructor
-         * @param {String} componentId - component id
-         * @param {Hash} options - params
-         * */
-        init : function (componentId, options) {
-            $super.constructor.call(this, componentId);
-            this.options = $.extend(this.options, DEFAULT_OPTIONS, options || {});
-            this.attachToDom();
-
-            this.mode = this.options.mode;
-            this.target = this.options.target;
-
-            this.__addUserEventHandler("hide");
-            this.__addUserEventHandler("show");
-            this.__addUserEventHandler("beforehide");
-            this.__addUserEventHandler("beforeshow");
-
-            this.popup = new RichFaces.ui.Popup(this.id, {
-                attachTo: this.target,
-                attachToBody: false,
-                positionType: "TOOLTIP",
-                positionOffset: [200,200]
-            });
-
-            var tooltip = this;
-            function mouseMoveHandler(event) {
-                tooltip.popup.show(event);
-            }
-
-            $(document.getElementById(this.target)).bind(this.options.showEvent, function (event) {
-                tooltip.show(event);
-
-                if (tooltip.options.followMouse) {
-                    $(document.getElementById(tooltip.target)).bind("mousemove", mouseMoveHandler);
-                }
-            });
-
-            $(document.getElementById(tooltip.target)).bind(this.options.hideEvent, function (event) {
-                tooltip.hide();
-
-                if (tooltip.options.followMouse) {
-                    $(document.getElementById(tooltip.target)).unbind("mousemove", mouseMoveHandler);
-                }
-            });
-
-        },
-
-        /***************************** Public Methods  ****************************************************************/
-        /**
-         * @methodOf
-         * @name PanelMenuItem#hide
-         *
-         * TODO ...
-         *
-         * @return {void} TODO ...
-         */
-        hide: function () {
-            var continueProcess = this.__fireBeforeHide();
-            if (!continueProcess) {
-                return false;
-            }
-
-            this.__hide();
-
-            return this.__fireHide()
-        },
-
-        /**
-         * @private
-         * @return {void} TODO ...
-         */
-        __hide: function () {
-            var tooltip = this;
-            this.__delay(this.options.hideDelay, function () {
-                tooltip.popup.hide();
-            });
-        },
-
-        /**
-         * @methodOf
-         * @name PanelMenuItem#show
-         *
-         * TODO ...
-         *
-         * @return {void} TODO ...
-         */
-        show: function (event) {
-            var continueProcess = this.__fireBeforeShow();
-            if (!continueProcess) {
-                return false;
-            }
-
-            SHOW_ACTION.exec(this, event);
-        },
-
-        onCompleteHandler : function () {
-            this.__content().show();
-            this.__loading().hide();
-
-            return this.__fireShow();
-        },
-
-        /**
-         * @private
-         * @return {void} TODO ...
-         */
-        __show: function (event) {
-            var tooltip = this;
-            this.__delay(this.options.showDelay, function () {
-                tooltip.popup.show(event);
-            });
-        },
-
-        /***************************** Private Methods ****************************************************************/
-        __delay : function (delay, action) {
-            if (delay > 0) {
-                var hidingTimerHandle = window.setTimeout(function() {
-                    action();
-
-                    if (hidingTimerHandle) {
-                        window.clearTimeout(hidingTimerHandle);
-                        hidingTimerHandle = undefined;
-                    }
-                }, delay);
-            } else {
-                action();
-            }
-        },
-
-        __detectAncestorNode: function(leaf, element) {
-            // Return true if "element" is "leaf" or one of its parents
-            var node = leaf;
-            while (node != null && node != element) {
-                node = node.parentNode;
-            }
-            return (node != null);
-        },
-
-        __loading : function () {
-            return $(document.getElementById(this.id + ":loading"));
-        },
-
-        __content : function () {
-            return $(document.getElementById(this.id + "@content"));
-        },
-
-        __fireHide : function () {
-            return rf.Event.fireById(this.id, "hide", { id: this.id });
-        },
-
-        __fireShow : function () {
-            return rf.Event.fireById(this.id, "show", { id: this.id });
-        },
-
-        __fireBeforeHide : function () {
-            return rf.Event.fireById(this.id, "beforehide", { id: this.id });
-        },
-
-        __fireBeforeShow : function () {
-            return rf.Event.fireById(this.id, "beforeshow", { id: this.id });
-        },
-
-
-
-        /**
-         * @private
-         * */
-        __addUserEventHandler : function (name) {
-            var handler = this.options["on" + name];
-            if (handler) {
-                rf.Event.bindById(this.id, name, handler);
-            }
-        },
-
-        destroy: function () {
-            $super.destroy.call(this);
-        }
-    });
-
-    // define super class link
-    var $super = rf.ui.Tooltip.$super;
-})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordion.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordion.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordion.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordion.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,75 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.Accordion = rf.ui.TogglePanel.extendClass({
+        // class name
+        name:"Accordion",
+
+        /**
+         * @class Accordion
+         * @name Accordion
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId, options);
+            this.items = [];
+
+            this.isKeepHeight = options["isKeepHeight"] || false  
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+
+        getHeight : function (recalculate) {
+            if (recalculate || !this.__height) {
+                this.__height = $(rf.getDomElement(this.id)).outerHeight(true)
+            }
+
+            return this.__height;
+        },
+
+        getInnerHeight : function (recalculate) {
+            if (recalculate || !this.__innerHeight) {
+                this.__innerHeight = $(rf.getDomElement(this.id)).innerHeight(true)
+            }
+
+            return this.__innerHeight;
+        },
+
+        /***************************** Private Methods ********************************************************/
+
+
+        destroy: function () {
+            rf.Event.unbindById(this.id, "." + this.namespace);
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.Accordion.$super;
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordionItem.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordionItem.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordionItem.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/accordionItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,158 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.AccordionItem = rf.ui.TogglePanelItem.extendClass({
+        // class name
+        name:"AccordionItem",
+
+        /**
+         * @class AccordionItem
+         * @name AccordionItem
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId, options);
+            this.index = options["index"];
+            this.getTogglePanel().getItems()[this.index] = this;
+
+            if (!this.disabled) {
+                rf.Event.bindById(this.id + ":header", "click", this.__onHeaderClick, this);
+            }
+
+            if (this.isSelected()) {
+                var item = this;
+                $(document).ready(function () {
+                    item.__fitToHeight(item.getTogglePanel());
+                });
+            }
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+
+        __onHeaderClick : function (comp) {
+            this.getTogglePanel().switchToItem(this.getName());
+        },
+
+        /**
+         * @param state {string} = inactive | active | disabled
+         *     in that case looking header by css class appropriate to this state
+         *
+         * @return {jQuery Object}
+         * */
+        __header : function (state) {
+            var res = $(rf.getDomElement(this.id + ":header"));
+            if (state) {
+                return res.find(".rf-ac-itm-hdr-" + state);
+            }
+
+            return res;
+        },
+
+        /**
+         * @return {jQuery Object}
+         * */
+        __content : function () {
+            if (!this.__content_) {
+                this.__content_ = $(rf.getDomElement(this.id + ":content"));
+            }
+            return this.__content_;
+        },
+
+        /**
+         * @private
+         *
+         * used in TogglePanel
+         * */
+        __enter : function () {
+            var parentPanel = this.getTogglePanel();
+            if (parentPanel.isKeepHeight) {
+                this.__content().hide(); // TODO ?
+                this.__fitToHeight(parentPanel);
+            }
+
+            this.__content().show();
+            this.__header("inact").hide();
+            this.__header("act").show();
+
+            return this.__fireEnter();
+        },
+
+        __fitToHeight : function (parentPanel) {
+            var h = parentPanel.getInnerHeight();
+
+            var items = parentPanel.getItems();
+            for (var i in items) {
+                h -= items[i].__header().outerHeight();
+            }
+
+            this.__content().height(h - 20); // 20 it is padding top and bottom
+        },
+
+        getHeight : function (recalculate) {
+            if (recalculate || !this.__height) {
+                this.__height = $(rf.getDomElement(this.id)).outerHeight(true)
+            }
+
+            return this.__height;
+        },
+
+        /**
+         * @private
+         *
+         * used in TogglePanel
+         * */
+        __leave : function () {
+            var continueProcess = this.__fireLeave();
+            if (!continueProcess) {
+                return false;
+            }
+
+            this.__content().hide();
+            this.__header("act").hide();
+            this.__header("inact").show();
+
+            return true;
+        },
+
+        /***************************** Private Methods ********************************************************/
+
+
+        destroy: function () {
+            var parent = this.getTogglePanel();
+            delete parent.getItems()[this.index];
+
+            rf.Event.unbindById(this.id, "."+this.namespace);
+
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.AccordionItem.$super;
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanel.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanel.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanel.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.CollapsiblePanel = rf.ui.TogglePanel.extendClass({
+
+        name:"CollapsiblePanel",
+
+        /**
+         * @class CollapsiblePanel
+         * @name CollapsiblePanel
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            rf.ui.TogglePanel.call(this, componentId, options);
+            this.switchMode = options.switchMode;
+
+            this.__addUserEventHandler("beforeswitch");
+            this.__addUserEventHandler("switch");
+
+            this.items = [
+                new RichFaces.ui.CollapsiblePanelItem(
+                    this.id + ":content", {"index":0, "togglePanelId":this.id, "switchMode":this.switchMode, "name":"true"}),
+
+                new RichFaces.ui.CollapsiblePanelItem(
+                    this.id + ":empty", {"index":1, "togglePanelId":this.id, "switchMode":this.switchMode, "name":"false"})
+            ];
+            this.options.cycledSwitching = true;
+
+            rf.Event.bindById(this.id + ":header", "click", this.__onHeaderClick, this)
+        },
+
+        switchPanel : function (to) {
+            this.switchToItem(to || "@next");
+        },
+
+        /***************************** Private Methods ********************************************************/
+
+        __onHeaderClick : function () {
+            this.switchToItem("@next");
+        },
+
+        __fireItemChange : function (oldItem, newItem) {
+            return new rf.Event.fireById(this.id, "switch", {
+                id: this.id,
+                isExpanded : newItem.getName()
+            });
+        },
+
+        __fireBeforeItemChange : function (oldItem, newItem) {
+            return rf.Event.fireById(this.id, "beforeswitch", {
+                id: this.id,
+                isExpanded : newItem.getName()
+            });
+        }
+    });
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanelItem.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanelItem.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanelItem.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/collapsiblePanelItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.CollapsiblePanelItem = rf.ui.TogglePanelItem.extendClass({
+
+        init : function (componentId, options) {
+            rf.ui.TogglePanelItem.call(this, componentId, options);
+        },
+
+        __enter : function () {
+            rf.getDomElement(this.id).style.display = "block";
+            this.__header(this.__state()).show();
+
+            return true;
+        },
+
+        __leave : function () {
+            rf.getDomElement(this.id).style.display = "none";
+            this.__header(this.__state()).hide();
+
+            return true;
+        },
+
+        __state : function () {
+            return this.getName() === "true" ? "exp" : "colps";
+        },
+
+        __header : function (state) {
+            var res = $(rf.getDomElement(this.togglePanelId + ":header"));
+            if (state) {
+                return res.find(".rf-cp-hdr-" + state);
+            }
+
+            return res;
+        }
+    });
+})(jQuery, RichFaces);

Modified: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/dropdownmenu.ecss
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/dropdownmenu.ecss	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/dropdownmenu.ecss	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,5 +1,5 @@
-.rf-ddm-lbl, .rf-ddm-lbl-dis {
-	font-family:Arial, Verdana, sans-serif;
+.rf-ddm-lbl, .rf-ddm-lbl-dis {	
+	font-family: '#{richSkin.headerFamilyFont}';	
 	font-size:11px;
 	position:relative;
 }
@@ -25,8 +25,9 @@
 	border:1px solid; /*#bfbfc0*/  /*panelBorderColor*/
 	border-color: '#{richSkin.panelBorderColor}';
 	background-color: '#{richSkin.additionalBackgroundColor}'; /*#e7f2fb;/  /*additionalBackgroundColor*/
-	min-width:250px; 
+	min-width:250px; 	
 	position:absolute;
+	z-index:10;
 }
 .rf-ddm-sublst {
 	position:absolute;

Modified: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/menu.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/menu.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/menu.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -6,7 +6,7 @@
         attachToBody: false,
         positionOffset: [0, 0],
         showDelay: 50,
-        hideDelay: 800,
+        hideDelay: 300,
         verticalOffset: 0,
         horisantalOffset: 0,
         showEvent: 'mouseover',
@@ -81,8 +81,8 @@
             },             processItem: function(item) {
-                if (item && item.attr('id') && !this.__isDisabled(item) && this.__isGroup(item)) {
-                	this.invokeEvent("itemclick", rf.getDomElement(this.id), null);
+                if (item && item.attr('id') && !this.__isDisabled(item) && !this.__isGroup(item)) {
+                	this.invokeEvent("itemclick", rf.getDomElement(this.id), null);                	
                     this.hidePopup();                                        
                 }
             },

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenu.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenu.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenu.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenu.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,211 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    var __DEFAULT_OPTIONS = {
+        expandSingle : true
+    };
+
+    rf.ui.PanelMenu = rf.BaseComponent.extendClass({
+        // class name
+        name:"PanelMenu",
+
+        /**
+         * @class PanelMenu
+         * @name PanelMenu
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId);
+            this.items = [];
+            this.attachToDom();
+
+            this.options = $.extend(this.options, __DEFAULT_OPTIONS, options || {});
+            this.activeItem = this.__getValueInput().value;
+            this.nestingLevel = 0;
+
+            var menuGroup = this;
+            if (menuGroup.options.expandSingle) {
+                menuGroup.__panelMenu().bind("expand", function (event) {
+                    menuGroup.__childGroups().each (function (index, group) {
+                        if (event.target.id != group.id) {
+                            rf.$(group.id).collapse();
+                        }
+                    });
+
+                    event.stopPropagation();
+                });
+            }
+
+            if (menuGroup.activeItem) {
+                this.__panelMenu().ready(function () {
+                    var item = menuGroup.items[menuGroup.activeItem];
+                    item.__select();
+                    item.__fireSelect();
+                })
+            }
+
+            this.__addUserEventHandler("collapse");
+            this.__addUserEventHandler("expand");
+        },
+
+        getItems: function () {
+            return this.items;
+        },
+
+        getItem: function (name) {
+            return this.items[name];
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+        /**
+         * @methodOf
+         * @name PanelMenu#selectItem
+         *
+         * TODO ...
+         * 
+              * @param {String} name
+         * @return {void} TODO ...
+         */
+        selectItem: function (name) {
+            // TODO implement
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenu#selectedItem
+         *
+         * TODO ...
+         * 
+         * @return {String} TODO ...
+         */
+        selectedItem: function (id) {
+            if (id != undefined) {
+                var valueInput = this.__getValueInput();
+                var prevActiveItem = valueInput.value;
+
+                this.activeItem = id;
+                valueInput.value = id;
+
+                return prevActiveItem;
+            } else {
+                return this.activeItem;
+            }
+        },
+
+        __getValueInput : function() {
+            return document.getElementById(this.id + "-value");
+        },
+
+        selectItem: function (itemName) {
+            // TODO
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenu#expandAll
+         *
+         * TODO ...
+         * 
+         * @return {void} TODO ...
+         */
+        expandAll: function () {
+            // TODO implement
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenu#collapseAll
+         *
+         * TODO ...
+         * 
+         * @return {void} TODO ...
+         */
+        collapseAll: function () {
+            // TODO implement
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenu#expandGroup
+         *
+         * TODO ...
+         * 
+              * @param {String} groupName
+         * @return {void} TODO ...
+         */
+        expandGroup: function (groupName) {
+            // TODO implement
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenu#collapseGroup
+         *
+         * TODO ...
+         * 
+              * @param {String} groupName
+         * @return {void} TODO ...
+         */
+        collapseGroup: function (groupName) {
+            // TODO implement
+        },
+
+
+        /***************************** Private Methods ****************************************************************/
+
+
+        __panelMenu  : function () {
+            return $(rf.getDomElement(this.id));
+        },
+
+        __childGroups : function () {
+            return this.__panelMenu().children(".rf-pm-top-gr")
+        },
+
+        /**
+         * @private
+         * */
+        __addUserEventHandler : function (name) {
+            var handler = this.options["on" + name];
+            if (handler) {
+                rf.Event.bindById(this.id, name, handler);
+            }
+        },
+
+        destroy: function () {
+            rf.Event.unbindById(this.id, "."+this.namespace);
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.PanelMenu.$super;
+
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuGroup.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuGroup.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuGroup.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuGroup.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,365 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    var __DEFAULT_OPTIONS = {
+        expanded : false,
+        expandSingle : true,
+        bubbleSelection : true,
+        stylePrefix : "rf-pm-gr",
+
+        // TODO we should use selectionType = {none, selectable, unselectable}
+        selectable : false,
+        unselectable : false // unselectable can be only selectable item => if selectable == false than unselectable = false
+    };
+
+    var EXPAND_ITEM = {
+
+        /**
+         *
+         * @return {void}
+         * */
+        exec : function (group, expand) {
+            var mode = group.mode;
+            if (mode == "server") {
+                return this.execServer(group);
+            } else if (mode == "ajax") {
+                return this.execAjax(group);
+            } else if (mode == "client" || mode == "none") {
+                return this.execClient(group, expand);
+            } else {
+                rf.log.error("EXPAND_ITEM.exec : unknown mode (" + mode + ")");
+            }
+        },
+
+        /**
+         * @protected
+         *
+         * @return {Boolean} false
+         * */
+        execServer : function (group) {
+            group.__changeState();
+            rf.submitForm(this.__getParentForm(group));
+
+            return false;
+        },
+
+        /**
+         * @protected
+         *
+         * @return {Boolean} false
+         * */
+        execAjax : function (group) {
+            var oldState = group.__changeState();
+            rf.ajax(group.id, null, $.extend({}, group.options["ajax"], {}));
+            group.__restoreState(oldState);
+
+            return true;
+        },
+
+        /**
+         * @protected
+         *
+         * @param {PanelMenuGroup} group
+         * @param {Boolean} expand
+         * @return {undefined}
+         *             - false - if process has been terminated
+         *             - true  - in other cases
+         * */
+        execClient : function (group, expand) {
+            if (expand) {
+                group.expand();
+            } else {
+                group.collapse();
+            }
+
+            return group.__fireSwitch();
+        },
+
+        /**
+         * @private
+         * */
+        __getParentForm : function (item) {
+            return $($(rf.getDomElement(item.id)).parents("form")[0]);
+        }
+    };
+
+    rf.ui.PanelMenuGroup = rf.ui.PanelMenuItem.extendClass({
+        // class name
+        name:"PanelMenuGroup",
+
+        /**
+         * @class PanelMenuGroup
+         * @name PanelMenuGroup
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId);
+            this.options = $.extend(this.options, __DEFAULT_OPTIONS, options || {});
+
+            if (!this.options.disabled) {
+                var menuGroup = this;
+
+                if (!this.options.selectable) {
+                    this.__header().bind("click", function () {
+                        return menuGroup.switchExpantion();
+                    });
+                }
+
+                if (this.options.selectable || this.options.bubbleSelection) {
+                    this.__content().bind("select", function (event) {
+                        if (menuGroup.options.selectable && menuGroup.__isMyEvent(event)) {
+                            menuGroup.expand();
+                        }
+
+                        if (menuGroup.options.bubbleSelection && !menuGroup.__isMyEvent(event)) {
+                            menuGroup.__select();
+                            if (!menuGroup.expanded()) {
+                                menuGroup.expand();
+                            }
+                        }
+                    });
+
+                    this.__content().bind("unselect", function (event) {
+                        if (menuGroup.options.selectable && menuGroup.__isMyEvent(event)) {
+                            menuGroup.collapse();
+                        }
+
+                        if (menuGroup.options.bubbleSelection && !menuGroup.__isMyEvent(event)) {
+                            menuGroup.__unselect();
+                        }
+                    });
+                }
+
+                if (menuGroup.options.expandSingle) {
+                    menuGroup.__group().bind("expand", function (event) {
+                        if (menuGroup.__isMyEvent(event)) {
+                            return;
+                        }
+
+                        menuGroup.__childGroups().each (function (index, group) {
+                            var rfGroup = rf.$(group);
+                            if (!rfGroup.__isMyEvent(event)) {
+                                rfGroup.collapse();
+                            }
+                        });
+                        
+                        event.stopPropagation();
+                    });
+                }
+
+                this.__addUserEventHandler("collapse");
+                this.__addUserEventHandler("expand");
+            }
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+        expanded : function () {
+            // TODO check invariant in dev mode
+            // return this.__content().hasClass("rf-pm-exp")
+            return this.__getExpandValue();
+        },
+
+        expand : function () {
+            this.__expand();
+
+            return this.__fireExpand();
+        },
+
+        __expand : function () {
+            this.__content().removeClass("rf-pm-colps").addClass("rf-pm-exp");
+            var header = this.__header();
+            header.find(".rf-pm-ico-colps").hide();
+            header.find(".rf-pm-ico-exp").show();
+            
+            this.__setExpandValue(true);
+        },
+
+        collapsed : function () {
+            // TODO check invariant in dev mode
+            // return this.__content().hasClass("rf-pm-colps")
+            return !this.__getExpandValue();
+        },
+
+        collapse : function () {
+            this.__collapse();
+
+            this.__childGroups().each (function(index, group) {
+                rf.$(group.id).__collapse();
+            });
+
+            this.__fireCollapse();
+        },
+
+        __collapse : function () {
+            this.__content().addClass("rf-pm-colps").removeClass("rf-pm-exp");
+            var header = this.__header();
+            header.find(".rf-pm-ico-exp").hide();
+            header.find(".rf-pm-ico-colps").show();
+
+            this.__setExpandValue(false);
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenuGroup#switch
+         *
+         * TODO ...
+         * 
+         * @param {boolean} expand
+         * @return {void} TODO ...
+         */
+        switchExpantion : function () { // TODO rename
+            var continueProcess = this.__fireBeforeSwitch();
+            if (!continueProcess) {
+                return false;
+            }
+
+            EXPAND_ITEM.exec(this, !this.expanded());
+        },
+
+        /**
+         * please, remove this method when client side ajax events will be added
+         *
+         * */
+        onCompleteHandler : function () {
+            EXPAND_ITEM.execClient(this, this.expanded());
+        },
+
+        __switch : function (expand) {
+            if (expand) {
+                this.expand();
+            } else {
+                this.collapse();
+            }
+        },
+
+        /***************************** Private Methods ****************************************************************/
+        __childGroups : function () {
+            return this.__content().children(".rf-pm-gr")
+        },
+
+        __group : function () {
+            return $(rf.getDomElement(this.id))
+        },
+
+        __header : function () {
+            return $(rf.getDomElement(this.id + ":hdr"))
+        },
+
+        __content : function () {
+            return $(rf.getDomElement(this.id + ":cnt"))
+        },
+
+        __expandValueInput : function () {
+            return document.getElementById(this.id + ":expanded");
+        },
+
+        __getExpandValue : function () {
+            return this.__expandValueInput().value == "true"; 
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenuGroup#__setExpandValue
+         *
+         * @param {boolean} value - is group expanded?
+         * @return {boolean} preview value
+         */
+        __setExpandValue : function (value) {
+            var input = this.__expandValueInput();
+            var oldValue = input.value;
+
+            input.value = value;
+
+            return oldValue;
+        },
+
+        __changeState : function () {
+            var state = {};
+            state["expanded"] = this.__setExpandValue(!this.__getExpandValue());
+            if (this.options.selectable) {
+                state["itemName"] = this.__rfPanelMenu().selectedItem(this.itemName); // TODO bad function name for function which change component state
+            }
+
+            return state;
+        },
+
+        __restoreState : function (state) {
+            if (!state) {
+                return;
+            }
+
+            if (state["expanded"]) {
+                this.__setExpandValue(state["expanded"]);
+            }
+            
+            if (state["itemName"]) {
+                this.__rfPanelMenu().selectedItem(state["itemName"]);
+            }
+        },
+
+        __fireSwitch : function () {
+            return new rf.Event.fireById(this.id, "switch", {
+                id: this.id
+            });
+        },
+
+        __isMyEvent: function (event) {
+            return this.id == event.target.id; 
+        },
+
+        __fireBeforeSwitch : function () {
+            return rf.Event.fireById(this.id, "beforeswitch", {
+                id: this.id
+            });
+        },
+
+        __fireCollapse : function () {
+            return new rf.Event.fireById(this.id, "collapse", {
+                id: this.id
+            });
+        },
+
+        __fireExpand : function () {
+            return new rf.Event.fireById(this.id, "expand", {
+                id: this.id
+            });
+        },
+
+        destroy: function () {
+            rf.Event.unbindById(this.id, "."+this.namespace);
+
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.PanelMenuGroup.$super;
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuItem.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuItem.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuItem.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/panelMenuItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,321 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    var __DEFAULT_OPTIONS = {
+        disabled : false,
+        selectable: true,
+        mode: "client",
+        unselectable: false,
+        highlight: true,
+        stylePrefix: "rf-pm-itm",
+        itemStep: 20
+    };
+
+    var SELECT_ITEM = {
+
+        /**
+         *
+         * @return {void}
+         * */
+        exec : function (item) {
+            var mode = item.mode;
+            if (mode == "server") {
+                return this.execServer(item);
+            } else if (mode == "ajax") {
+                return this.execAjax(item);
+            } else if (mode == "client" || mode == "none") {
+                return this.execClient(item);
+            } else {
+                rf.log.error("SELECT_ITEM.exec : unknown mode (" + mode + ")");
+            }
+        },
+
+        /**
+         * @protected
+         *
+         * @return {Boolean} false
+         * */
+        execServer : function (item) {
+            item.__changeState();
+            rf.submitForm(this.__getParentForm(item));
+
+            return false;
+        },
+
+        /**
+         * @protected
+         *
+         * @return {Boolean} false
+         * */
+        execAjax : function (item) {
+            var oldItem = item.__changeState();
+            rf.ajax(item.__panelMenu().id, null, $.extend({}, item.options["ajax"], {}));
+            item.__restoreState(oldItem);
+
+            return true;
+        },
+
+        /**
+         * @protected
+         *
+         * @return {undefined}
+         *             - false - if process has been terminated
+         *             - true  - in other cases
+         * */
+        execClient : function (item) {
+            var panelMenu = item.__rfPanelMenu();
+            if (panelMenu.selectedItem()) {
+                panelMenu.getItems()[panelMenu.selectedItem()].unselect();
+            }
+            panelMenu.selectedItem(item.itemName);
+
+            item.__select();
+
+            return item.__fireSelect();
+        },
+
+        /**
+         * @private
+         * */
+        __getParentForm : function (item) {
+            return $($(rf.getDomElement(item.id)).parents("form")[0]);
+        }
+    };
+
+    rf.ui.PanelMenuItem = rf.BaseComponent.extendClass({
+        // class name
+        name:"PanelMenuItem",
+
+        /**
+         * @class PanelMenuItem
+         * @name PanelMenuItem
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId);
+            this.attachToDom();
+
+            this.options = $.extend(this.options, __DEFAULT_OPTIONS, options || {});
+
+            this.mode = this.options.mode
+            this.itemName = this.options.name
+            this.__rfPanelMenu().getItems()[this.itemName] = this;
+
+            // todo move it
+            this.selectionClass = this.options.stylePrefix + "-sel";
+            this.hoverClass = this.options.stylePrefix + "-hov";
+
+            if (!this.options.disabled) {
+                var item = this;
+                if (this.options.highlight) {
+                    this.__item().bind("mouseenter", function() {
+                        item.highlight(true);
+                    });
+                    this.__item().bind("mouseleave", function() {
+                        item.highlight(false);
+                    });
+                }
+
+                if (this.options.selectable) {
+                    this.__header().bind("click", function() {
+                        if (item.__rfPanelMenu().selectedItem() == item.id) {
+                            if (item.options.unselectable) {
+                                return item.unselect();
+                            }
+
+                            // we shouldn't select one item several times
+                        } else {
+                            return item.select();
+                        }
+                    });
+                }
+            }
+
+            item = this;
+            $(this.__panelMenu()).ready(function () {
+                item.__renderNestingLevel();
+            });
+
+            this.__addUserEventHandler("select");
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+        highlight : function (highlight) {
+            if (highlight && !this.selected()) {
+                this.__header().addClass(this.hoverClass);
+            } else {
+                this.__header().removeClass(this.hoverClass);
+            }
+        },
+
+        selected : function () {
+            return this.__header().hasClass(this.selectionClass);
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenuItem#select
+         *
+         * TODO ...
+         * 
+         * @return {void} TODO ...
+         */
+        select: function () {
+            var continueProcess = this.__fireBeforeSelect();
+            if (!continueProcess) {
+                return false;
+            }
+
+            return SELECT_ITEM.exec(this)
+        },
+
+        /**
+         * please, remove this method when client side ajax events will be added
+         *
+         * */
+        onCompleteHandler : function () {
+            SELECT_ITEM.execClient(this);
+        },
+
+        unselect: function () {
+            var panelMenu = this.__rfPanelMenu();
+            if (panelMenu.selectedItem() == this.itemName) {
+                panelMenu.selectedItem(null);
+            } else {
+                rf.warn("You try unselect item (name=" + this.itemName + ") that isn't seleted")
+            }
+
+            this.__unselect();
+
+            return this.__fireUnselect();
+        },
+
+        /***************************** Private Methods ****************************************************************/
+        __rfParentItem : function () {
+            var res = this.__item().parents(".rf-pm-gr")[0];
+            if (!res) {
+                res = this.__item().parents(".rf-pm-top-gr")[0];
+            }
+
+            if (!res) {
+                res = this.__panelMenu();
+            }
+
+            return res ? rf.$(res) : null;
+        },
+
+        __getNestingLevel : function () {
+            if (!this.nestingLevel) {
+                var parentItem = this.__rfParentItem();
+                if (parentItem && parentItem.__getNestingLevel) {
+                    this.nestingLevel = parentItem.__getNestingLevel() + 1;
+                } else {
+                    this.nestingLevel = 0;
+                }
+            }
+
+            return this.nestingLevel;
+        },
+
+        __renderNestingLevel : function () {
+            this.__item().find("td").first().css("padding-left", this.options.itemStep * this.__getNestingLevel());
+        },
+
+        __panelMenu : function () {
+            return this.__item().parents(".rf-pm")[0];
+        },
+
+        __rfPanelMenu : function () {
+            return rf.$(this.__item().parents(".rf-pm")[0]);
+        },
+
+        __changeState : function () {
+            return this.__rfPanelMenu().selectedItem(this.itemName);
+        },
+
+        __restoreState : function (state) {
+            if (state) {
+                this.__rfPanelMenu().selectedItem(state);
+            }
+        },
+
+        __item : function () {
+            return $(rf.getDomElement(this.id));
+        },
+
+        __header : function () {
+            return this.__item();
+        },
+
+        __select: function () {
+            this.__header().addClass(this.selectionClass);
+        },
+
+        __unselect: function () {
+            this.__header().removeClass(this.selectionClass);
+        },
+
+        __fireBeforeSelect : function () {
+            return new rf.Event.fireById(this.id, "beforeselect", {
+                id: this.id
+            });
+        },
+
+        __fireSelect : function () {
+            return new rf.Event.fireById(this.id, "select", {
+                id: this.id
+            });
+        },
+
+        __fireUnselect : function () {
+            return new rf.Event.fireById(this.id, "unselect", {
+                id: this.id
+            });
+        },
+
+        /**
+         * @private
+         * */
+        __addUserEventHandler : function (name) {
+            var handler = this.options["on" + name];
+            if (handler) {
+                rf.Event.bindById(this.id, name, handler);
+            }
+        },
+
+        destroy: function () {
+            delete this.__rfPanelMenu().getItems()[this.itemName];
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.PanelMenuItem.$super;
+})(jQuery, RichFaces);

Modified: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/popupPanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -56,7 +56,6 @@
     	this.attachToDom(this.markerId);
     	this.options = $.extend(this.options, defaultOptions, options || {});-		this.id = $(richfaces.getDomElement(id)); // Should be component Id string // NOT AN OBJECT
 		this.minWidth = this.getMinimumSize(this.options.minWidth);
 		this.minHeight = this.getMinimumSize(this.options.minHeight);
 		this.maxWidth = this.options.maxWidth;
@@ -174,8 +173,6 @@
 				this.markerId = null;
 		    	this.options = null; 
 		
-				this.id = null;
-				
 				this.div  = null;
 				this.cdiv = null;
 				this.contentDiv = null;
@@ -312,7 +309,7 @@
 						}
 						$(richfaces.getDomElement(eContentElt)).css('height', options.height + (/px/.test(options.height) ? '' : 'px'));
 						this.shadowDiv.css('height', options.height + (/px/.test(options.height) ? '' : 'px'));
-						var headerHeight = $(richfaces.getDomElement(this.div +"_header"))[0] ? $(richfaces.getDomElement(this.div +"_header"))[0].clientHeight : 0;
+						var headerHeight = $(richfaces.getDomElement(this.markerId +"_header"))[0] ? $(richfaces.getDomElement(this.markerId +"_header"))[0].clientHeight : 0;
 						this.scrollerDiv.css('height', options.height - headerHeight + (/px/.test(options.height) ? '' : 'px'));
 						
 						
@@ -412,7 +409,7 @@
 			!root.disabled && root.type!="hidden") {
 				callback.call(this, root);
 		} else {
-			if (root != this.id) {
+			if (root != this.div) {
 				var child = root.firstChild;
 				while (child) {
 					if (!child.style || child.style.display != 'none') {
@@ -487,7 +484,7 @@
 					this.currentMinHeight = undefined; 
 					this.currentMinWidth = undefined;			
 	
-					this.id.hide();
+					this.div.hide();
 	
 					if (this.parent) {
 						if (this.domReattached) {

Modified: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/progressBar.js
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/progressBar.js	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/progressBar.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -46,7 +46,7 @@
  			name: "ProgressBar",
  			
  			__isInitialState: function() {
- 				return parseFloat(this.value) <= parseFloat(this.getMinValue());
+ 				return parseFloat(this.value) < parseFloat(this.getMinValue());
  			},
  			
  			__isProgressState: function() {
@@ -54,7 +54,7 @@
  			},
  			
  			__isFinishState: function() {
- 				return parseFloat(this.value) > parseFloat(this.getMaxValue());
+ 				return parseFloat(this.value) >= parseFloat(this.getMaxValue());
  			},
  			
  			__beforeUpdate: function(event) {
@@ -120,7 +120,7 @@
 			__setValue: function(val, initialStateSetup) {
 				this.value = parseFloat(this.__getPropertyOrObject(val, "value"));
 				
-				if (this.__isFinishState()) {
+				if (this.__isFinishState() || this.__isInitialState()) {
 					this.disable();
 				}
 			},

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tab.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tab.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tab.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tab.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,139 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.Tab = rf.ui.TogglePanelItem.extendClass({
+        // class name
+        name:"Tab",
+
+        /**
+         * @class AccordionItem
+         * @name AccordionItem
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId, options);
+            this.index = options["index"];
+            this.getTogglePanel().getItems()[this.index] = this;
+
+            //TODO - optimize this
+            rf.Event.bindById(this.id + ":header:active", "click", this.__onHeaderClick, this);
+            rf.Event.bindById(this.id + ":header:inactive", "click", this.__onHeaderClick, this)
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+
+        __onHeaderClick : function (comp) {
+            this.getTogglePanel().switchToItem(this.getName());
+        },
+
+        /**
+         * @param state {string} = inactive | active | disabled
+         *     in that case looking header by css class appropriate to this state
+         *
+         * @return {jQuery Object}
+         * */
+        __header : function (state) {
+            var res = $(rf.getDomElement(this.id + ":header"));
+            if (state) {
+                return $(rf.getDomElement(this.id + ":header:" + state));
+            }
+
+            return res;
+        },
+
+        /**
+         * @return {jQuery Object}
+         * */
+        __content : function () {
+            if (!this.__content_) {
+                this.__content_ = $(rf.getDomElement(this.id + ":content"));
+            }
+            return this.__content_;
+        },
+
+        /**
+         * @private
+         *
+         * used in TogglePanel
+         * */
+        __enter : function () {
+
+            this.__content().show();
+            this.__header("inactive").hide();
+            this.__header("active").show();
+
+            return this.__fireEnter();
+        },
+
+        getHeight : function (recalculate) {
+            if (recalculate || !this.__height) {
+                this.__height = $(rf.getDomElement(this.id)).outerHeight(true)
+            }
+
+            return this.__height;
+        },
+
+        /**
+         * @private
+         *
+         * used in TogglePanel
+         * */
+        __leave : function () {
+            var continueProcess = this.__fireLeave();
+            if (!continueProcess) {
+                return false;
+            }
+
+            this.__content().hide();
+            this.__header("active").hide();
+            this.__header("inactive").show();
+
+            return true;
+        },
+
+        /***************************** Private Methods ********************************************************/
+
+
+        destroy: function () {
+            var parent = this.getTogglePanel();
+            delete parent.getItems()[this.index];
+
+            rf.Event.unbindById(this.id);
+            
+            //TODO - optimize
+            rf.Event.unbindById(this.id + ":header:active");
+            rf.Event.unbindById(this.id + ":header:inactive");
+
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.Tab.$super;
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tabPanel.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tabPanel.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tabPanel.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tabPanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,46 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.TabPanel = rf.ui.TogglePanel.extendClass({
+        // class name
+        name:"TabPanel",
+
+        /**
+         * @class TabPanel
+         * @name TabPanel
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            rf.ui.TogglePanel.call(this, componentId, options);
+            this.items = [];
+
+            this.isKeepHeight = options["isKeepHeight"] || false
+        }
+    });
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanel.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanel.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanel.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanel.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,433 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    /* SIMPLE INNER CLASS for handle switch operation*/
+    function SwitchItems(comp) {
+        this.comp = comp;
+    }
+
+    SwitchItems.prototype = {
+
+        /**
+         * @param {TogglePanelItem} oldPanel
+         * @param {TogglePanelItem} newPanel
+         *
+         * @return {void}
+         * */
+        exec : function (oldPanel, newPanel) {
+            if (newPanel.switchMode == "server") {
+                return this.execServer(oldPanel, newPanel);
+            } else if (newPanel.switchMode == "ajax") {
+                return this.execAjax(oldPanel, newPanel);
+            } else if (newPanel.switchMode == "client") {
+                return this.execClient(oldPanel, newPanel);
+            } else {
+                rf.log.error("SwitchItems.exec : unknown switchMode (" + this.comp.switchMode + ")");
+            }
+        },
+
+        /**
+         * @protected
+         * @param {TogglePanelItem} oldPanel
+         * @param {TogglePanelItem} newPanel
+         *
+         * @return {Boolean} false
+         * */
+        execServer : function (oldPanel, newPanel) {
+            if (oldPanel) {
+                var continueProcess = oldPanel.__leave();
+                if (!continueProcess) {
+                    return false;
+                }
+            }
+
+            this.__setActiveItem(newPanel.getName());
+
+            rf.submitForm(this.__getParentForm());
+
+            return false;
+        },
+
+        /**
+         * @protected
+         * @param {TogglePanelItem} oldPanel
+         * @param {TogglePanelItem} newPanel
+         *
+         * @return {Boolean} false
+         * */
+        execAjax : function (oldPanel, newPanel) {
+            var options = $.extend({}, this.comp.options["ajax"], {}/*this.getParameters(newPanel)*/);
+
+            this.__setActiveItem(newPanel.getName());
+            rf.ajax(this.comp.id, null, options);
+
+            if (oldPanel) {
+                this.__setActiveItem(oldPanel.getName());
+            }
+
+            return false;
+        },
+
+        /**
+         * @protected
+         * @param {TogglePanelItem} oldPanel
+         * @param {TogglePanelItem} newPanel
+         *
+         * @return {undefined}
+         *             - false - if process has been terminated
+         *             - true  - in other cases
+         * */
+        execClient : function (oldPanel, newPanel) {
+            if (oldPanel) {
+                var continueProcess = oldPanel.__leave();
+                if (!continueProcess) {
+                    return false;
+                }
+            }
+
+            this.__setActiveItem(newPanel.getName());
+
+            newPanel.__enter();
+            this.comp.__fireItemChange(oldPanel, newPanel);
+
+            return true;
+        },
+
+        /**
+         * @private
+         * */
+        __getParentForm : function () {
+            return $(rf.getDomElement(this.comp.id)).parents('form:first');
+        },
+
+        /**
+         * @private
+         * */
+        __setActiveItem : function (name) {
+            rf.getDomElement(this.__getValueInputId()).value = name;
+            this.comp.activeItem = name;
+        },
+
+        /**
+         * @private
+         * */
+        __getValueInputId: function () {
+            return this.comp.id + "-value"
+        }
+    };
+
+    /**
+     * @class TogglePanel
+     * @name TogglePanel
+     *
+     * @constructor
+     * @param {String} componentId - component id
+     * @param {Hash} options - params
+     * */
+    rf.ui.TogglePanel = rf.BaseComponent.extendClass({
+
+        // class name
+        name:"TogglePanel",
+
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId);
+            this.attachToDom();
+
+            this.options = $.extend(this.options, options || {});
+            this.activeItem = this.options.activeItem;
+            this.items = this.options.items;
+
+            this.__addUserEventHandler("itemchange");
+            this.__addUserEventHandler("beforeitemchange");
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+
+        /**
+         * @methodOf
+         *
+         * @name TogglePanel#getSelectItem
+         *
+         * @return {String} name of current selected panel item
+         */
+        getSelectItem: function () {
+            return this.activeItem;
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#switchToItem
+         *
+         * @param {String} name - panel item name to switch
+         *           we can use meta names @first, @prev, @next and @last
+         * @return {Boolean} - false if something wrong and true if all is ok
+         */
+        switchToItem: function (name) {
+            var newPanel = this.getNextItem(name);
+            if (newPanel == null) {
+                rf.log.warn("TogglePanel.switchToItems(" + name + "): item with name '" + name + "' not found");
+                return false;
+            }
+
+            var oldPanel = this.__getItemByName(this.getSelectItem());
+
+            var continueProcess = this.__fireBeforeItemChange(oldPanel, newPanel);
+            if (!continueProcess) {
+                rf.log.warn("TogglePanel.switchToItems(" + name + "): switch has been canceled by beforeItemChange event");
+                return false
+            }
+
+            return new SwitchItems(this).exec(oldPanel, newPanel);
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#getNextItem
+         *
+         * @param {String} name of TogglePanelItem or meta name (@first | @prev | @next | @last)
+         * @return {TogglePanelItem} null if item not found
+         */
+        getNextItem : function (name) {
+            if (name) {
+                var newItemIndex = this.__ITEMS_META_NAMES[name];
+                if (newItemIndex) {
+                    return this.__getItem(newItemIndex(this));
+                } else {
+                    return this.__getItemByName(name);
+                }
+            } else {
+                return this.__getItemByName(this.nextItem());
+            }
+        },
+
+        /**
+         * please, remove this method when client side ajax events will be added
+         *
+         * */
+        onCompleteHandler : function (newItemName) {
+            var oldItem = this.__getItemByName(this.activeItem);
+            var newItem = this.__getItemByName(newItemName);
+
+            // Don't do like this and remove it ASAP
+            new SwitchItems(this).execClient(oldItem, newItem);
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#getItems
+         *
+         * @return {TogglePanelItem[]} all defined panel items
+         */
+        getItems : function () {
+            return this.items;
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#getItemsNames
+         *
+         * @return {String[]} names of all defined items
+         */
+        getItemsNames: function () {
+            var res = [];
+            for (var item in this.items) {
+                res.push(this.items[item].getName());
+            }
+
+            return res;
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#nextItem
+         *
+         * @param {String} [itemName = activeItem]
+         * @return {String} name of next panel item
+         */
+        nextItem: function (itemName) {
+            var itemIndex = this.__getItemIndex(itemName || this.activeItem);
+            if (itemIndex == -1) {
+                return null;
+            }
+
+            return this.__getItemName(itemIndex + 1);
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#firstItem
+         *
+         * @return {String} name of first panel item
+         */
+        firstItem: function () {
+            return this.__getItemName(0);
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#lastItem
+         *
+         * @return {String} name of last panel item
+         */
+        lastItem: function () {
+            return this.__getItemName(this.items.length - 1);
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanel#prevItem
+         *
+         * @param {String} itemName
+         * @return {String} name of prev panel item
+         *                  null if it is first item
+         */
+        prevItem: function (itemName) {
+            var itemIndex = this.__getItemIndex(itemName || this.activeItem);
+            if (!this.options.cycledSwitching && itemIndex < 1) {
+                return null;
+            }
+
+            return this.__getItemName(itemIndex - 1);
+        },
+
+        /////////////////////////////////////////////////////////////////////////////////
+        //// Private
+        /////////////////////////////////////////////////////////////////////////////////
+
+        /********************* Methods *************************/
+
+        __ITEMS_META_NAMES : (function () {
+            function goFrom (comp, ind, step) {
+                var res = ind;
+                while ((!comp.items[res] || comp.items[res].disabled) && res < comp.items.length && res > 0) {
+                    res += step;
+                }
+                return res;
+            }
+
+
+            return {
+                "@first" : function (comp) {
+                    return goFrom(comp, 0, 1);
+                },
+
+                "@prev"  : function (comp) {
+                    return goFrom(comp, parseInt(comp.__getItemIndex(comp.activeItem)) - 1 , -1);
+                },
+
+                "@next"  : function (comp) {
+                    return goFrom(comp, parseInt(comp.__getItemIndex(comp.activeItem)) + 1 , 1);
+                },
+
+                "@last"  : function (comp) {
+                    return goFrom(comp, comp.items.length - 1, -1);
+                }
+            }
+        })(),
+
+        /**
+         * @private
+         * */
+        __getItemIndex : function (itemName) {
+            for (var i in this.items) {
+                if (!this.items[i].disabled && this.items[i].getName() === itemName) {
+                    return parseInt(i);
+                }
+            }
+
+            rf.log.info("TogglePanel.getItemIndex: item with name '" + itemName + "' not found");
+            return -1;
+        },
+
+        /**
+         * @private
+         * */
+        __addUserEventHandler : function (name) {
+            var handler = this.options["on" + name];
+            if (handler) {
+                rf.Event.bindById(this.id, name, handler);
+            }
+        },
+
+        /**
+         * @private
+         * @param {Number} index - array index
+         *
+         * @return {TogglePanelItem}
+         *    null - if item not found
+         * */
+        __getItem : function (index) {
+            if (this.options.cycledSwitching) {
+                var size = this.items.length;
+                return this.items[(size + index) % size]
+            } else if (index >= 0 && index < this.items.length) {
+                return this.items[index]
+            } else {
+                return null;
+            }
+        },
+
+        __getItemByName : function (name) {
+            return this.__getItem(this.__getItemIndex(name));
+        },
+
+        __getItemName : function (index) {
+            var item = this.__getItem(index);
+            if (item == null) {
+                return null;
+            }
+
+            return item.getName();
+        },
+
+        /**
+         * Fire Concealable Event
+         * */
+
+        __fireItemChange : function (oldItem, newItem) {
+            return new rf.Event.fireById(this.id, "itemchange", {
+                id: this.id,
+                oldItem : oldItem,
+                newItem : newItem
+            });
+        },
+
+        __fireBeforeItemChange : function (oldItem, newItem) {
+            return rf.Event.fireById(this.id, "beforeitemchange", {
+                id: this.id,
+                oldItem : oldItem,
+                newItem : newItem
+            });
+        },
+
+        destroy: function () {
+		$super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.TogglePanel.$super;
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanelItem.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanelItem.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanelItem.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/togglePanelItem.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.TogglePanelItem = rf.BaseComponent.extendClass({
+
+        // class name
+        name:"TogglePanelItem",
+
+        init : function (componentId, options) {
+            // call constructor of parent class
+            $super.constructor.call(this, componentId);
+            this.attachToDom();
+
+            this.options = $.extend(this.options, options || {});
+            this.name = this.options.name;
+            this.togglePanelId = this.options.togglePanelId;
+            this.switchMode = this.options.switchMode;
+            this.disabled = this.options.disabled || false;
+        },
+
+        /***************************** Public Methods *****************************************************************/
+        /**
+         * @methodOf TogglePanelItem
+         * @name TogglePanelItem#getName
+         *
+         * @return {String} panel item name
+         */
+        getName: function () {
+            return this.options.name;
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanelItem#getTogglePanel
+         *
+         * @return {TogglePanel} parent TogglePanel
+         * */
+        getTogglePanel : function () {
+            return rf.$(this.togglePanelId);
+        },
+
+        /**
+         * @methodOf
+         * @name TogglePanelItem#isSelected
+         *
+         * @return {Boolean} true if this panel item is selected in the parent toggle panel
+         * */
+        isSelected : function () {
+            return this.getName() == this.getTogglePanel().getSelectItem();
+        },
+
+
+        /***************************** Private Methods ****************************************************************/
+
+        /**
+         * @private
+         *
+         * used in TogglePanel
+         * */
+        __enter : function () {
+            rf.getDomElement(this.id).style.display = "block";
+
+            return this.__fireEnter();
+        },
+
+        /**
+         * @private
+         *
+         * used in TogglePanel
+         * */
+        __leave : function () {
+            var continueProcess = this.__fireLeave();
+            if (!continueProcess) {
+                return false;
+            }
+
+            rf.getDomElement(this.id).style.display = "none";
+            return true;
+        },
+
+        __fireLeave : function () {
+            return rf.Event.fireById(this.id, "__leave");
+        },
+
+        __fireEnter : function () {
+            return rf.Event.fireById(this.id, "__enter");
+        },
+
+        // class stuff
+        destroy: function () {
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.TogglePanelItem.$super;
+})(jQuery, RichFaces);

Copied: branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tooltip.js (from rev 20482, trunk/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tooltip.js)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tooltip.js	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/main/resources/META-INF/resources/org.richfaces/tooltip.js	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,295 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+
+(function ($, rf) {
+
+    rf.ui = rf.ui || {};
+
+    rf.ui.TooltipDirection = {
+        topRight : "topRight",
+        topLeft : "topLeft",
+        bottomRight : "bottomRight",
+        bottomLeft : "bottomLeft",
+        auto : "auto",
+
+        DEFAULT: "bottomRight"
+    };
+    var TooltipDirection = rf.ui.TooltipDirection;
+
+    rf.ui.TooltipMode = {
+        client : "client",
+        ajax : "ajax",
+
+        DEFAULT: "client"
+    };
+    var TooltipMode = rf.ui.TooltipMode;
+
+    var DEFAULT_OPTIONS = {
+        direction : TooltipDirection.DEFAULT,
+        attached : true,
+        offset : [],
+        mode : TooltipMode.DEFAULT,
+        disabled : false,
+        hideDelay : 0,
+        hideEvent : "mouseleave",
+        showDelay : 0,
+        showEvent : "mouseenter",
+        followMouse : true
+    };
+
+    var SHOW_ACTION = {
+
+        /**
+         *
+         * @return {void}
+         * */
+        exec : function (tooltip, event) {
+            var mode = tooltip.mode;
+            if (mode == TooltipMode.ajax) {
+                return this.execAjax(tooltip, event);
+            } else if (mode == TooltipMode.client) {
+                return this.execClient(tooltip, event);
+            } else {
+                rf.log.error("SHOW_ACTION.exec : unknown mode (" + mode + ")");
+            }
+        },
+
+        /**
+         * @protected
+         *
+         * @return {Boolean} false
+         * */
+        execAjax : function (tooltip, event) {
+            tooltip.__loading().show();
+            tooltip.__content().hide();
+            tooltip.__show(event);
+
+            rf.ajax(tooltip.id, null, $.extend({}, tooltip.options["ajax"], {}));
+
+            return true;
+        },
+
+        /**
+         * @protected
+         *
+         * @return {undefined}
+         *             - false - if process has been terminated
+         *             - true  - in other cases
+         * */
+        execClient : function (tooltip, event) {
+            tooltip.__show(event);
+
+            return tooltip.__fireShow();
+        }
+    };
+
+    rf.ui.Tooltip = rf.BaseComponent.extendClass({
+        // class name
+        name:"Tooltip",
+
+        /**
+         * @class Tooltip
+         * @name Tooltip
+         *
+         * @constructor
+         * @param {String} componentId - component id
+         * @param {Hash} options - params
+         * */
+        init : function (componentId, options) {
+            $super.constructor.call(this, componentId);
+            this.options = $.extend(this.options, DEFAULT_OPTIONS, options || {});
+            this.attachToDom();
+
+            this.mode = this.options.mode;
+            this.target = this.options.target;
+
+            this.__addUserEventHandler("hide");
+            this.__addUserEventHandler("show");
+            this.__addUserEventHandler("beforehide");
+            this.__addUserEventHandler("beforeshow");
+
+            this.popup = new RichFaces.ui.Popup(this.id, {
+                attachTo: this.target,
+                attachToBody: false,
+                positionType: "TOOLTIP",
+                positionOffset: [200,200]
+            });
+
+            var tooltip = this;
+            function mouseMoveHandler(event) {
+                tooltip.popup.show(event);
+            }
+
+            $(document.getElementById(this.target)).bind(this.options.showEvent, function (event) {
+                tooltip.show(event);
+
+                if (tooltip.options.followMouse) {
+                    $(document.getElementById(tooltip.target)).bind("mousemove", mouseMoveHandler);
+                }
+            });
+
+            $(document.getElementById(tooltip.target)).bind(this.options.hideEvent, function (event) {
+                tooltip.hide();
+
+                if (tooltip.options.followMouse) {
+                    $(document.getElementById(tooltip.target)).unbind("mousemove", mouseMoveHandler);
+                }
+            });
+
+        },
+
+        /***************************** Public Methods  ****************************************************************/
+        /**
+         * @methodOf
+         * @name PanelMenuItem#hide
+         *
+         * TODO ...
+         *
+         * @return {void} TODO ...
+         */
+        hide: function () {
+            var continueProcess = this.__fireBeforeHide();
+            if (!continueProcess) {
+                return false;
+            }
+
+            this.__hide();
+
+            return this.__fireHide()
+        },
+
+        /**
+         * @private
+         * @return {void} TODO ...
+         */
+        __hide: function () {
+            var tooltip = this;
+            this.__delay(this.options.hideDelay, function () {
+                tooltip.popup.hide();
+            });
+        },
+
+        /**
+         * @methodOf
+         * @name PanelMenuItem#show
+         *
+         * TODO ...
+         *
+         * @return {void} TODO ...
+         */
+        show: function (event) {
+            var continueProcess = this.__fireBeforeShow();
+            if (!continueProcess) {
+                return false;
+            }
+
+            SHOW_ACTION.exec(this, event);
+        },
+
+        onCompleteHandler : function () {
+            this.__content().show();
+            this.__loading().hide();
+
+            return this.__fireShow();
+        },
+
+        /**
+         * @private
+         * @return {void} TODO ...
+         */
+        __show: function (event) {
+            var tooltip = this;
+            this.__delay(this.options.showDelay, function () {
+                tooltip.popup.show(event);
+            });
+        },
+
+        /***************************** Private Methods ****************************************************************/
+        __delay : function (delay, action) {
+            if (delay > 0) {
+                var hidingTimerHandle = window.setTimeout(function() {
+                    action();
+
+                    if (hidingTimerHandle) {
+                        window.clearTimeout(hidingTimerHandle);
+                        hidingTimerHandle = undefined;
+                    }
+                }, delay);
+            } else {
+                action();
+            }
+        },
+
+        __detectAncestorNode: function(leaf, element) {
+            // Return true if "element" is "leaf" or one of its parents
+            var node = leaf;
+            while (node != null && node != element) {
+                node = node.parentNode;
+            }
+            return (node != null);
+        },
+
+        __loading : function () {
+            return $(document.getElementById(this.id + ":loading"));
+        },
+
+        __content : function () {
+            return $(document.getElementById(this.id + "@content"));
+        },
+
+        __fireHide : function () {
+            return rf.Event.fireById(this.id, "hide", { id: this.id });
+        },
+
+        __fireShow : function () {
+            return rf.Event.fireById(this.id, "show", { id: this.id });
+        },
+
+        __fireBeforeHide : function () {
+            return rf.Event.fireById(this.id, "beforehide", { id: this.id });
+        },
+
+        __fireBeforeShow : function () {
+            return rf.Event.fireById(this.id, "beforeshow", { id: this.id });
+        },
+
+
+
+        /**
+         * @private
+         * */
+        __addUserEventHandler : function (name) {
+            var handler = this.options["on" + name];
+            if (handler) {
+                rf.Event.bindById(this.id, name, handler);
+            }
+        },
+
+        destroy: function () {
+            $super.destroy.call(this);
+        }
+    });
+
+    // define super class link
+    var $super = rf.ui.Tooltip.$super;
+})(jQuery, RichFaces);

Modified: branches/RF-8742-1/ui/output/ui/src/main/templates/popupPanel.template.xml
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/main/templates/popupPanel.template.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/main/templates/popupPanel.template.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -14,6 +14,8 @@
 	</cc:interface> 	<cc:implementation>
+	<cdk:object name="zindex" value="#{component.attributes['zindex']}" />
+	
 	<cdk:call expression="checkOptions(facesContext, component)" />
 	<div id="#{clientId}" style="visibility: hidden;">
 	<c:if test="#{component.attributes['modal']}">
@@ -30,7 +32,7 @@ </c:if>
 	<div id="#{clientId}_shadow" style="position: #{component.attributes['followByScroll'] ? 'fixed' : 'absolute'};" class="rf-pp-shdw"/>
-	<div id="#{clientId}_container" style="position: #{component.attributes['followByScroll'] ? 'fixed' : 'absolute'};" cdk:passThroughWithExclusions="id style class styleClass" class="rf-pp-cntr #{component.attributes['styleClass']}">
+	<div id="#{clientId}_container" style="position: #{component.attributes['followByScroll'] ? 'fixed' : 'absolute'}; #{not empty zindex ? 'z-index:'+zindex+';':''}" cdk:passThroughWithExclusions="id style class styleClass" class="rf-pp-cntr #{component.attributes['styleClass']}"> 		<c:if test="#{component.getFacet('header')!=null and component.getFacet('header').rendered}">
 		<div id="#{clientId}_header" class="rf-pp-hdr #{component.attributes['headerClass']}" >

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/DropDownMenuBean.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/component/DropDownMenuBean.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/DropDownMenuBean.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/DropDownMenuBean.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,22 @@
+package org.richfaces.component;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+@ManagedBean
+@SessionScoped
+public class DropDownMenuBean {
+    private static String _current = "none";
+
+    public void doAction() {
+        _current = "action";
+    }
+    
+    public static String getCurrent() {
+        return _current;
+    }
+    
+    public static void setCurrent(String current) {
+        _current = current;
+    }
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIDropDownMenuTest.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/component/UIDropDownMenuTest.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIDropDownMenuTest.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIDropDownMenuTest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.richfaces.component;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class UIDropDownMenuTest {
+    private UIDropDownMenu dropDownMenu;
+
+    @Before
+    public void setUp () {
+        dropDownMenu = new UIDropDownMenu();
+    }
+
+    @Test
+    public void testSomething() {
+        Assert.assertNotNull(dropDownMenu);
+    }
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuGroupTest.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/component/UIMenuGroupTest.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuGroupTest.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuGroupTest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.component;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class UIMenuGroupTest {
+    private UIMenuGroup menuGroup;
+
+    @Before
+    public void setUp () {
+        menuGroup = new UIMenuGroup();
+    }
+
+    @Test
+    public void testSomething() {
+        Assert.assertNotNull(menuGroup);
+    }
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuItemTest.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/component/UIMenuItemTest.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuItemTest.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuItemTest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.component;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class UIMenuItemTest {
+    private UIMenuItem menuItem;
+
+    @Before
+    public void setUp () {
+        menuItem = new UIMenuItem();
+    }
+
+    @Test
+    public void testSomething() {
+        Assert.assertNotNull(menuItem);
+    }
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuSeparatorTest.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/component/UIMenuSeparatorTest.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuSeparatorTest.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/component/UIMenuSeparatorTest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.component;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class UIMenuSeparatorTest {
+    private UIMenuSeparator menuSeparator;
+
+    @Before
+    public void setUp () {
+        menuSeparator = new UIMenuSeparator();
+    }
+
+    @Test
+    public void testSomething() {
+        Assert.assertNotNull(menuSeparator);
+    }
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/DrowDownMenuRendererTest.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/renderkit/html/DrowDownMenuRendererTest.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/DrowDownMenuRendererTest.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/DrowDownMenuRendererTest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.renderkit.html;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+
+import org.jboss.test.faces.htmlunit.HtmlUnitEnvironment;
+import org.junit.Test;
+import org.richfaces.component.DropDownMenuBean;
+import org.xml.sax.SAXException;
+
+import com.gargoylesoftware.htmlunit.html.HtmlDivision;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+
+public class DrowDownMenuRendererTest extends RendererTestBase {
+   
+    @Override
+    public void setUp() throws URISyntaxException {
+        environment = new HtmlUnitEnvironment();
+        environment.withWebRoot(new File(this.getClass().getResource(".").toURI()));
+        environment.withResource("/WEB-INF/faces-config.xml", "org/richfaces/component/faces-config.xml");
+        environment.start();
+    }
+    
+    @Test
+    public void testDoEncodeServerMode() throws IOException, SAXException {
+        doTest("dropDownMenu_serverMode", "form:ddmenu");
+    }
+    
+    @Test
+    public void testDoEncodeAjaxMode() throws IOException, SAXException {
+        doTest("dropDownMenu_ajaxMode", "form:ddmenu");
+    }    
+    
+    @Test
+    public void testServerClick() throws IOException, SAXException {
+        HtmlPage page =  environment.getPage("/dropDownMenu_serverMode.jsf");
+        HtmlDivision item = (HtmlDivision) page.getElementById("form:saveAll");
+        assertNotNull(item);
+        DropDownMenuBean.setCurrent("none");
+        item.click();
+        
+        item = (HtmlDivision) page.getElementById("form:saveAll");
+        assertNotNull(item);
+        assertEquals("action", DropDownMenuBean.getCurrent());
+    }  
+    
+    @Test
+    public void testAjaxClick() throws IOException, SAXException {
+        HtmlPage page =  environment.getPage("/dropDownMenu_ajaxMode.jsf");
+
+        HtmlDivision item = (HtmlDivision) page.getElementById("form:saveAll");
+        assertNotNull(item);
+        DropDownMenuBean.setCurrent("none");
+        item.click();
+        
+        item = (HtmlDivision) page.getElementById("form:saveAll");
+        assertNotNull(item);
+        assertEquals("action", DropDownMenuBean.getCurrent());
+    }    
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/MenuItemRendererTest.java (from rev 20482, trunk/ui/output/ui/src/test/java/org/richfaces/renderkit/html/MenuItemRendererTest.java)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/MenuItemRendererTest.java	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/java/org/richfaces/renderkit/html/MenuItemRendererTest.java	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * 
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ * 
+ * This software 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 software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.renderkit.html;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URISyntaxException;
+
+import org.jboss.test.faces.htmlunit.HtmlUnitEnvironment;
+import org.junit.Test;
+import org.richfaces.component.DropDownMenuBean;
+import org.xml.sax.SAXException;
+
+import com.gargoylesoftware.htmlunit.html.HtmlDivision;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+
+public class MenuItemRendererTest extends RendererTestBase {
+    
+    @Override
+    public void setUp() throws URISyntaxException {
+        environment = new HtmlUnitEnvironment();
+        environment.withWebRoot(new File(this.getClass().getResource(".").toURI()));
+        environment.withResource("/WEB-INF/faces-config.xml", "org/richfaces/component/faces-config.xml");
+        environment.start();
+    }
+    
+    @Test
+    public void testDoEncodeServerMode() throws IOException, SAXException {
+        doTest("menuItem_serverMode", "form:menuItem");
+    }
+    
+    @Test
+    public void testServerClick() throws IOException, SAXException {
+        HtmlPage page =  environment.getPage("/menuItem_serverMode.jsf");
+
+        HtmlDivision item = (HtmlDivision) page.getElementById("form:menuItem");
+        assertNotNull(item);
+        DropDownMenuBean.setCurrent("none");
+        item.click();
+        
+        item = (HtmlDivision) page.getElementById("form:menuItem");
+        assertNotNull(item);
+        assertEquals("action", DropDownMenuBean.getCurrent());
+    }    
+    
+    @Test
+    public void testDoEncodeAjaxMode() throws IOException, SAXException {
+        doTest("menuItem_ajaxMode", "form:menuItem");
+    }
+    
+    @Test
+    public void testAjaxClick() throws IOException, SAXException {
+        HtmlPage page =  environment.getPage("/menuItem_ajaxMode.jsf");
+        HtmlDivision item = (HtmlDivision) page.getElementById("form:menuItem");
+        assertNotNull(item);
+        DropDownMenuBean.setCurrent("none");
+        item.click();
+        
+        item = (HtmlDivision) page.getElementById("form:menuItem");
+        assertNotNull(item);
+        assertEquals("action", DropDownMenuBean.getCurrent());
+    }  
+    
+    @Test
+    public void testDoEncodeClientMode() throws IOException, SAXException {
+        doTest("menuItem_clientMode", "form:menuItem");
+    }    
+    
+    @Test
+    public void testClientClick() throws IOException, SAXException {
+        HtmlPage page =  environment.getPage("/menuItem_clientMode.jsf");
+        HtmlDivision item = (HtmlDivision) page.getElementById("form:menuItem");
+        assertNotNull(item);
+        DropDownMenuBean.setCurrent("none");
+        item.click();
+        
+        item = (HtmlDivision) page.getElementById("form:menuItem");
+        assertNotNull(item);
+        assertEquals("none", DropDownMenuBean.getCurrent());
+    }    
+}

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/component)

Deleted: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml
===================================================================
--- trunk/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesco..."
-	version="2.0">
-
-	<managed-bean>
-		<managed-bean-name>ddmBean</managed-bean-name>
-		<managed-bean-class>org.richfaces.component.DropDownMenuBean</managed-bean-class>
-		<managed-bean-scope>session</managed-bean-scope>
-	</managed-bean>
-
-</faces-config>
\ No newline at end of file

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/component/faces-config.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesco..."
+	version="2.0">
+
+	<managed-bean>
+		<managed-bean-name>ddmBean</managed-bean-name>
+		<managed-bean-class>org.richfaces.component.DropDownMenuBean</managed-bean-class>
+		<managed-bean-scope>session</managed-bean-scope>
+	</managed-bean>
+
+</faces-config>
\ No newline at end of file

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xhtml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xhtml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xhtml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,62 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+    JBoss, Home of Professional Open Source
+    Copyright ${year}, Red Hat, Inc. and individual contributors
+    by the @authors tag. See the copyright.txt in the distribution for a
+    full listing of individual contributors.
+    
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+    
+    This software 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 software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:pn="http://richfaces.org/output"
+      xmlns:rich="http://richfaces.org/rich">
+
+    <h:head>
+        <title>Richfaces MenuItem Test</title>
+    </h:head>
+
+<h:body>
+    <h:form id="form">
+	    <pn:dropDownMenu id="ddmenu" mode="ajax">
+		    <f:facet name="label"> 
+		        <h:panelGroup>
+		            <h:graphicImage value="/images/ddmenu/copy.gif" styleClass="pic"/>
+		            <h:outputText value="File"/>
+		        </h:panelGroup>
+		    </f:facet>
+	        <pn:menuItem label="Open" id="open"/>
+	        <pn:menuGroup label="Save As..." id="group">
+	            <pn:menuItem label="Save" id="save">
+	                <f:facet name="icon">
+	                    <h:graphicImage value="/images/ddmenu/save.gif" />
+	                </f:facet>                    
+	            </pn:menuItem>
+	            <pn:menuSeparator id="menuSeparator1" />
+	            <pn:menuItem id="saveAll" label="SaveAll" action="#{ddmBean.doAction}"/>
+	        </pn:menuGroup>                
+	    </pn:dropDownMenu>
+    </h:form>
+</h:body>
+</html>
+
+

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xmlunit.xml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xmlunit.xml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xmlunit.xml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_ajaxMode.xmlunit.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,60 @@
+      <div class="rf-ddm-lbl rf-ddm-lbl-unsel  " id="form:ddmenu">
+        <div class="rf-ddm-lbl-dec">
+          <img src="/images/ddmenu/copy.gif" class="pic"/>
+          File
+        </div>
+        <div class="rf-ddm-pos">
+          <div class="rf-ddm-lst" id="form:ddmenu_list" style="display:none;min-width:250px;">
+            <div class="rf-ddm-lst-bg">
+              <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:open" onclick="RichFaces.ajax(&quot;form:open&quot;,event,{&quot;incId&quot;:&quot;1&quot;} );return false;" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                <span class="rf-ddm-itm-ic ">
+                  <div class="rf-ddm-emptyIcon">
+                  </div>
+                </span>
+                <span class="rf-ddm-itm-lbl ">
+                  Open
+                </span>
+              </div>
+              <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:group" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel&apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                <span class="rf-ddm-itm-ic ">
+                  <div class="rf-ddm-emptyIcon">
+                  </div>
+                </span>
+                <span class="rf-ddm-itm-lbl ">
+                  Save As...
+                </span>
+                <div class="rf-ddm-nd">
+                  <div class="rf-ddm-lst rf-ddm-sublst" id="form:group_list" style="display:none;min-width:250px;">
+                    <div class="rf-ddm-lst-bg">
+                      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:save" onclick="RichFaces.ajax(&quot;form:save&quot;,event,{&quot;incId&quot;:&quot;1&quot;} );return false;" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                        <span class="rf-ddm-itm-ic ">
+                          <img src="/images/ddmenu/save.gif"/>
+                        </span>
+                        <span class="rf-ddm-itm-lbl ">
+                          Save
+                        </span>
+                      </div>
+                      <div class="rf-ddm-sep">
+                      </div>
+                      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:saveAll" onclick="RichFaces.ajax(&quot;form:saveAll&quot;,event,{&quot;incId&quot;:&quot;1&quot;} );return false;" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                        <span class="rf-ddm-itm-ic ">
+                          <div class="rf-ddm-emptyIcon">
+                          </div>
+                        </span>
+                        <span class="rf-ddm-itm-lbl ">
+                          SaveAll
+                        </span>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <script type="text/javascript">
+//<![CDATA[
+new RichFaces.ui.Menu("form:ddmenu",{"mode":"ajax"} ).initiateGroups([{"id":"form:group","horizontalOffset":"0","verticalOffset":"0","direction":"auto"} ] );
+//]]>
+        </script>
+      </div>
\ No newline at end of file

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xhtml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xhtml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xhtml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,62 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+    JBoss, Home of Professional Open Source
+    Copyright ${year}, Red Hat, Inc. and individual contributors
+    by the @authors tag. See the copyright.txt in the distribution for a
+    full listing of individual contributors.
+    
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+    
+    This software 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 software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:pn="http://richfaces.org/output"
+      xmlns:rich="http://richfaces.org/rich">
+
+    <h:head>
+        <title>Richfaces MenuItem Test</title>
+    </h:head>
+
+<h:body>
+    <h:form id="form">
+	    <pn:dropDownMenu id="ddmenu">
+		    <f:facet name="label"> 
+		        <h:panelGroup>
+		            <h:graphicImage value="/images/ddmenu/copy.gif" styleClass="pic"/>
+		            <h:outputText value="File"/>
+		        </h:panelGroup>
+		    </f:facet>
+	        <pn:menuItem label="Open" id="open"/>
+	        <pn:menuGroup label="Save As..." id="group">
+	            <pn:menuItem label="Save" id="save">
+	                <f:facet name="icon">
+	                    <h:graphicImage value="/images/ddmenu/save.gif" />
+	                </f:facet>                    
+	            </pn:menuItem>
+	            <pn:menuSeparator id="menuSeparator1" />
+	            <pn:menuItem id="saveAll" label="SaveAll" action="#{ddmBean.doAction}"/>
+	        </pn:menuGroup>                
+	    </pn:dropDownMenu>
+    </h:form>
+</h:body>
+</html>
+
+

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xmlunit.xml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xmlunit.xml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xmlunit.xml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/dropDownMenu_serverMode.xmlunit.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,60 @@
+      <div class="rf-ddm-lbl rf-ddm-lbl-unsel  " id="form:ddmenu">
+        <div class="rf-ddm-lbl-dec">
+          <img src="/images/ddmenu/copy.gif" class="pic"/>
+          File
+        </div>
+        <div class="rf-ddm-pos">
+          <div class="rf-ddm-lst" id="form:ddmenu_list" style="display:none;min-width:250px;">
+            <div class="rf-ddm-lst-bg">
+              <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:open" onclick="RichFaces.submitForm(&quot;form&quot;,{&quot;form:open&quot;:&quot;form:open&quot;} )" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                <span class="rf-ddm-itm-ic ">
+                  <div class="rf-ddm-emptyIcon">
+                  </div>
+                </span>
+                <span class="rf-ddm-itm-lbl ">
+                  Open
+                </span>
+              </div>
+              <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:group" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel&apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                <span class="rf-ddm-itm-ic ">
+                  <div class="rf-ddm-emptyIcon">
+                  </div>
+                </span>
+                <span class="rf-ddm-itm-lbl ">
+                  Save As...
+                </span>
+                <div class="rf-ddm-nd">
+                  <div class="rf-ddm-lst rf-ddm-sublst" id="form:group_list" style="display:none;min-width:250px;">
+                    <div class="rf-ddm-lst-bg">
+                      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:save" onclick="RichFaces.submitForm(&quot;form&quot;,{&quot;form:save&quot;:&quot;form:save&quot;} )" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                        <span class="rf-ddm-itm-ic ">
+                          <img src="/images/ddmenu/save.gif"/>
+                        </span>
+                        <span class="rf-ddm-itm-lbl ">
+                          Save
+                        </span>
+                      </div>
+                      <div class="rf-ddm-sep">
+                      </div>
+                      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:saveAll" onclick="RichFaces.submitForm(&quot;form&quot;,{&quot;form:saveAll&quot;:&quot;form:saveAll&quot;} )" onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+                        <span class="rf-ddm-itm-ic ">
+                          <div class="rf-ddm-emptyIcon">
+                          </div>
+                        </span>
+                        <span class="rf-ddm-itm-lbl ">
+                          SaveAll
+                        </span>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <script type="text/javascript">
+//<![CDATA[
+new RichFaces.ui.Menu("form:ddmenu").initiateGroups([{"id":"form:group","horizontalOffset":"0","verticalOffset":"0","direction":"auto"} ] );
+//]]>
+        </script>
+      </div>
\ No newline at end of file

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xhtml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xhtml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xhtml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+    JBoss, Home of Professional Open Source
+    Copyright ${year}, Red Hat, Inc. and individual contributors
+    by the @authors tag. See the copyright.txt in the distribution for a
+    full listing of individual contributors.
+    
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+    
+    This software 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 software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:pn="http://richfaces.org/output"
+      xmlns:rich="http://richfaces.org/rich">
+
+    <h:head>
+        <title>Richfaces MenuItem Test</title>
+    </h:head>
+
+<h:body>
+    <h:form id="form">
+		<pn:menuItem id="menuItem" label="Test" action="#{ddmBean.doAction}" mode="ajax"/>
+    </h:form>
+</h:body>
+</html>
+
+

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xmlunit.xml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xmlunit.xml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xmlunit.xml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_ajaxMode.xmlunit.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,12 @@
+      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:menuItem" 
+       onclick="RichFaces.ajax(&quot;form:menuItem&quot;,event,{&quot;incId&quot;:&quot;1&quot;} );return false;" 
+       onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" 
+       onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+        <span class="rf-ddm-itm-ic ">
+          <div class="rf-ddm-emptyIcon">
+          </div>
+        </span>
+        <span class="rf-ddm-itm-lbl ">
+          Test
+        </span>
+      </div>
\ No newline at end of file

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xhtml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xhtml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xhtml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+    JBoss, Home of Professional Open Source
+    Copyright ${year}, Red Hat, Inc. and individual contributors
+    by the @authors tag. See the copyright.txt in the distribution for a
+    full listing of individual contributors.
+    
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+    
+    This software 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 software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:pn="http://richfaces.org/output"
+      xmlns:rich="http://richfaces.org/rich">
+
+    <h:head>
+        <title>Richfaces MenuItem Test</title>
+    </h:head>
+
+<h:body>
+    <h:form id="form">
+		<pn:menuItem id="menuItem" label="Test" action="#{ddmBean.doAction}" mode="client"/>
+    </h:form>
+</h:body>
+</html>
+
+

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xmlunit.xml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xmlunit.xml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xmlunit.xml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_clientMode.xmlunit.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,11 @@
+      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:menuItem" 
+      onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" 
+      onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+        <span class="rf-ddm-itm-ic ">
+          <div class="rf-ddm-emptyIcon">
+          </div>
+        </span>
+        <span class="rf-ddm-itm-lbl ">
+          Test
+        </span>
+      </div>
\ No newline at end of file

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xhtml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xhtml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xhtml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xhtml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,45 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+    JBoss, Home of Professional Open Source
+    Copyright ${year}, Red Hat, Inc. and individual contributors
+    by the @authors tag. See the copyright.txt in the distribution for a
+    full listing of individual contributors.
+    
+    This is free software; you can redistribute it and/or modify it
+    under the terms of the GNU Lesser General Public License as
+    published by the Free Software Foundation; either version 2.1 of
+    the License, or (at your option) any later version.
+    
+    This software 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 software; if not, write to the Free
+    Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+    02110-1301 USA, or see the FSF site: http://www.fsf.org.
+-->
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transi...">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:pn="http://richfaces.org/output"
+      xmlns:rich="http://richfaces.org/rich">
+
+    <h:head>
+        <title>Richfaces MenuItem Test</title>
+    </h:head>
+
+<h:body>
+    <h:form id="form">
+		<pn:menuItem id="menuItem" label="Test" action="#{ddmBean.doAction}" mode="server"/>
+    </h:form>
+</h:body>
+</html>
+
+

Copied: branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xmlunit.xml (from rev 20482, trunk/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xmlunit.xml)
===================================================================
--- branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xmlunit.xml	                        (rev 0)
+++ branches/RF-8742-1/ui/output/ui/src/test/resources/org/richfaces/renderkit/html/menuItem_serverMode.xmlunit.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -0,0 +1,12 @@
+      <div class="rf-ddm-itm rf-ddm-itm-unsel " id="form:menuItem" 
+      onclick="RichFaces.submitForm(&quot;form&quot;,{&quot;form:menuItem&quot;:&quot;form:menuItem&quot;} )" 
+      onmouseout="this.className=&apos;rf-ddm-itm rf-ddm-itm-unsel &apos;" 
+      onmouseover="this.className=&apos;rf-ddm-itm rf-ddm-itm-sel &apos;">
+        <span class="rf-ddm-itm-ic ">
+          <div class="rf-ddm-emptyIcon">
+          </div>
+        </span>
+        <span class="rf-ddm-itm-lbl ">
+          Test
+        </span>
+      </div>
\ No newline at end of file

Modified: branches/RF-8742-1/ui/parent/pom.xml
===================================================================
--- branches/RF-8742-1/ui/parent/pom.xml	2010-12-09 15:06:40 UTC (rev 20482)
+++ branches/RF-8742-1/ui/parent/pom.xml	2010-12-09 17:26:24 UTC (rev 20483)
@@ -89,12 +89,6 @@
             <groupId>org.richfaces.core</groupId>
             <artifactId>richfaces-core-api</artifactId>
         </dependency>
-        <dependency>
-            <!-- todo remove this dependency or move to test scope -->
-            <groupId>org.richfaces.core</groupId>
-            <artifactId>richfaces-core-impl</artifactId>
-			<scope>test</scope>
-        </dependency>         <dependency>
             <groupId>org.richfaces.cdk</groupId>
@@ -128,6 +122,11 @@         <!-- tests -->
         <dependency>
+            <groupId>org.richfaces.core</groupId>
+            <artifactId>richfaces-core-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.jboss.test-jsf</groupId>
             <artifactId>jsf-test-stage</artifactId>
             <scope>test</scope>
Home | About | Privacy