[richfaces-svn-commits] JBoss Rich Faces SVN: r2949 - in trunk: extensions/gwt and 69 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Sep 14 20:10:06 EDT 2007


Author: alexsmirnov
Date: 2007-09-14 20:10:06 -0400 (Fri, 14 Sep 2007)
New Revision: 2949

Added:
   trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF
   trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/
   trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF
   trunk/sandbox/samples/dialog-window-sample/
   trunk/sandbox/samples/dialog-window-sample/.svnignore
   trunk/sandbox/samples/dialog-window-sample/pom.xml
   trunk/sandbox/samples/dialog-window-sample/src/
   trunk/sandbox/samples/dialog-window-sample/src/main/
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml
   trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml
   trunk/sandbox/ui/dialog-window/
   trunk/sandbox/ui/dialog-window/pom.xml
   trunk/sandbox/ui/dialog-window/src/
   trunk/sandbox/ui/dialog-window/src/main/
   trunk/sandbox/ui/dialog-window/src/main/config/
   trunk/sandbox/ui/dialog-window/src/main/config/component/
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml
   trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml
   trunk/sandbox/ui/dialog-window/src/main/java/
   trunk/sandbox/ui/dialog-window/src/main/java/org/
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java
   trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java
   trunk/sandbox/ui/dialog-window/src/main/resources/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/spacer.gif
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-button.js
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-close.js
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-link.js
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css
   trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/tmp
   trunk/sandbox/ui/dialog-window/src/main/templates/
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml
   trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml
   trunk/sandbox/ui/dialog-window/src/test/
   trunk/sandbox/ui/dialog-window/src/test/java/
   trunk/sandbox/ui/dialog-window/src/test/java/package.html
   trunk/ui/dropdown-menu/src/main/config/resources/
   trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml
Removed:
   trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF
Modified:
   trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml
   trunk/extensions/gwt/pom.xml
   trunk/extensions/seam/pom.xml
   trunk/extensions/trinidad/pom.xml
   trunk/framework/api-parent/pom.xml
   trunk/framework/impl-parent/pom.xml
   trunk/framework/impl/pom.xml
   trunk/samples/ajaxPortlet/pom.xml
   trunk/samples/pom.xml
   trunk/samples/portal-echo/pom.xml
   trunk/samples/richfaces-art-datatable/pom.xml
   trunk/samples/richfaces-ear-demo/ejb/pom.xml
   trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java
   trunk/samples/richfaces-ear-demo/pom.xml
   trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml
   trunk/samples/richfaces-ear-demo/webapp/pom.xml
   trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java
   trunk/samples/scrollableDataTableDemo/pom.xml
   trunk/samples/seamEAR/ear/pom.xml
   trunk/samples/seamEAR/ejbs/pom.xml
   trunk/samples/seamEAR/pom.xml
   trunk/samples/seamEAR/primary-source/pom.xml
   trunk/samples/seamEAR/projects/logging/pom.xml
   trunk/samples/seamEAR/projects/pom.xml
   trunk/samples/seamEAR/wars/pom.xml
   trunk/samples/seamEAR/wars/seamWebapp/pom.xml
   trunk/samples/seamIntegration/pom.xml
   trunk/samples/tomahawkCompability/pom.xml
   trunk/samples/useCases/pom.xml
   trunk/samples/virtualEarth-sample/pom.xml
   trunk/sandbox/samples/rich-message-demo/pom.xml
   trunk/test-applications/facelets/pom.xml
   trunk/test-applications/jsp/pom.xml
   trunk/test-applications/pom.xml
   trunk/ui/dataTable/pom.xml
   trunk/ui/drag-drop/pom.xml
Log:
Fix all versions to 3.1.1-SNAPSHOT
import dialog vindow component from VCP 2.0 to sandbox.
continue development for EAR sample project

Modified: trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml
===================================================================
--- trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/cdk/maven-archetype-jsf-component/src/main/resources/archetype-resources/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -10,7 +10,7 @@
 			<plugin>
 				<groupId>org.richfaces.cdk</groupId>
 				<artifactId>maven-cdk-plugin</artifactId>
-				  <version>3.1.0-SNAPSHOT</version>
+				  <version>3.1.1-SNAPSHOT</version>
 				<configuration>
 					<library>
 					<prefix>${groupId}</prefix>

Modified: trunk/extensions/gwt/pom.xml
===================================================================
--- trunk/extensions/gwt/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/extensions/gwt/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,7 +3,7 @@
 	<parent>
 		<artifactId>master</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces</groupId>
@@ -99,7 +99,7 @@
 		<dependency>
 			<groupId>org.richfaces</groupId>
 			<artifactId>ajax4jsf</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>com.sun.facelets</groupId>

Modified: trunk/extensions/seam/pom.xml
===================================================================
--- trunk/extensions/seam/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/extensions/seam/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -35,7 +35,7 @@
 	<dependency>
 		<groupId>org.richfaces</groupId>
 		<artifactId>ajax4jsf</artifactId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</dependency>
 	<dependency>
 		<groupId>jboss</groupId>

Modified: trunk/extensions/trinidad/pom.xml
===================================================================
--- trunk/extensions/trinidad/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/extensions/trinidad/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -35,7 +35,7 @@
 	<dependency>
 		<groupId>org.richfaces</groupId>
 		<artifactId>ajax4jsf</artifactId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</dependency>
   	<dependency>
   	    <groupId>org.apache.myfaces.trinidad</groupId>

Modified: trunk/framework/api-parent/pom.xml
===================================================================
--- trunk/framework/api-parent/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/framework/api-parent/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,13 +4,13 @@
 	<parent>
 		<artifactId>framework</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.framework</groupId>
 	<packaging>pom</packaging>
 	<artifactId>api-parent</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<name>Java Server Faces AJAX framework API Dependencies</name>
 	<properties>
 		<jsfVersion>1.1</jsfVersion>

Modified: trunk/framework/impl/pom.xml
===================================================================
--- trunk/framework/impl/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/framework/impl/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,7 +3,7 @@
 		<parent>
 		<artifactId>impl-parent</artifactId>
 		<groupId>org.richfaces.framework</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 		<relativePath>../impl-parent/pom.xml</relativePath>
 		</parent>
 	-->

Modified: trunk/framework/impl-parent/pom.xml
===================================================================
--- trunk/framework/impl-parent/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/framework/impl-parent/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,12 +5,12 @@
 	<parent>
 		<artifactId>framework</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.framework</groupId>
 	<artifactId>impl-parent</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<packaging>pom</packaging>
 	<name>
 		Java Server Faces AJAX framework implementation parent file
@@ -203,7 +203,7 @@
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-api</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
 	<properties>

Modified: trunk/samples/ajaxPortlet/pom.xml
===================================================================
--- trunk/samples/ajaxPortlet/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/ajaxPortlet/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,12 +5,12 @@
 	<parent>
 		<artifactId>samples</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
 	<artifactId>portalAjaxSample</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<packaging>war</packaging>
 	<description>Ajax JSF sample portlet</description>
 	<build>
@@ -27,7 +27,7 @@
 		<dependency>
 			<groupId>org.richfaces.extensions</groupId>
 			<artifactId>portlet</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			<exclusions>
 				<exclusion>
 					<groupId>javax.faces</groupId>
@@ -42,7 +42,7 @@
 		<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>richfaces-ui</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>javax.faces</groupId>

Modified: trunk/samples/pom.xml
===================================================================
--- trunk/samples/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -361,7 +361,7 @@
 				<dependency>
 					<groupId>org.richfaces.framework</groupId>
 					<artifactId>richfaces-impl</artifactId>
-					<version>3.1.0-SNAPSHOT</version>
+					<version>3.1.1-SNAPSHOT</version>
 					<exclusions>
 						<exclusion>
 							<groupId>javax.faces</groupId>

Modified: trunk/samples/portal-echo/pom.xml
===================================================================
--- trunk/samples/portal-echo/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/portal-echo/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,13 +5,13 @@
     <parent>
         <artifactId>samples</artifactId>
         <groupId>org.richfaces</groupId>
-        <version>3.1.0-SNAPSHOT</version>
+        <version>3.1.1-SNAPSHOT</version>
     </parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
 	<artifactId>portal-echo</artifactId>
 	<packaging>war</packaging>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<description>Ajax JSF sample portlet</description>
 	<build>
 		<defaultGoal>package</defaultGoal>

Modified: trunk/samples/richfaces-art-datatable/pom.xml
===================================================================
--- trunk/samples/richfaces-art-datatable/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-art-datatable/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,19 +3,19 @@
     <parent>
         <artifactId>samples</artifactId>
         <groupId>org.richfaces</groupId>
-        <version>3.1.0-SNAPSHOT</version>
+        <version>3.1.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.richfaces.samples</groupId>
     <artifactId>richfaces-art-datatable</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
     <packaging>war</packaging>
     <name>richfaces-art-datatableDemo Maven Webapp</name>
     <dependencies>
        <dependency>
             <groupId>org.richfaces.ui</groupId>
             <artifactId>richfaces-ui</artifactId>
-            <version>3.1.0-SNAPSHOT</version>
+            <version>3.1.1-SNAPSHOT</version>
         </dependency>
     </dependencies>
     <build>

Modified: trunk/samples/richfaces-ear-demo/ejb/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/ejb/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,14 +4,14 @@
 	<parent>
 		<artifactId>richfaces-ear-demo</artifactId>
 		<groupId>org.richfaces.samples</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
 	<artifactId>ejb</artifactId>
 	<packaging>ejb</packaging>
 	<name>ejb</name>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<url>http://maven.apache.org</url>
 	<dependencies>
 		<dependency>
@@ -23,7 +23,7 @@
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-api</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			<exclusions>
 				<exclusion>
 					<groupId>javax.faces</groupId>

Deleted: trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF	2007-09-15 00:10:06 UTC (rev 2949)
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Class-Path: 
-

Modified: trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/ejb/src/main/java/org/richfaces/samples/Guess.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,6 +6,7 @@
 import javax.ejb.Local;
 import javax.ejb.LocalHome;
 import javax.ejb.Remote;
+import javax.ejb.Remove;
 
 /**
  * @author asmirnov
@@ -68,4 +69,7 @@
 
 	public int guess();
 
+	@Remove
+	public void destroy();
+
 }

Copied: trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF (from rev 2948, trunk/samples/richfaces-ear-demo/ejb/src/main/java/META-INF/MANIFEST.MF)
===================================================================
--- trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF	                        (rev 0)
+++ trunk/samples/richfaces-ear-demo/ejb/src/main/resources/META-INF/MANIFEST.MF	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,8 @@
+Manifest-Version: 1.0
+Archiver-Version: Plexus Archiver
+Created-By: Apache Maven
+Built-By: asmirnov
+Build-Jdk: 1.5.0_11
+Class-Path: commons-logging-1.0.3.jar richfaces-api-3.1.1-SNAPSHOT.jar
+  commons-collections-3.2.jar commons-beanutils-1.7.0.jar
+

Modified: trunk/samples/richfaces-ear-demo/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,14 +4,14 @@
   <parent>
     <artifactId>root</artifactId>
     <groupId>org.richfaces</groupId>
-    <version>3.1.0-SNAPSHOT</version>
+    <version>3.1.1-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.richfaces.samples</groupId>
   <artifactId>richfaces-ear-demo</artifactId>
   <name>JSF 1.2/Jee5 enterprise application demo</name>
   <packaging>pom</packaging>
-  <version>3.1.0-SNAPSHOT</version>
+  <version>3.1.1-SNAPSHOT</version>
         <build>
                 <pluginManagement>
                         <plugins>

Modified: trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/richfacesEAR/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -1,56 +1,66 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <artifactId>richfaces-ear-demo</artifactId>
-    <groupId>org.richfaces.samples</groupId>
-    <version>3.1.0-SNAPSHOT</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
-  <artifactId>richfacesEAR</artifactId>
-  <name>richfacesEAR</name>
-  <packaging>ear</packaging>
-  <version>3.1.0-SNAPSHOT</version>
-  <url>http://maven.apache.org</url>
-  <dependencies>
-    <dependency>
-    <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
-    <artifactId>ejb</artifactId>
-    <version>3.1.0-SNAPSHOT</version>
-    <type>ejb</type>
-    </dependency>
-    <dependency>
-    <groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
-    <artifactId>webapp</artifactId>
-    <version>3.1.0-SNAPSHOT</version>
-    <type>war</type>
-    </dependency>
-  </dependencies>
-        <build>
-                <plugins>
-                        <plugin>
-                                <artifactId>maven-ear-plugin</artifactId>
-                                <configuration>
-                                        <defaultLibBundleDir>lib</defaultLibBundleDir>
-                                        <modules>
-                                                <ejbModule>
-							<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
-                                                        <artifactId>ejb</artifactId>
-                                                        <bundleDir>/</bundleDir>
-                                                </ejbModule>
-                                                <jarModule>
-                                                        <groupId>org.richfaces.framework</groupId>
-                                                        <artifactId>richfaces-api</artifactId>
-                                                        <includeInApplicationXml>
-                                                                true
-                                                        </includeInApplicationXml>
-                                                        <bundleDir>/</bundleDir>
-                                                </jarModule>
-                                        </modules>
-                                        <version>5</version>
-                                </configuration>
-                        </plugin>
-                </plugins>
-        </build>
+	<parent>
+		<artifactId>richfaces-ear-demo</artifactId>
+		<groupId>org.richfaces.samples</groupId>
+		<version>3.1.1-SNAPSHOT</version>
+	</parent>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+	<artifactId>richfacesEAR</artifactId>
+	<name>richfacesEAR</name>
+	<packaging>ear</packaging>
+	<version>3.1.1-SNAPSHOT</version>
+	<url>http://maven.apache.org</url>
+	<dependencies>
+		<dependency>
+			<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+			<artifactId>ejb</artifactId>
+			<version>3.1.1-SNAPSHOT</version>
+			<type>ejb</type>
+		</dependency>
+		<dependency>
+			<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+			<artifactId>ejb</artifactId>
+			<version>3.1.1-SNAPSHOT</version>
+			<type>ejb-client</type>
+		</dependency>
+		<dependency>
+			<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
+			<artifactId>webapp</artifactId>
+			<version>3.1.1-SNAPSHOT</version>
+			<type>war</type>
+		</dependency>
+	</dependencies>
+	<build>
+		<plugins>
+			<plugin>
+				<artifactId>maven-ear-plugin</artifactId>
+				<configuration>
+					<defaultLibBundleDir>lib</defaultLibBundleDir>
+					<modules>
+						<ejbModule>
+							<groupId>
+								org.richfaces.samples.richfaces-ear-demo
+							</groupId>
+							<artifactId>ejb</artifactId>
+							<bundleDir>/</bundleDir>
+						</ejbModule>
+						<!--
+							<jarModule>
+							<groupId>org.richfaces.framework</groupId>
+							<artifactId>richfaces-api</artifactId>
+							<includeInApplicationXml>
+							true
+							</includeInApplicationXml>
+							<bundleDir>/</bundleDir>
+							</jarModule>
+						-->
+					</modules>
+					<version>5</version>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
 </project>
\ No newline at end of file

Modified: trunk/samples/richfaces-ear-demo/webapp/pom.xml
===================================================================
--- trunk/samples/richfaces-ear-demo/webapp/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/webapp/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,14 +4,14 @@
 	<parent>
 		<artifactId>richfaces-ear-demo</artifactId>
 		<groupId>org.richfaces.samples</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
 	<artifactId>webapp</artifactId>
 	<packaging>war</packaging>
 	<name>webapp Maven Webapp</name>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<url>http://maven.apache.org</url>
 	<build>
 		<finalName>webapp</finalName>
@@ -24,6 +24,18 @@
 					<target>1.5</target>
 				</configuration>
 			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-war-plugin</artifactId>
+				<configuration>
+					<archive>
+						<manifest>
+							<addClasspath>true</addClasspath>
+							<classpathPrefix>lib/</classpathPrefix>
+						</manifest>
+					</archive>
+				</configuration>
+			</plugin>
 		</plugins>
 	</build>
 	<dependencies>
@@ -36,18 +48,18 @@
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-impl</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>richfaces-ui</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-api</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
-			<scope>provided</scope>
+			<version>3.1.1-SNAPSHOT</version>
+			<optional>true</optional>
 		</dependency>
 		<dependency>
 			<groupId>javax.ejb</groupId>
@@ -56,12 +68,14 @@
 			<scope>provided</scope>
 			<optional>true</optional>
 		</dependency>
-		<dependency>
+			<dependency>
 			<groupId>org.richfaces.samples.richfaces-ear-demo</groupId>
 			<artifactId>ejb</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			<type>ejb-client</type>
-		</dependency>
+			<scope>provided</scope>
+			<optional>true</optional>
+			</dependency>
 		<dependency>
 			<groupId>com.sun.facelets</groupId>
 			<artifactId>jsf-facelets</artifactId>

Modified: trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java
===================================================================
--- trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/richfaces-ear-demo/webapp/src/main/java/org/richfaces/samples/GuessViewBean.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -3,16 +3,21 @@
  */
 package org.richfaces.samples;
 
+import java.io.Serializable;
+
 import javax.faces.FacesException;
 import javax.naming.InitialContext;
 import javax.naming.NameNotFoundException;
 import javax.naming.NamingException;
+import javax.servlet.http.HttpSessionActivationListener;
+import javax.servlet.http.HttpSessionEvent;
 
 /**
  * @author asmirnov
  * 
  */
-public class GuessViewBean {
+public class GuessViewBean implements Serializable,
+		HttpSessionActivationListener {
 
 	private Guess guess;
 
@@ -110,4 +115,19 @@
 		getGuess().start();
 	}
 
+	public void sessionDidActivate(HttpSessionEvent se) {
+		// do nothing.
+
+	}
+
+	public void sessionWillPassivate(HttpSessionEvent se) {
+		// remove Statefull session bin.
+		synchronized (this) {
+			if (null != guess) {
+				guess.destroy();
+				guess = null;
+			}
+		}
+	}
+
 }

Added: trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF
===================================================================
--- trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF	                        (rev 0)
+++ trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Archiver-Version: Plexus Archiver
+Created-By: Apache Maven
+Built-By: asmirnov
+Build-Jdk: 1.5.0_11
+Class-Path: lib/richfaces-ui-3.1.1-SNAPSHOT.jar lib/jsf-facelets-1.1.1
+ 2.jar lib/richfaces-api-3.1.1-SNAPSHOT.jar lib/jstl-1.0.jar lib/commo
+ ns-collections-3.2.jar lib/commons-digester-1.8.jar lib/commons-loggi
+ ng-1.0.4.jar lib/richfaces-impl-3.1.1-SNAPSHOT.jar lib/commons-beanut
+ ils-1.7.0.jar
+


Property changes on: trunk/samples/richfaces-ear-demo/webapp/src/main/resources/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/samples/scrollableDataTableDemo/pom.xml
===================================================================
--- trunk/samples/scrollableDataTableDemo/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/scrollableDataTableDemo/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,34 +4,34 @@
 	<parent>
 		<artifactId>samples</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<artifactId>scrollableDataTableDemo</artifactId>
 	<groupId>org.richfaces.samples</groupId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<packaging>war</packaging>
 	<name>scrollableDataTable Maven Webapp</name>
 	<dependencies>
 		<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>scrollableDataTable</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.richfaces.samples</groupId>
 			<artifactId>skins</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>core</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 	    <dependency>
 	      <groupId>org.richfaces.ui</groupId>
 	      <artifactId>dataTable</artifactId>
-	      <version>3.1.0-SNAPSHOT</version>
+	      <version>3.1.1-SNAPSHOT</version>
 	    </dependency>
 	</dependencies>
 

Modified: trunk/samples/seamEAR/ear/pom.xml
===================================================================
--- trunk/samples/seamEAR/ear/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/ear/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,18 +6,18 @@
 	<groupId>org.richfaces.samples.seamEAR</groupId>
 	<artifactId>ear</artifactId>
 	<packaging>ear</packaging>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<name>ear assembly</name>
 	<parent>
 		<groupId>org.richfaces.samples</groupId>
 		<artifactId>seamEAR</artifactId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<dependencies>
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-api</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			<exclusions>
 				<exclusion>
 					<groupId>javax.faces</groupId>

Modified: trunk/samples/seamEAR/ejbs/pom.xml
===================================================================
--- trunk/samples/seamEAR/ejbs/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/ejbs/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,12 +6,12 @@
 	<groupId>org.richfaces.samples.seamEAR</groupId>
 	<artifactId>ejbs</artifactId>
 	<packaging>ejb</packaging>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<name>enterprise java beans</name>
 	<parent>
 		<groupId>org.richfaces.samples</groupId>
 		<artifactId>seamEAR</artifactId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<dependencies>
 		<dependency>
@@ -32,7 +32,7 @@
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-api</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			<exclusions>
 				<exclusion>
 					<groupId>javax.faces</groupId>

Modified: trunk/samples/seamEAR/pom.xml
===================================================================
--- trunk/samples/seamEAR/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -6,12 +6,12 @@
 		<parent>
 		<artifactId>samples</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 		</parent>
 	-->
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<artifactId>seamEAR</artifactId>
 	<packaging>pom</packaging>
 	<name>seam EAR project</name>
@@ -58,23 +58,23 @@
 					org.richfaces.samples.seamEAR.projects
 				</groupId>
 				<artifactId>logging</artifactId>
-				<version>3.1.0-SNAPSHOT</version>
+				<version>3.1.1-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.richfaces.samples.seamEAR</groupId>
 				<artifactId>primary-source</artifactId>
-				<version>3.1.0-SNAPSHOT</version>
+				<version>3.1.1-SNAPSHOT</version>
 			</dependency>
 			<dependency>
 				<groupId>org.richfaces.samples.seamEAR.wars</groupId>
 				<artifactId>seamWebapp</artifactId>
-				<version>3.1.0-SNAPSHOT</version>
+				<version>3.1.1-SNAPSHOT</version>
 				<type>war</type>
 			</dependency>
 			<dependency>
 				<groupId>org.richfaces.samples.seamEAR</groupId>
 				<artifactId>ejbs</artifactId>
-				<version>3.1.0-SNAPSHOT</version>
+				<version>3.1.1-SNAPSHOT</version>
 				<type>ejb</type>
 			</dependency>
 		</dependencies>

Modified: trunk/samples/seamEAR/primary-source/pom.xml
===================================================================
--- trunk/samples/seamEAR/primary-source/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/primary-source/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -7,7 +7,7 @@
    <parent>
       <groupId>org.richfaces.samples</groupId>
       <artifactId>seamEAR</artifactId>
-      <version>3.1.0-SNAPSHOT</version>
+      <version>3.1.1-SNAPSHOT</version>
    </parent>
    <dependencies>
       <dependency>

Modified: trunk/samples/seamEAR/projects/logging/pom.xml
===================================================================
--- trunk/samples/seamEAR/projects/logging/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/projects/logging/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -7,6 +7,6 @@
    <parent>
       <groupId>org.richfaces.samples.seamEAR</groupId>
       <artifactId>projects</artifactId>
-      <version>3.1.0-SNAPSHOT</version>
+      <version>3.1.1-SNAPSHOT</version>
    </parent>
 </project>

Modified: trunk/samples/seamEAR/projects/pom.xml
===================================================================
--- trunk/samples/seamEAR/projects/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/projects/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -1,14 +1,14 @@
 <project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.richfaces.samples.seamEAR</groupId>
-   <version>3.1.0-SNAPSHOT</version>
+   <version>3.1.1-SNAPSHOT</version>
    <artifactId>projects</artifactId>
    <packaging>pom</packaging>
    <name>sub projects</name>
    <parent>
       <groupId>org.richfaces.samples</groupId>
       <artifactId>seamEAR</artifactId>
-      <version>3.1.0-SNAPSHOT</version>
+      <version>3.1.1-SNAPSHOT</version>
    </parent>
    <modules>
       <module>logging</module>

Modified: trunk/samples/seamEAR/wars/pom.xml
===================================================================
--- trunk/samples/seamEAR/wars/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/wars/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,11 +4,11 @@
    <artifactId>wars</artifactId>
    <packaging>pom</packaging>
    <name>wars</name>
-   <version>3.1.0-SNAPSHOT</version>
+   <version>3.1.1-SNAPSHOT</version>
    <parent>
       <groupId>org.richfaces.samples</groupId>
       <artifactId>seamEAR</artifactId>
-      <version>3.1.0-SNAPSHOT</version>
+      <version>3.1.1-SNAPSHOT</version>
    </parent>
    <modules>
       <module>seamWebapp</module>

Modified: trunk/samples/seamEAR/wars/seamWebapp/pom.xml
===================================================================
--- trunk/samples/seamEAR/wars/seamWebapp/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamEAR/wars/seamWebapp/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -10,7 +10,7 @@
 	<parent>
 		<groupId>org.richfaces.samples.seamEAR</groupId>
 		<artifactId>wars</artifactId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<build>
 	<finalName>seamWebapp</finalName>
@@ -42,17 +42,17 @@
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-impl</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>richfaces-ui</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 		<dependency>
 			<groupId>org.richfaces.framework</groupId>
 			<artifactId>richfaces-api</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			<scope>provided</scope>
 		</dependency>
 		<dependency>

Modified: trunk/samples/seamIntegration/pom.xml
===================================================================
--- trunk/samples/seamIntegration/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/seamIntegration/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,14 +5,14 @@
 	<parent>
 		<artifactId>samples</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
 	<artifactId>seamIntegration</artifactId>
 	<packaging>war</packaging>
 	<name>seamIntegration Maven Webapp</name>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<build>
 		<finalName>seamIntegration</finalName>
 		<plugins>

Modified: trunk/samples/tomahawkCompability/pom.xml
===================================================================
--- trunk/samples/tomahawkCompability/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/tomahawkCompability/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -8,7 +8,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
 	<artifactId>tomahawkCompability</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<packaging>war</packaging>
 	<name>tomahawkCompability Maven Webapp</name>
 	<properties>

Modified: trunk/samples/useCases/pom.xml
===================================================================
--- trunk/samples/useCases/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/useCases/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -5,12 +5,12 @@
 	<parent>
 		<artifactId>samples</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
 	<artifactId>useCases</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<packaging>war</packaging>
 	<name>useCases Maven Webapp</name>
 	<build>

Modified: trunk/samples/virtualEarth-sample/pom.xml
===================================================================
--- trunk/samples/virtualEarth-sample/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/samples/virtualEarth-sample/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -4,19 +4,19 @@
 	<parent>
 		<artifactId>samples</artifactId>
 		<groupId>org.richfaces</groupId>
-		<version>3.1.0-SNAPSHOT</version>
+		<version>3.1.1-SNAPSHOT</version>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>org.richfaces.samples</groupId>
 	<artifactId>virtualEarth-sample</artifactId>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<packaging>war</packaging>
 	<name>gmap-sample Maven Webapp</name>
 	<dependencies>
 		<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>virtualEarth</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
 	<build>

Added: trunk/sandbox/samples/dialog-window-sample/.svnignore
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/.svnignore	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/.svnignore	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+target
+.settings
+.classpath
+.project
+.exadelproject

Added: trunk/sandbox/samples/dialog-window-sample/pom.xml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/pom.xml	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,30 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>samples</artifactId>
+    <groupId>org.richfaces.sandbox</groupId>
+    <version>3.1.1-SNAPSHOT</version>
+  </parent>
+ 
+	<modelVersion>4.0.0</modelVersion>
+  <groupId>org.richfaces</groupId>
+  <artifactId>dialog-window-sample</artifactId>
+  <packaging>war</packaging>
+  <name>Dialog window sample Maven Webapp</name>
+  <dependencies>
+  	
+  	<dependency>
+		<groupId>org.richfaces.sandbox.ui</groupId>
+	    <artifactId>dialog-window</artifactId>
+      <version>3.1.1-SNAPSHOT</version>
+  	</dependency>
+  	<dependency>
+		<groupId>org.richfaces.samples</groupId>
+	    <artifactId>skins</artifactId>
+      <version>3.1.1-SNAPSHOT</version>
+  	</dependency>
+  	
+  </dependencies>	
+  <build>
+    <finalName>dialog-window-sample</finalName>
+  </build>
+</project>
\ No newline at end of file


Property changes on: trunk/sandbox/samples/dialog-window-sample/pom.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: 
+


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
+                              "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
+<faces-config>
+    <managed-bean>
+        <managed-bean-name>skinBean</managed-bean-name>
+        <managed-bean-class>org.richfaces.SkinBean</managed-bean-class>
+        <managed-bean-scope>session</managed-bean-scope>
+    </managed-bean>
+</faces-config>
+


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/faces-config.xml.l4t	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PROCESS ENTITY="JSFProcess">
+ <PROCESS-ITEM ENTITY="JSFProcessGroup" NAME="rules:#panel.xhtml"
+  PATH="/panel.xhtml" SHAPE="98,111,0,0" persistent="true"/>
+</PROCESS>

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+ <description>Richfaces Panel Sample</description>
+ <display-name>panel-sample</display-name>
+ <context-param>
+<param-name>com.exadel.vcp.SKIN</param-name>
+<param-value>#{skinBean.skin}</param-value>
+</context-param>
+ <context-param>
+  <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
+  <param-value>.xhtml</param-value>
+ </context-param>
+ <context-param>
+  <param-name>facelets.REFRESH_PERIOD</param-name>
+  <param-value>2</param-value>
+ </context-param>
+ <context-param>
+  <param-name>facelets.DEVELOPMENT</param-name>
+  <param-value>true</param-value>
+ </context-param>
+ <context-param>
+  <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
+  <param-value>client</param-value>
+ </context-param>
+ <context-param>
+  <param-name>com.sun.faces.validateXml</param-name>
+  <param-value>true</param-value>
+ </context-param>
+ <context-param>
+  <param-name>com.sun.faces.verifyObjects</param-name>
+  <param-value>true</param-value>
+ </context-param>
+ <context-param>
+  <param-name>org.ajax4jsf.SKIN</param-name>
+  <param-value>#{skinBean.skin}</param-value>
+ </context-param>
+ <context-param>
+  <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
+  <param-value>com.sun.facelets.FaceletViewHandler</param-value>
+ </context-param>
+ <filter>
+  <display-name>Ajax4jsf Filter</display-name>
+  <filter-name>ajax4jsf</filter-name>
+  <filter-class>org.ajax4jsf.Filter</filter-class>
+ </filter>
+ <filter-mapping>
+  <filter-name>ajax4jsf</filter-name>
+  <servlet-name>Faces Servlet</servlet-name>
+  <dispatcher>FORWARD</dispatcher>
+  <dispatcher>REQUEST</dispatcher>
+  <dispatcher>INCLUDE</dispatcher>
+ </filter-mapping>
+ <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>
+ <login-config>
+  <auth-method>BASIC</auth-method>
+ </login-config>
+</web-app>


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/WEB-INF/web.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:dialog="http://labs.jboss.com/jbossrichfaces/ui/ui/dialog-window"
+       xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+      >
+<head>      
+<style>
+.my {
+	border: 2px solid yellow;
+}
+</style>
+</head>
+<body>
+
+<h:form>
+<h:selectOneRadio binding="#{skinBean.component}" />
+<h:commandLink action="#{skinBean.change}" value="set skin" />
+
+<dialog:dialogWindowButton>
+</dialog:dialogWindowButton>
+</h:form>
+
+</body>
+</html>


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/dialog.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,7 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head></head>
+	<body>
+		<jsp:forward page="dialog.jsf" />
+	</body>
+</html>
\ No newline at end of file


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/index.jsp
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:dialog="http://labs.jboss.com/jbossrichfaces/ui/ui/dialog-window"
+       xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+      >
+<head>      
+<style>
+.my {
+	border: 2px solid yellow;
+}
+</style>
+</head>
+<body>
+
+<h:form>
+<h:selectOneRadio binding="#{skinBean.component}" />
+<h:commandLink action="#{skinBean.change}" value="set skin" />
+</h:form>
+
+	<h:outputLink value="panel2.jsf">Sample 2</h:outputLink>
+	<panel:panel2>
+		<a4j:facet name="header">
+			Test
+		</a4j:facet>
+	<panel:panel2>
+		<a4j:facet name="header">
+			Test
+		</a4j:facet>
+	<panel:panel2>
+		<a4j:facet name="header">
+			Test	
+		</a4j:facet>
+		Body text
+	</panel:panel2>
+	</panel:panel2>
+	</panel:panel2>
+	<br/>
+	<panel:panel2>
+		<a4j:facet name="header">
+			Test<br/>
+			Test<br/>
+			Test<br/>
+			Test<br/>
+			Test<br/>
+		</a4j:facet>
+		<h:form>
+			<h:outputText value="inside the form"/>
+		</h:form>
+	</panel:panel2>
+</body>
+</html>


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml
===================================================================
--- trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml	                        (rev 0)
+++ trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,137 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+      xmlns:ui="http://java.sun.com/jsf/facelets"
+      xmlns:h="http://java.sun.com/jsf/html"
+      xmlns:f="http://java.sun.com/jsf/core"
+      xmlns:panel="http://richfaces.ajax4jsf.org/panel2"
+      xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<head>
+<style>
+ .panel {
+  vertical-align:top;
+ }
+ .rich-panel-header {
+  color:#F00;
+
+ }
+ .top {
+ width:200px;height:100px;
+ }
+ .hea {
+  color:#FCC;
+ }
+ .bo {
+  color:#F00;
+ }
+
+ .top2 {
+ width:200px;height:100px;
+ border:2px solid #4C9600;
+ background-color:#E4FFC8;
+ }
+
+
+.hea2 {
+  background-image : url();
+  background-color : #4C9600;
+  text-align:center;
+  vertical-align:middle;
+  color:#CFF;
+  padding:4px 0;
+ }
+
+ .bo2 {
+  color:#4C9600;
+ }
+ .bo3 {
+  height:100px;
+  overflow:auto;
+ }
+
+</style>
+</head>
+<body>
+<h:form>
+<h:selectOneRadio binding="#{skinBean.component}" />
+<h:commandLink action="#{skinBean.change}" value="set skin" />
+</h:form>
+<h:outputLink value="panel.jsf">Sample 1</h:outputLink>
+ <h:panelGrid columnClasses="panel" border="0" columns="3">
+    <panel:panel2 styleClass="top">
+    <a4j:facet name="header">
+    <h:panelGroup>
+    dsdsdsdsd<br />sdsd
+    </h:panelGroup>
+
+    </a4j:facet>
+
+    This is <b>default</b> panel. content here
+    </panel:panel2>
+    <panel:panel2 styleClass="top" headerClass="hea" bodyClass="bo">
+    <a4j:facet name="header">
+    <h:outputText value="Header of the Panel" />
+    </a4j:facet>
+     This panel contains custom headerClass and bodyClass
+    </panel:panel2>
+    <panel:panel2 styleClass="top2" headerClass="hea2" bodyClass="bo2">
+    <a4j:facet name="header">
+    <h:outputText
+      value="Header of the Panel" />
+    </a4j:facet>
+     This panel also contains custom headerClass and bodyClass. The background is not a 3D anymore.
+    </panel:panel2>
+
+    <h:panelGroup>
+    <h:form>
+    <panel:panel2
+    onmouseover="document.getElementById(this.id+'_header').style.background='#60BA01';document.getElementById(this.id+'_body').style.background='#F4FFF8'"
+    onmouseout="document.getElementById(this.id+'_header').style.background='#4C9600';document.getElementById(this.id+'_body').style.background='#E4FFC8'"
+     style="width:200px;" headerClass="hea2" bodyClass="bo3">
+    <a4j:facet name="header">
+    <h:outputText
+      value="Header of the Panel" />
+    </a4j:facet>
+     Base on the previous layout, but form element and javascript behaviour are added
+     <br />
+     <h:inputText />
+    </panel:panel2>
+    </h:form>
+    </h:panelGroup>
+
+    <panel:panel2 style="width:200px;" headerClass="hea" bodyClass="bo3">
+    <a4j:facet name="header">
+    <h:outputText
+      value="Scrolling Text Panel" />
+    </a4j:facet>
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+     Long Text Long Text Long Text
+
+    </panel:panel2>
+
+    <panel:panel2 styleClass="top">
+     This is a panel without the header
+
+    </panel:panel2>
+ </h:panelGrid>
+ <panel:panel2 style="position: absolute; top: 116px; right: 100px; " styleClass="top">
+    <a4j:facet name="header">
+    <h:outputText value="Header of the Panel" />
+    </a4j:facet>
+
+    This is a panel with absolute position on the screen.<br/>
+    Resize the browser's window for fun.
+ </panel:panel2>
+
+</body>
+</html>


Property changes on: trunk/sandbox/samples/dialog-window-sample/src/main/webapp/panel2.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/sandbox/samples/rich-message-demo/pom.xml
===================================================================
--- trunk/sandbox/samples/rich-message-demo/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/sandbox/samples/rich-message-demo/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
   <parent>
     <artifactId>samples</artifactId>
     <groupId>org.richfaces.sandbox</groupId>
-    <version>3.1.0-SNAPSHOT</version>
+    <version>3.1.1-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.richfaces.demo</groupId>
@@ -13,17 +13,17 @@
 		<dependency>
 			<groupId>org.richfaces.sandbox.ui</groupId>
 			<artifactId>message</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			</dependency>
 		<dependency>
 			<groupId>org.richfaces.samples</groupId>
 			<artifactId>skins</artifactId>
-		     <version>3.1.0-SNAPSHOT</version>
+		     <version>3.1.1-SNAPSHOT</version>
 	    </dependency>
 	    <dependency>
       		<groupId>org.richfaces.ui</groupId>
       		<artifactId>richfaces-ui</artifactId>
-      		<version>3.1.0-SNAPSHOT</version>
+      		<version>3.1.1-SNAPSHOT</version>
     	</dependency>
     </dependencies>
 	

Added: trunk/sandbox/ui/dialog-window/pom.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/pom.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,49 @@
+<?xml version="1.0"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>ui</artifactId>
+    <groupId>org.richfaces.sandbox</groupId>
+    <version>3.1.1-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.richfaces.sandbox.ui</groupId>
+  <artifactId>dialog-window</artifactId>
+  <name>state</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.richfaces.cdk</groupId>
+        <artifactId>maven-cdk-plugin</artifactId>
+        <version>3.1.1-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <library>
+            <prefix>org.richfaces.ui</prefix>
+            <taglib>
+              <shortName>dialog</shortName>
+            </taglib>
+          </library>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.richfaces.framework</groupId>
+      <artifactId>richfaces-impl</artifactId>
+      <version>3.1.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.richfaces.ui</groupId>
+      <artifactId>core</artifactId>
+      <version>3.1.1-SNAPSHOT</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/pom.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogButton</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Button</description>
+    <superclass>org.richfaces.component.UIDialogButton</superclass>
+    <classname>org.richfaces.component.html.DialogButton</classname>
+    <renderer generate="true">
+        <name>org.richfaces.DialogButton</name>
+        <template>dialog-button.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogButton</name>
+        <classname>org.richfaces.taglib.DialogButtonTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+    <property>
+    	<name>value</name>
+    	<classname>java.lang.Object</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property required="false">
+    	<name>mode</name>
+    	<classname>java.lang.String</classname>
+       	<description>Sets mode of requests to 'ajax' or 'server'.</description>
+       	<defaultvalue>"ajax"</defaultvalue>
+    </property>
+
+    &ui_command_attributes;
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-button.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogCloseButton</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Close</description>
+    <superclass>org.richfaces.component.UIDialogCloseButton</superclass>
+    <classname>org.richfaces.component.html.DialogCloseButton</classname>
+    <renderer generate="true">
+        <name>org.richfaces.DialogCloseButton</name>
+        <template>dialog-close-button.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogCloseButton</name>
+        <classname>org.richfaces.taglib.DialogCloseButtonTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+    <property>
+    	<name>value</name>
+    	<classname>java.lang.Object</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property required="false">
+    	<name>mode</name>
+    	<classname>java.lang.String</classname>
+       	<description>Sets mode of requests to 'ajax' or 'server'.</description>
+       	<defaultvalue>"ajax"</defaultvalue>
+    </property>
+
+    &ui_command_attributes;
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close-button.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogClose</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Close</description>
+    <superclass>org.richfaces.component.UIDialogClose</superclass>
+    <classname>org.richfaces.component.html.DialogClose</classname>
+    <renderer>
+        <name>org.richfaces.DialogClose</name>
+        <template>dialog-close.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogClose</name>
+        <classname>org.richfaces.taglib.DialogCloseTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+    <property>
+    	<name>value</name>
+    	<classname>java.lang.Object</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property required="false">
+    	<name>mode</name>
+    	<classname>java.lang.String</classname>
+       	<description>Sets mode of requests to 'ajax' or 'server'.</description>
+       	<defaultvalue>"ajax"</defaultvalue>
+    </property>
+
+    &ui_command_attributes;
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-close.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogLink</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Link</description>
+    <superclass>org.richfaces.component.UIDialogLink</superclass>
+    <classname>org.richfaces.component.html.DialogLink</classname>
+    <renderer generate="true">
+        <name>org.richfaces.DialogLink</name>
+        <template>dialog-link.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogLink</name>
+        <classname>org.richfaces.taglib.DialogLinkTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+    <property>
+    	<name>value</name>
+    	<classname>java.lang.Object</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property required="false">
+    	<name>mode</name>
+    	<classname>java.lang.String</classname>
+       	<description>Sets mode of requests to 'ajax' or 'server'.</description>
+       	<defaultvalue>"ajax"</defaultvalue>
+    </property>
+
+    &ui_command_attributes;
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-link.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogVerticalFiller</name>
+    <family>javax.faces.filler</family>
+    <description>Dialog Vertical Filler</description>
+    <superclass>org.richfaces.component.UIDialogVerticalFiller</superclass>
+    <classname>org.richfaces.component.html.DialogVerticalFiller</classname>
+    
+    <renderer generate="true">
+        <name>org.richfaces.DialogVerticalFiller</name>
+        <template>dialog-vertical-filler.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogVerticalFiller</name>
+        <classname>org.richfaces.taglib.DialogVerticalFillerTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-vertical-filler.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogWindowButton</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Window</description>
+    <superclass>org.richfaces.component.UIDialogWindowButton</superclass>
+    <classname>org.richfaces.component.html.DialogWindowButton</classname>
+    
+    <renderer generate="true">
+        <name>org.richfaces.DialogWindowButton</name>
+        <template>dialog-window-button.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogWindowButton</name>
+        <classname>org.richfaces.taglib.DialogWindowButtonTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+
+    <property>
+    	<name>value</name>
+    	<classname>java.lang.Object</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+  	<property exist="true">
+  		<name>closeWindowAction</name>
+  		<classname>javax.faces.el.MethodBinding</classname>
+  		<description>Close window action</description>
+        <methodargs> </methodargs>
+  	</property>
+
+  	<property exist="true">
+  		<name>closeWindowActionListener</name>
+  		<classname>javax.faces.el.MethodBinding</classname>
+  		<description>Close window action listener</description>
+        <methodargs>javax.faces.event.ActionEvent.class</methodargs>
+  	</property>
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property>
+    	<name>width</name>
+    	<classname>java.lang.String</classname>
+       	<description>Width of created dialog window.</description>
+    </property>
+
+    <property>
+    	<name>height</name>
+    	<classname>java.lang.String</classname>
+       	<description>Height of created dialog window.</description>
+    </property>
+
+    <property>
+    	<name>posx</name>
+    	<classname>java.lang.String</classname>
+       	<description>Horizontal position of created dialog window. Can be absolute integer, 
+       	or relative (integer plus '%') or one of "left", "center", "right". Defaults to "center"</description>
+    </property>
+
+    <property>
+    	<name>posy</name>
+    	<classname>java.lang.String</classname>
+       	<description>Vertical position of created dialog window. Can be absolute integer, 
+       	or relative (integer plus '%') or one of "bottom", "middle", "top",. Defaults to "middle"</description>
+    </property>
+
+    <property>
+    	<name>align</name>
+    	<classname>java.lang.String</classname>
+       	<description>Horizontal alignment of created dialog window. One of "left", "center", "right", defaults to "center"</description>
+    </property>
+
+    <property>
+    	<name>valign</name>
+    	<classname>java.lang.String</classname>
+       	<description>Vertical alignment of created dialog window. One of "bottom", "middle", "top", defaults to "middle"</description>
+    </property>
+
+    <property>
+    	<name>resizable</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to change dialog window size
+       	by dragging from within +/- 2px zone of any border. 
+       	The value is a Boolean (true/false). Default value is 'true'.</description>
+       	<defaultvalue>true</defaultvalue>
+    </property>
+
+    <property>
+    	<name>float</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to change dialog window position
+       	by dragging from within 16px zone of the top border. 
+       	The value is a Boolean (true/false). Default value is 'true'.</description>
+       	<defaultvalue>true</defaultvalue>
+    </property>
+
+    <property>
+    	<name>headerHeight</name>
+    	<classname>java.lang.String</classname>
+       	<description>The height of zone near the top border of dialog window, 
+       	by dragging from which customer can change dialog window position if float=true. 
+       	When float=false, this attribute is ignored.
+       	The value is a number of pixels. Default value is 16px.</description>
+       	<defaultvalue>"16px"</defaultvalue>
+    </property>
+
+    <property>
+    	<name>maxWidth</name>
+    	<classname>java.lang.String</classname>
+       	<description>Maximum width of dialog window. 
+       	Can be absolute number in pixels or relative in % of browser width.
+       	Used at initial calculation of width if 'width' attribute is not set,
+       	and at resizing. Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>maxHeight</name>
+    	<classname>java.lang.String</classname>
+       	<description>Maximum height of dialog window. 
+       	Can be absolute number in pixels or relative in % of browser height.
+       	Used at initial calculation of height if 'height' attribute is not set,
+       	and at resizing. Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>posFunction</name>
+    	<classname>java.lang.String</classname>
+		<description>Java script function name to be used for 
+    	calculating position of dialog window. The function should 
+		accept parameters (windowId, referenceId, options).
+			windowId - id of element in html document representing the 
+		dialog window, coordinates of which are to be set;
+			referenceId - id of element in html document, relative to 
+		which dialog window is to be positioned;
+			options - positioning parameters posx and posy that may be 
+		either used or ignored by the function.
+		If posFunction is not set, posx and posy are treated as 
+		coordinates in browser window.
+       	Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>posReferenceId</name>
+    	<classname>java.lang.String</classname>
+		<description>Id of a component used for 
+    	calculating position of dialog window. Is taken into account
+    	only when posFunction is set.
+       	By default posReferenceId equals to id of this component.</description>
+    </property>
+
+    <property required="false">
+    	<name>mode</name>
+    	<classname>java.lang.String</classname>
+       	<description>Sets mode of requests to 'ajax' or 'server'.</description>
+       	<defaultvalue>"ajax"</defaultvalue>
+    </property>
+
+    <property>
+    	<name>hideParentDialog</name>
+    	<classname>boolean</classname>
+       	<description>If set to true and the control is placed 
+       	in another (parent) dialog, then the parent dialog will be
+       	hidden before new one is opened. If subdialog is closed 
+       	with "close:" prefix (or no prefix), the parent dialog will be
+       	set visible again. If subdialog is closed with "closeall:" prefix,
+       	then as usual control will be returned to the main page, 
+       	without activating the parent dialog.
+       	The value is a Boolean (true/false). Default value is 'false'.</description>
+       	<defaultvalue>false</defaultvalue>
+    </property>
+
+    &ui_command_attributes;
+
+<!--  
+	AJAX component attributes
+	
+	ajaxSingle
+	bypassUpdates
+	limitToList
+	reRender
+	status
+	eventsQueue
+	requestDelay
+	oncomplete   
+-->
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-button.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogWindowOutputLink</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Window Output Link</description>
+    <superclass>org.richfaces.component.UIDialogWindowOutputLink</superclass>
+    <classname>org.richfaces.component.html.DialogWindowOutputLink</classname>
+    
+    <renderer generate="true">
+        <name>org.richfaces.DialogWindowOutputLink</name>
+        <template>dialog-window-output-link.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogWindowOutputLink</name>
+        <classname>org.richfaces.taglib.DialogWindowOutputLinkTag</classname>
+        <superclass>org.ajax4jsf.webapp.taglib.UIComponentTagBase</superclass>
+    </tag>
+    <taghandler>
+        <classname>org.ajax4jsf.webapp.taglib.AjaxComponentHandler</classname>
+    </taghandler>
+
+    <property>
+    	<name>value</name>
+    	<classname>java.lang.Object</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+  	<property exist="true">
+  		<name>closeWindowAction</name>
+  		<classname>javax.faces.el.MethodBinding</classname>
+  		<description>Close window action</description>
+        <methodargs> </methodargs>
+  	</property>
+
+  	<property exist="true">
+  		<name>closeWindowActionListener</name>
+  		<classname>javax.faces.el.MethodBinding</classname>
+  		<description>Close window action listener</description>
+        <methodargs>javax.faces.event.ActionEvent.class</methodargs>
+  	</property>
+
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property>
+    	<name>width</name>
+    	<classname>java.lang.String</classname>
+       	<description>Width of created dialog window.</description>
+    </property>
+
+    <property>
+    	<name>height</name>
+    	<classname>java.lang.String</classname>
+       	<description>Height of created dialog window.</description>
+    </property>
+
+    <property>
+    	<name>posx</name>
+    	<classname>java.lang.String</classname>
+       	<description>Horizontal position of created dialog window. Can be absolute integer, 
+       	or relative (integer plus '%') or one of "left", "center", "right". Defaults to "center"</description>
+    </property>
+
+    <property>
+    	<name>posy</name>
+    	<classname>java.lang.String</classname>
+       	<description>Vertical position of created dialog window. Can be absolute integer, 
+       	or relative (integer plus '%') or one of "bottom", "middle", "top",. Defaults to "middle"</description>
+    </property>
+
+    <property>
+    	<name>resizable</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to change dialog window size
+       	by dragging from within +/- 2px zone of any border. 
+       	The value is a Boolean (true/false). Default value is 'true'.</description>
+       	<defaultvalue>true</defaultvalue>
+    </property>
+
+    <property>
+    	<name>float</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to change dialog window position
+       	by dragging from within 16px zone of the top border. 
+       	The value is a Boolean (true/false). Default value is 'true'.</description>
+       	<defaultvalue>true</defaultvalue>
+    </property>
+
+    <property>
+    	<name>headerHeight</name>
+    	<classname>java.lang.String</classname>
+       	<description>The height of zone near the top border of dialog window, 
+       	by dragging from which customer can change dialog window position if float=true. 
+       	When float=false, this attribute is ignored.
+       	The value is a number of pixels. Default value is 16px.</description>
+       	<defaultvalue>"16px"</defaultvalue>
+    </property>
+
+    <property>
+    	<name>maxWidth</name>
+    	<classname>java.lang.String</classname>
+       	<description>Maximum width of dialog window. 
+       	Can be absolute number in pixels or relative in % of browser width.
+       	Used at initial calculation of width if 'width' attribute is not set,
+       	and at resizing. Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>maxHeight</name>
+    	<classname>java.lang.String</classname>
+       	<description>Maximum height of dialog window. 
+       	Can be absolute number in pixels or relative in % of browser height.
+       	Used at initial calculation of height if 'height' attribute is not set,
+       	and at resizing. Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>posFunction</name>
+    	<classname>java.lang.String</classname>
+		<description>Java script function name to be used for 
+    	calculating position of dialog window. The function should 
+		accept parameters (windowId, referenceId, options).
+			windowId - id of element in html document representing the 
+		dialog window, coordinates of which are to be set;
+			referenceId - id of element in html document, relative to 
+		which dialog window is to be positioned;
+			options - positioning parameters posx and posy that may be 
+		either used or ignored by the function.
+		If posFunction is not set, posx and posy are treated as 
+		coordinates in browser window.
+       	Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>posReferenceId</name>
+    	<classname>java.lang.String</classname>
+		<description>Id of a component used for 
+    	calculating position of dialog window. Is taken into account
+    	only when posFunction is set.
+       	By default posReferenceId equals to id of this component.</description>
+    </property>
+
+    <property>
+    	<name>hideParentDialog</name>
+    	<classname>boolean</classname>
+       	<description>If set to true and the control is placed 
+       	in another (parent) dialog, then the parent dialog will be
+       	hidden before new one is opened. If subdialog is closed 
+       	with "close:" prefix (or no prefix), the parent dialog will be
+       	set visible again. If subdialog is closed with "closeall:" prefix,
+       	then as usual control will be returned to the main page, 
+       	without activating the parent dialog.
+       	The value is a Boolean (true/false). Default value is 'false'.</description>
+       	<defaultvalue>false</defaultvalue>
+    </property>
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window-output-link.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,305 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE components 
+        PUBLIC "-//AJAX4JSF//CDK Generator config/EN"
+        "https://ajax4jsf.dev.java.net/nonav/dtds/component-config.dtd" [
+<!ENTITY universal_html_attributes   SYSTEM "html_universal_attributes.xml">	
+]>
+<components>
+  <component>
+    <name>org.richfaces.DialogWindow</name>
+    <family>javax.faces.command</family>
+    <description>Dialog Window</description>
+    <superclass>org.richfaces.component.UIDialogWindow</superclass>
+    <classname>org.richfaces.component.html.DialogWindow</classname>
+    
+    <renderer generate="true">
+        <name>org.richfaces.DialogWindow</name>
+        <template>dialog-window.xhtml</template>
+    </renderer>
+    <tag>
+        <name>dialogWindow</name>
+        <classname>org.richfaces.taglib.DialogWindowTag</classname>
+    	<superclass>org.richfaces.taglib.DialogWindowTagBase</superclass>
+    </tag>
+    <taghandler>
+    	<classname>org.richfaces.taglib.DialogWindowComponentHandler</classname>
+    </taghandler>
+
+
+  	<property exist="true">
+  		<name>closeWindowAction</name>
+  		<classname>javax.faces.el.MethodBinding</classname>
+  		<description>Close window action</description>
+        <methodargs> </methodargs>
+  	</property>
+
+  	<property exist="true">
+  		<name>closeWindowActionListener</name>
+  		<classname>javax.faces.el.MethodBinding</classname>
+  		<description>Close window action listener</description>
+        <methodargs>javax.faces.event.ActionEvent.class</methodargs>
+  	</property>
+
+  	<property>
+    	<name>value</name>
+    	<classname>java.lang.String</classname>
+    	<description>Initial value to set when rendered for the first time.</description>
+   	</property>
+
+    <property>
+    	<name>dir</name>
+    	<classname>java.lang.String</classname>
+    	<description>Direction indication for text that does not inherit directionality. Valid values are "LTR" (left-to-right) and "RTL" (right-to-left).</description>
+    </property>
+    <property>
+    	<name>lang</name>
+    	<classname>java.lang.String</classname>
+    	<description>Code describing the language used in the generated markup for this component.</description>
+    </property>
+    <property>
+    	<name>title</name>
+    	<classname>java.lang.String</classname>
+    	<description>Advisory title information about markup elements generated for this component.</description>
+    </property>
+    <property>
+    	<name>style</name>
+    	<classname>java.lang.String</classname>
+    	<description>CSS style(s) to be applied when this component is rendered.</description>
+    </property>
+    <property>
+    	<name>styleClass</name>
+    	<classname>java.lang.String</classname>
+    	<description>Space-separated list of CSS style class(es) to be applied when this element is rendered. This value must be passed through as the "class" attribute on generated markup.</description>
+    </property>
+
+    <property>
+	    <name>onblur</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element loses focus.</description>
+	</property>
+    <property>
+	    <name>ondblclick</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is double clicked over this element.</description>
+	</property>
+    <property>
+	    <name>onfocus</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when this element receives focus.</description>
+	</property>
+    <property>
+    	<name>onmousedown</name>
+    	<classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is pressed down over this element.</description>
+    </property>
+    <property>
+	    <name>onmouseup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is released over this element.</description>
+	</property>
+    <property>
+	    <name>onmouseover</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved onto this element.</description>
+	</property>
+    <property>
+	    <name>onmousemove</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved within this element.</description>
+	</property>
+    <property>
+	    <name>onmouseout</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a pointer button is moved away from this element.</description>
+	</property>
+    <property>
+	    <name>onkeypress</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed and released over this element.</description>
+	</property>
+    <property>
+	    <name>onkeydown</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is pressed down over this element.</description>
+	</property>
+    <property>
+	    <name>onkeyup</name>
+	    <classname>java.lang.String</classname>
+       	<description>Javascript code executed when a key is released over this element.</description>
+	</property>
+
+    <property>
+    	<name>accesskey</name>
+    	<classname>java.lang.String</classname>
+       	<description>Access key that, when pressed, transfers focus to this element.</description>
+    </property>
+    <property>
+    	<name>tabindex</name>
+    	<classname>java.lang.String</classname>
+       	<description>Position of this element in the tabbing order for the current document. This value must be an integer between 0 and 32767.</description>
+    </property>
+
+    <property>
+    	<name>width</name>
+    	<classname>java.lang.String</classname>
+       	<description>Width of created dialog window.
+       	Can be absolute number in pixels or relative in % of browser width.
+       	</description>
+    </property>
+
+    <property>
+    	<name>height</name>
+    	<classname>java.lang.String</classname>
+       	<description>Height of created dialog window.
+       	Can be absolute number in pixels or relative in % of browser width.
+       	</description>
+    </property>
+
+    <property>
+    	<name>posx</name>
+    	<classname>java.lang.String</classname>
+       	<description>Horizontal position of created dialog window. Can be absolute integer, 
+       	or relative (integer plus '%') or one of "left", "center", "right". Defaults to "center"</description>
+    </property>
+
+    <property>
+    	<name>posy</name>
+    	<classname>java.lang.String</classname>
+       	<description>Vertical position of created dialog window. Can be absolute integer, 
+       	or relative (integer plus '%') or one of "bottom", "middle", "top",. Defaults to "middle"</description>
+    </property>
+
+    <property>
+    	<name>align</name>
+    	<classname>java.lang.String</classname>
+       	<description>Horizontal alignment of created dialog window. One of "left", "center", "right", defaults to "center"</description>
+    </property>
+
+    <property>
+    	<name>valign</name>
+    	<classname>java.lang.String</classname>
+       	<description>Vertical alignment of created dialog window. One of "bottom", "middle", "top", defaults to "middle"</description>
+    </property>
+
+    <property>
+    	<name>resizable</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to change dialog window size
+       	by dragging from within +/- 2px zone of any border. 
+       	The value is a Boolean (true/false). Default value is 'true'.</description>
+       	<defaultvalue>true</defaultvalue>
+    </property>
+
+    <property>
+    	<name>float</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to change dialog window position
+       	by dragging from within 16px zone of the top border. 
+       	The value is a Boolean (true/false). Default value is 'true'.</description>
+       	<defaultvalue>true</defaultvalue>
+    </property>
+
+    <property>
+    	<name>headerHeight</name>
+    	<classname>java.lang.String</classname>
+       	<description>The height of zone near the top border of dialog window, 
+       	by dragging from which customer can change dialog window position if float=true. 
+       	When float=false, this attribute is ignored.
+       	The value is a number of pixels. Default value is 16px.</description>
+       	<defaultvalue>"16px"</defaultvalue>
+    </property>
+
+    <property>
+    	<name>allowTransparency</name>
+    	<classname>boolean</classname>
+       	<description>Possibility for a customer to provide transparent 
+       	background of content so that for instance visible dialog could have 
+       	rounded corners.
+       	The value is a Boolean (true/false). Default value is 'false'.</description>
+       	<defaultvalue>false</defaultvalue>
+    </property>
+
+    <property>
+    	<name>maxWidth</name>
+    	<classname>java.lang.String</classname>
+       	<description>Maximum width of dialog window. 
+       	Can be absolute number in pixels or relative in % of browser width.
+       	Used at initial calculation of width if 'width' attribute is not set,
+       	and at resizing. Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>maxHeight</name>
+    	<classname>java.lang.String</classname>
+       	<description>Maximum height of dialog window. 
+       	Can be absolute number in pixels or relative in % of browser height.
+       	Used at initial calculation of height if 'height' attribute is not set,
+       	and at resizing. Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>posFunction</name>
+    	<classname>java.lang.String</classname>
+		<description>Java script function name to be used for 
+    	calculating position of dialog window. The function should 
+		accept parameters (windowId, referenceId, options).
+			windowId - id of element in html document representing the 
+		dialog window, coordinates of which are to be set;
+			referenceId - id of element in html document, relative to 
+		which dialog window is to be positioned;
+			options - positioning parameters posx and posy that may be 
+		either used or ignored by the function.
+		If posFunction is not set, posx and posy are treated as 
+		coordinates in browser window.
+       	Default value is undefined.</description>
+    </property>
+
+    <property>
+    	<name>posReferenceId</name>
+    	<classname>java.lang.String</classname>
+		<description>Id of a component used for 
+    	calculating position of dialog window. Is taken into account
+    	only when posFunction is set.
+       	By default posReferenceId equals to id of this component.</description>
+    </property>
+
+    <property required="false">
+    	<name>mode</name>
+    	<classname>java.lang.String</classname>
+       	<description>Sets mode of requests to 'ajax' or 'server'.</description>
+       	<defaultvalue>"ajax"</defaultvalue>
+    </property>
+
+    <property>
+    	<name>hideParentDialog</name>
+    	<classname>boolean</classname>
+       	<description>If set to true and the control is placed 
+       	in another (parent) dialog, then the parent dialog will be
+       	hidden before new one is opened. If subdialog is closed 
+       	with "close:" prefix (or no prefix), the parent dialog will be
+       	set visible again. If subdialog is closed with "closeall:" prefix,
+       	then as usual control will be returned to the main page, 
+       	without activating the parent dialog.
+       	The value is a Boolean (true/false). Default value is 'false'.</description>
+       	<defaultvalue>false</defaultvalue>
+    </property>
+
+    &ui_command_attributes;
+
+<!--  
+	AJAX component attributes
+	
+	ajaxSingle
+	bypassUpdates
+	limitToList
+	reRender
+	status
+	eventsQueue
+	requestDelay
+	oncomplete   
+-->
+
+	&ajax_component_attributes;
+
+  </component>
+</components>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/config/component/dialog-window.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,15 @@
+package org.richfaces.component;
+
+public interface ActionPrefixHolder {
+	public static String PREFIX_NORMAL = "normal:";
+	public static String PREFIX_DIALOG = "dialog:";
+	public static String PREFIX_CLOSE = "close:";
+	public static String PREFIX_NOCLOSE = "noclose:";
+	public static String PREFIX_CLOSEALL = "closeall:";
+	
+	public void setPrefix(String s);
+	public String getPrefix();
+	public void setNullPath();
+	public boolean isNullPath();
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/ActionPrefixHolder.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,50 @@
+package org.richfaces.component;
+
+import java.io.Serializable;
+
+/**
+ * 
+ * @author glory
+ *
+ */
+
+public class DialogActionState implements Serializable {
+	private static final long serialVersionUID = 1L;
+	
+	public static final String SERVER_MODE = "server";
+	public static final String AJAX_MODE = "ajax";
+
+    private boolean immediate = false;
+    private boolean immediateSet = false;
+    private String mode = AJAX_MODE;
+    
+    public DialogActionState() {}
+
+    public boolean isImmediate() {
+    	return immediate;
+    }
+
+    public boolean isImmediateSet() {
+    	return immediateSet;
+    }
+
+    public void setImmediate(boolean immediate) {
+    	if (immediate != this.immediate) {
+    		this.immediate = immediate;
+    	}
+    	this.immediateSet = true;
+    }
+
+	public String getMode() {
+		return mode;
+	}
+	
+	public void setMode(String mode) {
+		this.mode = mode;
+	}
+	
+	public boolean isServerMode() {
+		return SERVER_MODE.equals(mode);
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogActionState.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,29 @@
+package org.richfaces.component;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesListener;
+
+/**
+ * 
+ * @author glory
+ *
+ */
+
+public class DialogCloseEvent extends DialogEvent {
+	private static final long serialVersionUID = 1L;
+	
+	public DialogCloseEvent(UIComponent component) {
+		super(component);
+	}
+
+//	@Override
+	public boolean isAppropriateListener(FacesListener listener) {
+		return (listener instanceof DialogCloseListener);
+	}
+
+//	@Override
+	public void processListener(FacesListener listener) {
+		((DialogCloseListener)listener).processDialogClose(this);
+	}
+	
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseEvent.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,13 @@
+package org.richfaces.component;
+
+import javax.faces.event.FacesListener;
+
+/**
+ * 
+ * @author glory
+ *
+ */
+
+public interface DialogCloseListener extends FacesListener {
+	public void processDialogClose(DialogCloseEvent event);
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,94 @@
+package org.richfaces.component;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+
+public class DialogCloseListenerImpl implements DialogCloseListener {
+	public void processDialogClose(DialogCloseEvent event) {
+		UIComponent c = event.getComponent();
+		if(!(c instanceof UIDialogClose)) return;
+		UIDialogClose component = (UIDialogClose)c;
+		/*
+		 * If dialog is not going to be closed, nothing 
+		 * to be done, new view has already been set by
+		 * navigation handler.
+		 */
+		if(ActionPrefixHolder.PREFIX_NOCLOSE.equals(component.prefix)) return;
+
+		FacesContext context = FacesContext.getCurrentInstance();
+
+		/*
+		 * Save id of view that would be shown in the dialog
+		 * window if it had not to be closed. Renderer will pass
+		 * it to js function closeDialog() 
+		 */
+		UIViewRoot viewroot = context.getViewRoot();
+		String viewId = viewroot.getViewId();
+		if(component.isNullPath()) {
+			viewId = "null";
+		}
+		String closeId = component.getClientId(context) + "_close";
+        context.getExternalContext().getRequestMap().put(closeId, viewId);
+        if(ActionPrefixHolder.PREFIX_CLOSEALL.equals(component.prefix)) {
+        	String closeAll = component.getClientId(context) + "_closeall";
+            context.getExternalContext().getRequestMap().put(closeAll, viewId);
+        }
+
+        /*
+         * We need to prevent new view rendering in dialog
+         * window. So view set by navigation handler is 
+         * to be replaced with old view. 
+         */
+        UIViewRoot oldRoot = event.getSourceViewRoot();
+		String oldViewId = event.getSourceViewId();
+		ViewHandler vh = UIDialogAction.getViewHandler(context);
+//		UIViewRoot newRoot = vh.createView(context, oldViewId);
+//		context.setViewRoot(newRoot);		
+		UIViewRoot newRoot = null;
+		try { 
+			if(oldViewId.equals(oldRoot.getViewId()) && !UIDialogAction.isServerMode(component)) {
+				newRoot = oldRoot;
+			}
+		} catch (Exception e) {
+			//ignore
+		}
+		if(newRoot == null) {
+			newRoot = vh.createView(context, oldViewId);
+		} else {
+			try {
+				Object st = oldRoot.saveState(context);
+				newRoot.restoreState(context, st);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			context.getExternalContext().getRequestMap().put(AjaxContext.AJAX_CONTEXT_KEY, event.getAjaxContext());
+		}
+
+		context.setViewRoot(newRoot);
+		
+		Object nc = null;
+		try {		
+			nc = newRoot.findComponent(component.getClientId(context));
+		} catch (Exception e) {
+			//ignore
+		}
+		if(nc instanceof UIComponent) {
+			UIComponent newComponent = (UIComponent)nc;
+			try {
+				AjaxEvent e = new AjaxEvent(newRoot);
+				newRoot.queueEvent(e);
+				e = new AjaxEvent(newComponent);
+				newComponent.queueEvent(e);
+			} catch (Exception exc) {
+				System.out.println("Cannot queue event: " + newComponent.getClass().getName());
+			}
+		}
+
+	}
+	
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogCloseListenerImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,161 @@
+package org.richfaces.component;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+public class DialogContext implements Map, Serializable {
+	private static final long serialVersionUID = 1L;
+	
+	private String dialogId;
+	private Map map = new HashMap();
+	private Map parameters = new HashMap();
+	private String dialogPath = null;
+	private boolean locked = true;
+	
+	DialogContext parent = null;
+	DialogContext child = null;
+	
+	public void setDialogId(String s) {
+		this.dialogId = s;
+	}
+	
+	public String getDialogId() {
+		return dialogId;
+	}
+
+	public void clear() {
+		map.clear();
+	}
+
+	public boolean containsKey(Object key) {
+		return map.containsKey(key);
+	}
+
+	public boolean containsValue(Object value) {
+		return map.containsValue(value);
+	}
+
+	public Set entrySet() {
+		return map.entrySet();
+	}
+
+	public Object get(Object key) {
+		return findMapForParameter(key).get(key);
+	}
+
+	public boolean isEmpty() {
+		return map.isEmpty();
+	}
+
+	public Set keySet() {
+		return map.keySet();
+	}
+
+	public Object put(Object key, Object value) {
+		if(locked) return findMapForParameter(key).get(key);
+		if(value == null) return findMapForParameter(key).remove(key);
+		return findMapForParameter(key).put(key, value);
+	}
+
+	public void putAll(Map t) {
+		if(locked) return;
+		map.putAll(t);
+	}
+
+	public Object remove(Object key) {
+		return map.remove(key);
+	}
+
+	public int size() {
+		return map.size();
+	}
+
+	public Collection values() {
+		return map.values();
+	}
+	
+	public String getDialogPath() {
+		return dialogPath;
+	}
+	
+	public void setDialogPath(String dialogPath) {
+		this.dialogPath = dialogPath;
+	}
+	
+	public boolean isLocked() {
+		return locked;
+	}
+	
+	public void setLocked(boolean b) {
+		locked = b;
+	}
+	
+	public void setParentContext(DialogContext parent) {
+		this.parent = parent;
+	}
+	
+	public DialogContext getParentContext() {
+		return parent;
+	}
+	
+	public void addChildContext(DialogContext child) {
+		this.child = child;
+		child.parent = this;
+		// hack! common map for all dialogs
+		child.map = map;
+	}
+	
+	public void removeChildContext(DialogContext child) {
+		if(this.child == child) {
+			this.child = null;
+			child.parent = null;
+		}
+	}
+	
+	public DialogContext getChildContext(int index) {
+		return child;
+	}
+	
+	public int getChildContextCount() {
+		return child == null ? 0 : 1;
+	}
+	
+	public void removeFromParent() {
+		if(parent != null) parent.removeChildContext(this);
+	}
+	
+	public void deactivate() {
+		setLocked(true);
+        setDialogPath(null);
+        if(child != null) {
+        	child.deactivate();
+        }
+        removeFromParent();
+	}
+	
+	public void setParameter(String key, Object value) {
+		if(value == null) {
+			parameters.remove(key);
+		} else {
+			if(!(value instanceof Serializable)) {
+				value = value.toString();
+			}
+			parameters.put(key, value);
+		}
+	}
+	
+	public Object getParameter(String key) {
+		return parameters.get(key);
+	}
+	
+	private Map findMapForParameter(Object key) {
+		if(key == null) return map;
+		if(parameters.containsKey(key)) return parameters;
+		if(parent == null) return map;
+		return parent.findMapForParameter(key); 
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContext.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,56 @@
+package org.richfaces.component;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.faces.context.FacesContext;
+
+public class DialogContextManager implements Serializable {
+	private static final long serialVersionUID = 1L;
+	public static final String DIALOG_CONTEXT_MANAGER = "DIALOG_CONTEXT_MANAGER";
+	public static final String ACTIVE_CONTEXT_NAME = "dialog";
+	
+	public static DialogContextManager getInstance(FacesContext context) {
+		DialogContextManager instance = (DialogContextManager)context.getExternalContext().getSessionMap().get(DIALOG_CONTEXT_MANAGER);
+		if(instance == null) {
+			instance = new DialogContextManager();
+			context.getExternalContext().getSessionMap().put(DIALOG_CONTEXT_MANAGER, instance);
+		}			
+		return instance;
+	}
+	
+//	Map<String, DialogContext> contexts = new HashMap<String, DialogContext>();
+	Map contexts = new HashMap();
+	DialogContext active = null;
+	
+	public DialogContext getContext(String dialogId) {
+		DialogContext context = (DialogContext)contexts.get(dialogId);
+		if(context == null) {
+			context = new DialogContext();
+			context.setDialogId(dialogId);
+			contexts.put(dialogId, context);
+		}
+		return context;
+	}
+	
+	public void removeContext(String dialogId) {
+		contexts.remove(dialogId);		
+	}
+	
+	public void setActiveRequest(String dialogId) {
+		if(dialogId == null) {
+			active = null;
+			return;
+		}
+		DialogContext context = getContext(dialogId);
+		active = context;
+		FacesContext.getCurrentInstance().getExternalContext().getRequestMap().put(ACTIVE_CONTEXT_NAME, context);
+		FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(ACTIVE_CONTEXT_NAME, context);
+	}
+	
+	public DialogContext getActiveContext() {
+		return active;
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogContextManager.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,50 @@
+package org.richfaces.component;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.PhaseId;
+
+import org.ajax4jsf.component.AjaxComponent;
+import org.ajax4jsf.context.AjaxContext;
+
+public abstract class DialogEvent extends FacesEvent {
+	UIViewRoot root;
+	/**
+	 * View id of page that sends this event. 
+	 * It is to be keeped to override view that will 
+	 * be set by navigation handler, because that other 
+	 * view is needed for the parent window.
+	 */
+	String sourceViewId;
+	AjaxContext ajaxContext;
+
+	public DialogEvent(UIComponent component) {
+		super(component);
+		setPhaseId(PhaseId.INVOKE_APPLICATION);
+		if(component instanceof ActionSource && ((ActionSource)component).isImmediate()) {
+			setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+		} else if(component instanceof AjaxComponent && ((AjaxComponent)component).isBypassUpdates()) {
+			setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
+		}
+		FacesContext context = FacesContext.getCurrentInstance();
+		root = context.getViewRoot();
+		sourceViewId = context.getViewRoot().getViewId();
+		ajaxContext = AjaxContext.getCurrentInstance(context);
+	}
+
+	public String getSourceViewId() {
+		return sourceViewId;
+	}
+	
+	public UIViewRoot getSourceViewRoot() {
+		return root;
+	}
+	
+	public AjaxContext getAjaxContext() {
+		return ajaxContext;
+	}
+	
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogEvent.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,37 @@
+package org.richfaces.component;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesListener;
+
+public class DialogOpenEvent extends DialogEvent {
+	private static final long serialVersionUID = 1L;
+	
+	boolean close = false;
+
+	public DialogOpenEvent(UIComponent component) {
+		super(component);
+	}
+
+//	@Override
+	public boolean isAppropriateListener(FacesListener listener) {
+		return (listener instanceof DialogOpenListener);
+	}
+
+//	@Override
+	public void processListener(FacesListener listener) {
+		((DialogOpenListener)listener).processDialogOpen(this);
+	}
+	
+	public void setSourceViewId(String viewId) {
+		sourceViewId = viewId;
+	}
+	
+	public void setClose(boolean b) {
+		close = b;
+	}
+	
+	public boolean isClose() {
+		return close;
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenEvent.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,13 @@
+package org.richfaces.component;
+
+import javax.faces.event.FacesListener;
+
+/**
+ * 
+ * @author glory
+ *
+ */
+
+public interface DialogOpenListener extends FacesListener {
+	public void processDialogOpen(DialogOpenEvent event);
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListener.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,155 @@
+package org.richfaces.component;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+import org.richfaces.renderkit.DialogWindowUtils;
+
+
+/**
+ * 
+ * @author glory
+ *
+ */
+
+public class DialogOpenListenerImpl implements DialogOpenListener {
+	DialogOpenEvent lastProcessedEvent = null;
+	/**
+	 * This method is invoked during invoke application phase
+	 * after navigation handler calculated and set new view id 
+	 * (as result of processing an ActionEvent).
+	 * Now it is the best time two interfere into its logic 
+	 * and 'redistribute' views in parent and child windows.
+	 */
+	public void processDialogOpen(DialogOpenEvent event) {
+		if(lastProcessedEvent == event) return;
+		lastProcessedEvent = event; 
+		UIComponent c = event.getComponent();
+		if(!(c instanceof UIDialogWindow)) return;
+		UIDialogWindow component = (UIDialogWindow)c;
+		
+		/*
+		 * If dialog is not needed, nothing else is to be done.
+		 * 
+		 */
+		if(ActionPrefixHolder.PREFIX_NORMAL.equals(component.prefix)) {
+			if(!event.isClose()) {
+				rejectOpen();
+			}
+			return;
+		}
+		if(component.isNullPath()) {
+			if(!event.isClose()) {
+				rejectOpen();
+				return;
+			}
+		}
+
+		FacesContext context = FacesContext.getCurrentInstance();
+		UIViewRoot viewroot = context.getViewRoot();
+		ViewHandler vh = UIDialogAction.getViewHandler(context);
+		UIViewRoot oldRoot = event.getSourceViewRoot();
+
+		if(!event.isClose()) {
+			/*
+			 * Child dialog is about to open.
+			 * The view id caculated by the navigation handler
+			 * is to be saved and passed to child dialog window.
+			 */
+			String viewId = viewroot.getViewId();
+			String targetActionURL = vh.getActionURL(context, viewId);
+			targetActionURL += component.getParameterRequest();
+	        DialogContext dcontext = DialogContextManager.getInstance(context).getContext(component.getClientId(context));
+	        dcontext.setDialogPath(targetActionURL);
+		} else {
+			/*
+			 * Child dialog has just been closed. 
+			 * Nothing to be saved for future use.
+			 */
+		}
+
+        /*
+         * We need to prevent rendering new view in parent
+         * window. Here we have two cases:
+         * 1) Child dialog is about to open. In this case 
+         * we need to restore in (this) parent window old view.         * 
+         * 2) Child dialog has just been closed. In this case 
+         * event keeps view id that should be shown in  
+         * So view set by navigation handler is (this) parent 
+         * window.
+         */
+		String oldViewId = event.getSourceViewId();
+		UIViewRoot newRoot = null;
+		boolean b1 = oldViewId == null || oldViewId.equals("null");
+		boolean b2 = b1 || oldViewId.equals(oldRoot.getViewId());
+		boolean b3 = (
+				(!UIDialogAction.isServerMode(component) &&
+					DialogWindowUtils.findAncestorForm(context, component) != null)
+				|| component.isClose());
+		boolean b = (b1 || (b2 && b3));
+		try { 
+			if(b) {
+				newRoot = oldRoot;
+			}
+		} catch (Exception e) {
+			//ignore
+		}
+		if(newRoot == null) {
+			newRoot = vh.createView(context, oldViewId);
+		} else {
+			if(!b) try {
+//				System.out.println("Restore state");
+				Object st = oldRoot.saveState(context);
+				newRoot.restoreState(context, st);
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			context.getExternalContext().getRequestMap().put(AjaxContext.AJAX_CONTEXT_KEY, event.getAjaxContext());
+		}
+
+		context.setViewRoot(newRoot);
+		
+		Object nc = null;
+		try {		
+			if(b) {
+				nc = component;
+			} else {
+				nc = newRoot.findComponent(component.getClientId(context));
+			}
+		} catch (Exception e) {
+			//ignore
+		}
+		if(nc instanceof UIComponent) {
+			UIComponent newComponent = (UIComponent)nc;
+			AjaxEvent e = new AjaxEvent(newRoot);
+			try {
+//				newRoot.queueEvent(e);
+				e = new AjaxEvent(newComponent);
+				newComponent.queueEvent(e);
+			} catch (Exception exc) {
+				System.out.println("Cannot queue event: " + newComponent.getClass().getName());
+			}
+		}
+
+	}
+	
+	private void rejectOpen() {
+		FacesContext context = FacesContext.getCurrentInstance();
+		DialogContext dcontext = DialogContextManager.getInstance(context).getActiveContext();
+		if(dcontext == null) return;
+		DialogContext parentContext = dcontext.getParentContext();
+		dcontext.deactivate();
+        if(parentContext != null) { 
+			DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+		} else {
+	    	DialogContextManager.getInstance(context).setActiveRequest(null);
+		}
+		
+		
+	}
+	
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogOpenListenerImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,24 @@
+/**
+ * 
+ */
+package org.richfaces.component;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.ActionEvent;
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 08.12.2006
+ * 
+ */
+public class DialogWindowClosedEvent extends ActionEvent {
+
+	public DialogWindowClosedEvent(UIComponent component) {
+		super(component);
+	}
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 3091213737507355826L;
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/DialogWindowClosedEvent.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,192 @@
+package org.richfaces.component;
+
+import javax.faces.FacesException;
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.ValueBinding;
+
+import org.ajax4jsf.ajax.ForceRender;
+import org.ajax4jsf.component.AjaxActionComponent;
+import org.ajax4jsf.event.AjaxListener;
+
+/**
+ * 
+ * @author glory
+ */
+public abstract class UIDialogAction extends AjaxActionComponent {
+	protected DialogActionState state = new DialogActionState();
+	transient private MethodBinding actionListener = null;
+	transient private MethodBinding action = null;
+    private Object value = null;
+    private Object  _reRender = null; /* Default is null*/
+	
+	public UIDialogAction() {}
+
+    public static ViewHandler getViewHandler(FacesContext context) throws FacesException {
+    	return context.getApplication().getViewHandler();
+    }
+
+	public void setReRender(Object  __reRender) {
+		this._reRender = __reRender;
+	}
+	public Object getReRender() {
+		if (null != this._reRender) {
+			return this._reRender;
+		}
+		ValueBinding vb = getValueBinding("reRender");
+		if (null != vb) {
+			return (Object)vb.getValue(getFacesContext());
+		} else {
+			return null;
+		}
+	}
+
+   	/**
+   	 *  MethodBinding pointing at the application action to be invoked,
+   	 *  if this UIComponent is activated by the user, during the Apply
+   	 *  Request Values or Invoke Application phase of the request
+   	 *  processing lifecycle, depending on the value of the immediate
+   	 *  property.
+	 *  Setter for action
+	 *  @param action - new value
+	 */
+	public void setAction(MethodBinding  action) {
+		this.action = action;
+	}
+
+	/**
+	 *  MethodBinding pointing at the application action to be invoked,
+	 *  if this UIComponent is activated by the user, during the Apply
+	 *  Request Values or Invoke Application phase of the request
+	 *  processing lifecycle, depending on the value of the immediate
+	 *  property.
+	 *  Getter for action
+	 *  @return action value from local variable or value bindings
+	 */
+	public MethodBinding getAction() {
+		return this.action;
+    }
+
+    public MethodBinding getActionListener() {
+        return this.actionListener;
+	}
+
+	public void setActionListener(MethodBinding actionListener) {
+		this.actionListener = actionListener;
+	}
+
+    public boolean isImmediate() {
+    	if (state.isImmediateSet()) {
+    		return state.isImmediate();
+    	}
+    	ValueBinding vb = getValueBinding("immediate");
+    	if (vb != null) {
+    		return Boolean.TRUE.equals(vb.getValue(getFacesContext()));
+    	} else {
+    		return state.isImmediate();
+    	}
+    }
+
+    public void setImmediate(boolean immediate) {
+    	state.setImmediate(immediate);
+    }
+
+    public Object getValue() {
+    	if (value != null) {
+    		return value;
+    	}
+    	ValueBinding vb = getValueBinding("value");
+    	if (vb != null) {
+    		return vb.getValue(getFacesContext());
+    	} else {
+    		return null;
+    	}
+    }
+
+    public void setValue(Object value) {
+        this.value = value;
+    }
+
+	public String getMode() {
+		return state.getMode();
+	}
+	
+	public void setMode(String mode) {
+		state.setMode(mode);
+	}
+	
+	public void provideForceRerender() {
+		if(isServerMode(this)) return;
+		if(findParentUIData() == null) return;
+		if(hasForceRender()) return;
+		addAjaxListener(new ForceRender());
+	}
+	
+	UIData findParentUIData() {
+		UIComponent c = this;
+		while(c != null && !(c instanceof UIData)) c = c.getParent();
+		return (UIData)c;
+	}
+	boolean hasForceRender() {
+		AjaxListener[] ls = getAjaxListeners();
+		if(ls == null || ls.length == 0) return false;
+		for (int i = 0; i < ls.length; i++) {
+			if(ls[i] instanceof ForceRender) return true;
+		}
+		return false;
+	}
+
+//	public Object getReRender() {
+//		return null;
+//	}
+
+    public Object saveState(FacesContext context) {
+        Object values[] = new Object[6];
+        values[0] = super.saveState(context);
+        values[1] = saveAttachedState(context, state);
+        values[2] = saveAttachedState(context, action);
+        values[3] = saveAttachedState(context, actionListener);
+        values[4] = value;
+        values[5] = _reRender;
+        return values;
+    }
+
+    public void restoreState(FacesContext context, Object state) {
+        Object values[] = (Object[]) state;
+        super.restoreState(context, values[0]);
+        this.state = (DialogActionState)restoreAttachedState(context, values[1]);
+        this.action = (MethodBinding)restoreAttachedState(context, values[2]);
+        this.actionListener = (MethodBinding)restoreAttachedState(context, values[3]);
+        this.value = values[4];
+        this._reRender = values[5];
+    }
+    
+    public static boolean isServerMode(UIComponent component) {
+    	if(!(component instanceof UIDialogAction)) return false;
+    	UIDialogAction dialogAction = (UIDialogAction)component;
+    	return dialogAction.state.isServerMode();    	
+    }
+
+	public boolean isIgnoreDupResponses() {
+		return true;
+	}
+
+	public void setIgnoreDupResponses(boolean newvalue) {
+		
+	};
+	
+
+	int timeout = 10000;
+
+	public int getTimeout() {
+		return timeout;
+	}
+	
+	public void setTimeout(int timeout) {
+		this.timeout = timeout;
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogAction.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,22 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandButton;
+
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogButton extends UIDialogAction {
+	public static final String COMPONENT_TYPE = UIAjaxCommandButton.COMPONENT_TYPE;
+	public static final String COMPONENT_FAMILY = "javax.faces.Command";
+	
+	public UIDialogButton() {}
+
+	public String getFamily() {
+		return COMPONENT_FAMILY;
+	}
+
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogButton.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,61 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.component;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+
+import org.ajax4jsf.component.UIAjaxCommandLink;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogClose extends UIDialogAction implements ActionPrefixHolder {
+	public static final String COMPONENT_TYPE = UIAjaxCommandLink.COMPONENT_TYPE;
+	public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+    String prefix = null;
+    boolean isNullPath = false;
+    DialogCloseListenerImpl listener = new DialogCloseListenerImpl();
+    
+    public UIDialogClose() {}
+
+	public String getFamily() {
+		return COMPONENT_FAMILY;
+	}
+
+	protected void setupReRender() {
+		FacesContext context = getFacesContext();
+		if(context.getMessages().hasNext()) {
+			super.setupReRender();
+		}
+		AjaxRendererUtils.addRegionByName(context,this,this.getId());
+	}
+	
+	public void setPrefix(String s) {
+		prefix = s;
+	}
+
+	public String getPrefix() {
+		return prefix;
+	}
+	
+	public void setNullPath() {
+		isNullPath = true;
+	}
+
+	public boolean isNullPath() {
+		return isNullPath;
+	}
+
+	public void broadcast(FacesEvent event) throws AbortProcessingException {
+		super.broadcast(event);
+        if (event.isAppropriateListener(listener)) {
+            event.processListener(listener);
+        }
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogClose.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandButton;
+
+
+abstract public class UIDialogCloseButton extends UIDialogClose {
+	public static final String COMPONENT_TYPE = UIAjaxCommandButton.COMPONENT_TYPE;
+
+	public UIDialogCloseButton() {}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogCloseButton.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,21 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandLink;
+
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogLink extends UIDialogAction {
+	public static final String COMPONENT_TYPE = UIAjaxCommandLink.COMPONENT_TYPE;
+	public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+	public UIDialogLink() {}
+
+	public String getFamily() {
+		return COMPONENT_FAMILY;
+	}
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogLink.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,12 @@
+package org.richfaces.component;
+
+import javax.faces.component.UIComponentBase;
+
+public class UIDialogVerticalFiller extends UIComponentBase {
+	public static final String COMPONENT_FAMILY = "javax.faces.Filler";
+
+	public String getFamily() {
+		return COMPONENT_FAMILY;
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogVerticalFiller.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,297 @@
+/*
+ * Created on 03.08.2006
+ */
+package org.richfaces.component;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.component.UIPanel;
+import javax.faces.component.UIParameter;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.ValueBinding;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+
+import org.ajax4jsf.component.AjaxContainer;
+import org.ajax4jsf.component.UIAjaxCommandLink;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.context.ViewIdHolder;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+
+/**
+ * @author igels
+ */
+abstract public class UIDialogWindow extends UIDialogAction implements ActionPrefixHolder, ActionSource, ViewIdHolder { //UIAjaxCommandLink {
+	public static final String COMPONENT_TYPE = UIAjaxCommandLink.COMPONENT_TYPE;
+
+	public static final String COMPONENT_FAMILY = "javax.faces.Command";
+
+	private transient MethodBinding closeWindowAction = null;
+	private transient MethodBinding closeWindowActionListener = null;
+	
+	private transient boolean closeAction;
+	
+    transient String prefix = null;
+    boolean isNullPath = false;
+    DialogOpenListenerImpl listener = new DialogOpenListenerImpl();
+    
+    public UIDialogWindow() {}
+
+	public String getFamily() {
+		return COMPONENT_FAMILY;
+	}
+
+/*
+	public Object getReRender() {
+		return getId();
+	}
+*/
+
+	protected void setupReRender() {
+		FacesContext context = getFacesContext();
+		String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+		boolean isClose = action != null && action.startsWith("close");
+		UIComponent c = isClose ? getAjaxContainer() : null;
+		if(c != null && c != context.getViewRoot()) {
+			super.setupReRender();
+			AjaxRendererUtils.addRegionByName(context,this,this.getId());
+//			addRegionsFromContainer((AjaxContainer)c, c);
+		} else {
+			AjaxRendererUtils.addRegionByName(context,this,this.getId());
+		}
+	}
+	
+	public boolean isClose() {
+		FacesContext context = getFacesContext();
+		String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+		return action != null && action.startsWith("close");
+	}
+	
+	UIComponent getAjaxContainer() {
+		UIComponent c = this;
+		while(c != null && !(c instanceof AjaxContainer)) c = c.getParent();
+		return c;
+	}
+	
+	void addRegionsFromContainer(AjaxContainer c, UIComponent component) {
+		List ls = component.getChildren();
+		if(ls == null || ls.size() == 0) return;
+		for (int i = 0;i < ls.size(); i++) {
+			UIComponent cc = (UIComponent)ls.get(i);
+			if(cc instanceof AjaxContainer) {
+				addRegionsFromContainer((AjaxContainer)cc, cc);
+			} else if(cc instanceof UIData) {
+				//nothing
+			} else if(cc instanceof UIPanel) {
+// If id is not set commented code should work instead of adding region
+// but it is an agreed limitation to require for explicit id.
+//				addRegionsFromContainer(c, cc);
+				AjaxRendererUtils.addRegionByName(getFacesContext(), cc, cc.getId());
+			} else {
+				AjaxRendererUtils.addRegionByName(getFacesContext(), cc, cc.getId());
+			}
+		}
+	}
+	
+	private String  _posReferenceId = null; /* Default is null*/
+	private String  _posExternalReferenceId = null; /* Default is null*/
+
+	public String getPosReferenceId() {
+		if (null != this._posReferenceId) {
+			return this._posReferenceId;
+		}
+		ValueBinding vb = getValueBinding("posReferenceId");
+		if (null != vb) {
+			return (String)vb.getValue(getFacesContext());
+		} else {
+			return null;
+		}
+	}
+	public void setPosReferenceId( String  __posReferenceId ){
+		this._posReferenceId = __posReferenceId;
+	}
+	public String getExternalPosReferenceId() {
+		return _posExternalReferenceId;
+	}
+	public void setPosExternalReferenceId( String  _posExternalReferenceId ){
+		this._posExternalReferenceId = _posExternalReferenceId;
+	}
+
+
+	public void setPrefix(String s) {
+		prefix = s;
+	}
+
+	public String getPrefix() {
+		return prefix;
+	}
+
+	public void setNullPath() {
+		isNullPath = true;
+	}
+
+	public boolean isNullPath() {
+		return isNullPath;
+	}
+
+	public void broadcast(FacesEvent event) throws AbortProcessingException {
+        if (event instanceof DialogWindowClosedEvent) {
+        	boolean closeActionSet = closeAction;
+        	try {
+        		closeAction = true;
+        		super.broadcast(event);
+        	} finally {
+        		closeAction = closeActionSet;
+        	}
+        } else {
+            super.broadcast(event);
+        }
+
+        if (event.isAppropriateListener(listener)) {
+            event.processListener(listener);
+        }
+	}
+	
+	public boolean skipNavigation(String ViewId) {
+		if(isClose()) return true;
+		
+		if(ActionPrefixHolder.PREFIX_NORMAL.equals(prefix)) {
+			if(!isClose()) {
+				rejectOpen();
+			}
+			return false;
+		}
+		if(isNullPath()) {
+			if(!isClose()) {
+				rejectOpen();
+				return false;
+			}
+		}
+		return true;
+	}
+	
+	String viewId = null;
+	
+	public void initViewId() {
+		viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId();
+	}
+	
+	public String getViewId() {
+		return viewId;
+	}
+	
+	public void setViewId(String newViewId) {
+		FacesContext context = FacesContext.getCurrentInstance();
+		AjaxContext.getCurrentInstance().setViewIdHolder(null);
+		if(!isClose()) {
+			String dialogId = getClientId(context);
+		    DialogContext dcontext = DialogContextManager.getInstance(context).getContext(dialogId);
+
+			ViewHandler vh = UIDialogAction.getViewHandler(context);
+			/*
+			 * Child dialog is about to open.
+			 * The view id caculated by the navigation handler
+			 * is to be saved and passed to child dialog window.
+			 */
+			String targetActionURL = vh.getActionURL(context, newViewId);
+			targetActionURL += getParameterRequest();
+			
+	        dcontext.setDialogPath(targetActionURL);
+		}
+	}
+	
+	public String getParameterRequest() {
+		StringBuffer sb = new StringBuffer();
+		Map map = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
+		List c = getChildren();
+		int k = 0;
+		if(c != null) for (int i = 0; i < c.size(); i++) {
+			if(c.get(i) instanceof UIParameter) {
+				UIParameter p = (UIParameter)c.get(i);
+				String name = p.getName();
+				Object value = map.get(name);
+				if(value == null) continue;
+				if(k == 0) sb.append('?'); else sb.append('&');
+				///TODO: encode value
+				sb.append(name).append('=').append(value);
+				k++;
+			}
+		}		
+		return sb.toString();		
+	}
+
+	private void rejectOpen() {
+		FacesContext context = FacesContext.getCurrentInstance();
+		DialogContext dcontext = DialogContextManager.getInstance(context).getActiveContext();
+		if(dcontext == null) return;
+		DialogContext parentContext = dcontext.getParentContext();
+		dcontext.deactivate();
+        if(parentContext != null) { 
+			DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+		} else {
+	    	DialogContextManager.getInstance(context).setActiveRequest(null);
+		}		
+		AjaxContext.getCurrentInstance().setViewIdHolder(null);
+	}
+
+    public Object saveState(FacesContext context) {
+        Object values[] = new Object[5];
+        values[0] = super.saveState(context);
+        values[1] = saveAttachedState(context, _posReferenceId);
+        values[2] = saveAttachedState(context, _posExternalReferenceId);
+        values[3] = saveAttachedState(context, closeWindowAction);
+        values[4] = saveAttachedState(context, closeWindowActionListener);
+        return values;
+    }
+
+    public void restoreState(FacesContext context, Object state) {
+        Object values[] = (Object[]) state;
+        super.restoreState(context, values[0]);
+        this._posReferenceId = (String)restoreAttachedState(context, values[1]);
+        this._posExternalReferenceId = (String)restoreAttachedState(context, values[2]);
+        this.closeWindowAction = (MethodBinding) restoreAttachedState(context, values[3]);
+        this.closeWindowActionListener = (MethodBinding) restoreAttachedState(context, values[4]);
+    }
+
+	public MethodBinding getCloseWindowAction() {
+		return this.closeWindowAction;
+	}
+	
+	public void setCloseWindowAction(MethodBinding closeWindowListener) {
+		this.closeWindowAction = closeWindowListener;
+	}
+
+	public MethodBinding getCloseWindowActionListener() {
+		return closeWindowActionListener;
+	}
+
+	public void setCloseWindowActionListener(MethodBinding closeWindowActionListener) {
+		this.closeWindowActionListener = closeWindowActionListener;
+	}
+	
+	public MethodBinding getAction() {
+		if (isCloseAction()) {
+			return getCloseWindowAction();
+		}
+
+		return super.getAction();
+	}
+	
+	public MethodBinding getActionListener() {
+		if (isCloseAction()) {
+			return getCloseWindowActionListener();
+		}
+
+		return super.getActionListener();
+	}
+	
+	public boolean isCloseAction() {
+		return closeAction;
+	}
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindow.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,11 @@
+package org.richfaces.component;
+
+import org.ajax4jsf.component.UIAjaxCommandButton;
+
+
+abstract public class UIDialogWindowButton extends UIDialogWindow {
+	public static final String COMPONENT_TYPE = UIAjaxCommandButton.COMPONENT_TYPE;
+	
+	public UIDialogWindowButton() {}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowButton.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+package org.richfaces.component;
+
+public abstract class UIDialogWindowOutputLink extends UIDialogWindow {
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIDialogWindowOutputLink.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,5 @@
+package org.richfaces.component;
+
+public class UIOutputLink {
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/component/UIOutputLink.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,92 @@
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.PrototypeScript;
+import org.ajax4jsf.renderkit.AjaxCommandRendererBase;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.resource.InternetResource;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.UIDialogAction;
+
+
+/**
+ * 
+ * @author glory
+ *
+ */
+public abstract class DialogBaseActionRenderer extends AjaxCommandRendererBase {
+	private InternetResource[] _scripts = {new PrototypeScript(), getResource("script/dialog-window.js") };	
+
+	protected InternetResource[] getAdditionalScripts() {
+		return _scripts;
+	}
+	
+	protected void doAjaxDecode(FacesContext context, UIComponent component) {
+		super.doDecode(context, component);
+	}
+
+//	@Override
+	public void doDecode(FacesContext context, UIComponent component) {
+		if(!DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+			return;
+		}
+
+        if(!UIDialogAction.isServerMode(component)) {
+        	super.doDecode(context, component);
+        } else {
+	    	Object type = component.getAttributes().get("type");
+        	if (null == type || ! "reset".equalsIgnoreCase((String)type) ) {
+				ActionEvent event;
+				event = new ActionEvent(component);
+				component.queueEvent(event);
+				//no ajax event
+			} 
+        }
+	}
+
+	public String getOnClick(FacesContext context, UIComponent component) {
+		if (getUtils().isBooleanAttribute(component, "disabled")) {
+			return "return false;";
+		}
+		DialogContext dcontext = DialogContextManager.getInstance(context).getActiveContext();
+
+		StringBuffer superOnClick = null;
+		if(UIDialogAction.isServerMode(component)) {
+			String formId = DialogWindowUtils.findAncestorForm(context, component);
+
+			JSFunction f = new JSFunction("DialogContext.submitDialogAction");
+			f.addParameter(formId);
+			f.addParameter(component.getClientId(context));
+			f.addParameter(AjaxRendererUtils.buildEventOptions(context, component));
+			superOnClick = new StringBuffer();
+			f.appendScript(superOnClick);
+			superOnClick.append(';');
+			if (!"reset".equals(component.getAttributes().get("type"))) {
+				superOnClick.append("return false;");
+			}
+		} else {
+			superOnClick = new StringBuffer(super.getOnClick(context, component));
+		}
+        String script = "" +
+		    "try {\n" +
+		    	(dcontext != null ? "if(window) { onDialogLink(" + getOnDialogLinkParameter(dcontext) + "); }\n" : "") +
+			    superOnClick.toString() + "\n" +
+		    "} catch (e) {\n" +
+		        "alert('Error in onclick ' + e.message);\n" +
+		    "}\n" +
+		    "return false;\n" +
+		"";
+
+        return script;
+	}
+	
+	protected String getOnDialogLinkParameter(DialogContext dcontext) {
+		return "'" + dcontext.getDialogPath() + "'";
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogBaseActionRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,32 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogButtonRenderer extends DialogBaseActionRenderer {
+    public static final String RENDERER_TYPE = "org.ajax4jsf.components.AjaxButtonRenderer";
+
+//	@Override
+	protected Class getComponentClass() {
+		return UIDialogWindow.class;
+	}
+
+//	@Override
+	public void doDecode(FacesContext context, UIComponent component) {
+		super.doDecode(context, component);
+	    if (DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+	    	//fire event to get new actionURL
+		}
+	}
+
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogButtonRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,112 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
+import javax.servlet.http.HttpSession;
+
+import org.richfaces.component.ActionPrefixHolder;
+import org.richfaces.component.DialogCloseEvent;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogCloseRenderer extends DialogBaseActionRenderer {
+
+//	@Override
+	protected Class getComponentClass() {
+		return UIDialogWindow.class;
+	}
+
+//	@Override
+	public void doDecode(FacesContext context, UIComponent component) {
+		if(!DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+			return;
+		}
+
+		ActionSource actionSource = (ActionSource) component;
+        MethodBinding binding = actionSource.getAction();
+        if(!(binding instanceof DialogMethodBinding)) {
+        	actionSource.setAction(new DialogMethodBinding(binding, (ActionPrefixHolder)component));
+        }
+        
+        DialogCloseEvent dialogEvent = new DialogCloseEvent(component);
+        
+        if(!UIDialogAction.isServerMode(component)) {
+        	super.doAjaxDecode(context, component);
+        } else {
+	    	Object type = component.getAttributes().get("type");
+        	if (null == type || ! "reset".equalsIgnoreCase((String)type) ) {
+				ActionEvent event;
+				event = new ActionEvent(component);
+				component.queueEvent(event);
+				//no ajax event
+			} 
+        }
+		dialogEvent.queue();
+	}
+
+	public String getRegistration(FacesContext context, UIComponent component) throws IOException {
+		/*
+		 * If close button was pressed, navigation handler 
+		 * calculated id of view that is to be shown after 
+		 * dialog window is closed. This id should be passed
+		 * as parameter to js function closeDialog() which 
+		 * then will invoke parent window with it.
+		 */
+
+		String script = 
+//			"<script>" +
+				"try {" +
+					"if(window && window.registerInParent) { " +
+						"registerInParent(); " +
+						getCloseMethod(context, component) +
+//						((parentTargetViewId != null) ? methodName + "('" + id + "','" + parentTargetViewId + "');" : "") +
+					"}" +
+				"} catch (e) {" +
+					"alert('registration script error: ' + e.message);" +
+				"}" +
+//			"</script>" +
+			"";
+		return script;
+	}
+	
+	private String getCloseMethod(FacesContext context, UIComponent component) {
+		String closeId = component.getClientId(context) + "_close";
+		String parentTargetViewId = (String)context.getExternalContext().getRequestMap().get(closeId);
+		String closeAll = component.getClientId(context) + "_closeall";
+		String ptv = (String)context.getExternalContext().getRequestMap().get(closeAll);
+		if(parentTargetViewId == null) return "";
+		
+		String methodName = (ptv != null) ? "closeAll" : "closeDialog";
+
+		HttpSession session = (HttpSession)context.getExternalContext().getSession(false);
+		String id = session.getId();
+
+		String result = 
+			"var args = {};" +
+			"args.id = '" + id + "';" +
+			"args.targetViewId = '" + parentTargetViewId + "';" +
+			
+			"" + methodName + "(args);"
+		;
+		return result;
+	}
+
+	protected String getOnDialogLinkParameter(DialogContext dcontext) {
+		return "";
+	}
+
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogCloseRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,31 @@
+/*
+ * Created on 04.08.2006
+ */
+package org.richfaces.renderkit;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogLinkRenderer extends DialogBaseActionRenderer {
+
+//	@Override
+	protected Class getComponentClass() {
+		return UIDialogWindow.class;
+	}
+
+//	@Override
+	public void doDecode(FacesContext context, UIComponent component) {
+		super.doDecode(context, component);
+	    if (DialogWindowRenderer.isSubmitted(getUtils(), context, component)) {
+	    	//fire event to get new actionURL
+		}
+	}
+
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogLinkRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,105 @@
+package org.richfaces.renderkit;
+
+import javax.faces.component.StateHolder;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIComponentBase;
+import javax.faces.context.FacesContext;
+import javax.faces.el.EvaluationException;
+import javax.faces.el.MethodBinding;
+import javax.faces.el.MethodNotFoundException;
+
+import org.richfaces.component.ActionPrefixHolder;
+
+
+public class DialogMethodBinding extends MethodBinding implements StateHolder {
+	private static final long serialVersionUID = 1L;
+
+	ActionPrefixHolder prefixHolder;
+	MethodBinding binding;
+	String clientId = null;
+	boolean isTransient = false;
+
+	public DialogMethodBinding() {}
+	
+	public DialogMethodBinding(MethodBinding binding, ActionPrefixHolder prefixHolder) {
+		this.binding = binding;
+		this.prefixHolder = prefixHolder;
+		if(prefixHolder instanceof UIComponent) {
+			clientId = ((UIComponent)prefixHolder).getClientId(FacesContext.getCurrentInstance());
+		}
+	}
+
+//	@Override
+	public Class getType(FacesContext context) throws MethodNotFoundException {
+		return binding == null ? Void.class : binding.getType(context);
+	}
+
+//	@Override
+	public Object invoke(FacesContext context, Object[] params) throws EvaluationException, MethodNotFoundException {
+		if(binding == null) {
+			setNullPath();
+			return null;
+		}
+		Object outcome = binding.invoke(context, params);
+		if(outcome == null || "null".equals(outcome)) {
+			setNullPath();
+			return null;
+		}
+		String s = outcome.toString();
+		int index = s.indexOf(':');
+		if(index >= 0) {
+			setPrefix(s.substring(0, index + 1));
+			outcome = s.substring(index + 1);
+		}
+		if(outcome == null || "".equals(outcome) || "null".equals(outcome)) {
+			setNullPath();
+			return null;
+		}
+		return outcome;
+	}
+	
+	private void setPrefix(String prefix) {
+		getPrefixHolder();
+		if(prefixHolder != null) prefixHolder.setPrefix(prefix);
+	}
+	
+	private void setNullPath() {
+		getPrefixHolder();
+		if(prefixHolder != null) prefixHolder.setNullPath();
+	}
+	
+	void getPrefixHolder() {
+		if(prefixHolder != null || clientId == null) return;
+		getPrefixHolder(FacesContext.getCurrentInstance());
+	}
+
+	void getPrefixHolder(FacesContext context) {
+		if(prefixHolder != null || clientId == null) return;
+		UIComponent c = context.getViewRoot().findComponent(clientId);
+		if(c instanceof ActionPrefixHolder) prefixHolder = (ActionPrefixHolder)c;
+	}
+
+	public boolean isTransient() {
+		return (binding instanceof StateHolder) ? ((StateHolder)binding).isTransient() : isTransient;
+	}
+
+	public void restoreState(FacesContext context, Object data) {
+		Object[] os = (Object[])data;
+		binding = (MethodBinding)UIComponentBase.restoreAttachedState(context, os[0]);
+		clientId = (String)os[1];
+//		getPrefixHolder(context);		
+	}
+
+	public Object saveState(FacesContext context) {
+		Object[] os = new Object[2];
+		os[0] = UIComponentBase.saveAttachedState(context, binding);
+		os[1] = clientId;
+		return os;
+	}
+
+	public void setTransient(boolean b) {
+		this.isTransient = b;
+		if(binding instanceof StateHolder) ((StateHolder)binding).setTransient(b);
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogMethodBinding.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,20 @@
+package org.richfaces.renderkit;
+
+import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
+import org.ajax4jsf.resource.InternetResource;
+import org.richfaces.component.UIDialogVerticalFiller;
+
+
+public class DialogVerticalFillerRenderer extends AjaxComponentRendererBase {
+	private InternetResource[] _scripts = { getResource("style/dialog-window.css") };	
+
+//	@Override
+	protected Class getComponentClass() {
+		return UIDialogVerticalFiller.class;
+	}
+
+	protected InternetResource[] getStyles() {
+		return _scripts;
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogVerticalFillerRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,59 @@
+package org.richfaces.renderkit;
+
+import javax.faces.application.ViewHandler;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.event.AjaxEvent;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.DialogOpenEvent;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+public class DialogWindowOutputLinkRenderer extends DialogWindowRenderer {
+
+//	@Override
+	public void doDecode(FacesContext context, UIComponent component) {
+		if(!isSubmitted(getUtils(), context, component)) {
+			return;
+		}
+		String dialogId = component.getClientId(context);
+		String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+		DialogContext dcontext = DialogContextManager.getInstance(context).getContext(dialogId);
+        DialogOpenEvent dialogEvent = new DialogOpenEvent(component);
+        
+		if(!"close".equals(action) && !"closeall".equals(action)) {
+			DialogContext parentContext = DialogContextManager.getInstance(context).getActiveContext();
+			DialogContextManager.getInstance(context).setActiveRequest(dialogId);
+			if(parentContext != null && parentContext != dcontext) parentContext.addChildContext(dcontext);
+			dcontext.setLocked(false);
+			ViewHandler vh = UIDialogAction.getViewHandler(context);
+			String targetActionURL = (String)((UIDialogWindow)component).getValue();
+			targetActionURL = vh.getActionURL(context, targetActionURL);
+	        dcontext.setDialogPath(targetActionURL);
+ 			component.queueEvent( new AjaxEvent(component));
+ 			context.renderResponse();
+		} else {
+			String targetViewId = (String)context.getExternalContext().getRequestParameterMap().get("targetViewId");
+			if(targetViewId != null) {
+				dialogEvent.setSourceViewId(targetViewId);
+			}
+			DialogContext parentContext = dcontext.getParentContext();
+			dcontext.deactivate();
+	        if(parentContext != null) { 
+				DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+	        } else if("closeall".equals(action)) {
+		    	DialogContextManager.getInstance(context).setActiveRequest(null);
+			} else {
+		    	DialogContextManager.getInstance(context).setActiveRequest(null);
+			}
+ 			dialogEvent.setClose(true);
+ 			dialogEvent.queue();
+ 			component.queueEvent( new AjaxEvent(component));
+		}
+		
+	}
+
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowOutputLinkRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,291 @@
+/*
+ * Created on 03.08.2006
+ */
+package org.richfaces.renderkit;
+
+import java.io.IOException;
+import java.util.Map;
+
+import javax.faces.component.ActionSource;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.context.ViewIdHolder;
+import org.ajax4jsf.event.AjaxEvent;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.PrototypeScript;
+import org.ajax4jsf.renderkit.AjaxCommandRendererBase;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
+import org.ajax4jsf.resource.InternetResource;
+import org.richfaces.component.ActionPrefixHolder;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.DialogOpenEvent;
+import org.richfaces.component.DialogWindowClosedEvent;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author igels
+ *
+ */
+public class DialogWindowRenderer extends AjaxCommandRendererBase {
+
+	private InternetResource[] _scripts = {new PrototypeScript(), getResource("script/dialog-window.js") };	
+
+//	@Override
+	protected Class getComponentClass() {
+		return UIDialogWindow.class;
+	}
+
+//	@Override
+	protected InternetResource[] getAdditionalScripts() {
+		return _scripts;
+	}
+
+	/**
+	 * Action is invoked in two cases:
+	 * 1) Button has been pressed - standard JSF invocation.
+	 * 2) Child dialog has just been closed - it simulates 
+	 * action of this component by AJAX request
+	 */
+//	@Override
+	public void doDecode(FacesContext context, UIComponent component) {
+		if(!isSubmitted(getUtils(), context, component)) {
+			return;
+		}
+
+//		((UIDialogAction)component).provideForceRerender();
+		
+		String dialogId = component.getClientId(context);
+
+		/*
+		 * Parameter action=close is set by js function closeDialog()
+		 * for AJAX request simulating this action.
+		 */
+		String action = (String)context.getExternalContext().getRequestParameterMap().get("action");
+		
+		DialogContext dcontext = DialogContextManager.getInstance(context).getContext(dialogId);
+
+		String posReferenceId = (String)context.getExternalContext().getRequestParameterMap().get("posReferenceId");
+		((UIDialogWindow)component).setPosExternalReferenceId(posReferenceId);
+
+		ActionSource actionSource = (ActionSource) component;
+
+		/*
+		 * Specific navigation for open/close dialogs 
+		 * includes prefixes to outcomes. We need to 
+		 * intercept computed outcome to extract the prefix
+		 * and provide JSF with outcome stripped of it. 
+		 */
+        MethodBinding binding = actionSource.getAction();
+        if(!(binding instanceof DialogMethodBinding)) {
+        	actionSource.setAction(new DialogMethodBinding(binding, (ActionPrefixHolder)component));
+        }
+        
+        DialogOpenEvent dialogEvent = new DialogOpenEvent(component);
+        
+		if(!"close".equals(action) && !"closeall".equals(action)) {
+			
+			/*
+			 * Button has been pressed. 
+			 * Child dialog is to be open.
+			 * We need to send a standard ActionEvent to 
+			 * let JSF to pass all the lifecycle up to 
+			 * the end of invoke application phase where 
+			 * we will interfere and change the navigation logic. 
+			 */
+			DialogContext parentContext = DialogContextManager.getInstance(context).getActiveContext();
+			DialogContextManager.getInstance(context).setActiveRequest(dialogId);
+			if(parentContext != null && parentContext != dcontext) parentContext.addChildContext(dcontext);
+			dcontext.setLocked(false);
+
+			Object type = component.getAttributes().get("type");
+	     	if (null == type || ! "reset".equalsIgnoreCase((String)type) ) {
+///	     		String mode = ((UIDialogAction)component).getMode();
+     			ActionEvent event;
+     			event = new ActionEvent(component);
+     			component.queueEvent(event);
+     			if(component instanceof ViewIdHolder) {
+    	 			component.queueEvent( new AjaxEvent(component));
+//    	 			((UIDialogWindow)component).initViewId();
+//     				AjaxContext.getCurrentInstance(context).setViewIdHolder((ViewIdHolder)component);
+//     				return;
+     			}
+
+	     	} else {
+	 			component.queueEvent( new AjaxEvent(component));
+	 		}
+		} else {
+			/*
+			 * Child dialog has just been closed. 
+			 * It simulates action of this component 
+			 * by AJAX request from js function closeDialog() 
+			 * Parameter 'targetViewId' is id of view
+			 * that would be shown in dialog window if it had not 
+			 * to be closed. Now it is saved in event 
+			 * to be substituted for view root of this window.
+			 */
+			String targetViewId = (String)context.getExternalContext().getRequestParameterMap().get("targetViewId");
+			if(targetViewId != null) {
+				dialogEvent.setSourceViewId(targetViewId);
+			}
+			DialogContext parentContext = dcontext.getParentContext();
+			dcontext.deactivate();
+	        if(parentContext != null) { 
+				DialogContextManager.getInstance(context).setActiveRequest(parentContext.getDialogId());
+	        } else if("closeall".equals(action)) {
+		    	DialogContextManager.getInstance(context).setActiveRequest(null);
+			} else {
+		    	DialogContextManager.getInstance(context).setActiveRequest(null);
+			}
+
+	        component.queueEvent(new DialogWindowClosedEvent(component));
+	        
+ 			component.queueEvent( new AjaxEvent(component));
+ 			dialogEvent.setClose(true);
+		}
+		
+		/*
+		 * Queue event that will be processed during 
+		 * invoke application phase after navigation handler
+		 * has calculated and set new view id. 
+		 * See UIDialogWindow.processDialogOpen for details 
+		 * of processing this event to change navigation logic.
+		 */
+		dialogEvent.queue();
+	}
+	
+	public String getOnClick(FacesContext context, UIComponent component) {
+		if (getUtils().isBooleanAttribute(component,"disabled")) {
+			return "return false;";
+		}
+		String dialogPath = DialogWindowUtils.getDialogPath(context, component);
+		if(dialogPath != null) return "return false;";
+		
+		DialogWindowUtils.saveParameters(component, context);
+
+		StringBuffer sb = new StringBuffer();
+		sb.append(DialogWindowUtils.getRunCondition());
+
+		if(UIDialogAction.isServerMode(component)
+				//|| DialogWindowUtils.findAncestorForm(context, component) == null
+				) {
+			String formId = DialogWindowUtils._getFormId(context, component);
+
+			JSFunction f = new JSFunction("DialogContext.submitDialogAction");
+			f.addParameter(formId);
+			f.addParameter(component.getClientId(context));
+			f.addParameter(AjaxRendererUtils.buildEventOptions(context, component));
+			f.appendScript(sb);
+			sb.append(';');
+
+			if (!"reset".equals(component.getAttributes().get("type"))) {
+				sb.append("return false;");
+			}
+//		} else if(DialogWindowUtils.findAncestorForm(context, component) == null) {
+//			JSFunction f = new JSFunction("A4J.AJAX.Submit");
+//			f.addParameter("_viewRoot");
+//			f.addParameter("");
+//			f.addParameter(new JSReference("event"));
+//			f.addParameter(AjaxRendererUtils.buildEventOptions(context, component));
+//			f.appendScript(sb);
+//			sb.append(';');
+//
+//			if (!"reset".equals(component.getAttributes().get("type"))) {
+//				sb.append("return false;");
+//			}
+//			return sb.toString();
+		} else {
+			sb = DialogWindowUtils.buildOnClick(component, context);
+			sb.insert(0, DialogWindowUtils.getRunCondition());
+			if (!"reset".equals(component.getAttributes().get("type"))) {
+				sb.append(";return false;");
+			}
+		}
+		return sb.toString();
+	}
+	
+	public String getDialogBox(FacesContext context, UIComponent component) throws IOException {
+        DialogContext dcontext = DialogContextManager.getInstance(context).getContext(component.getClientId(context));
+		String dialogPath = DialogWindowUtils.getDialogPath(context, component);
+		if(dialogPath == null) return "";
+		String dialogId = component.getClientId(context);
+		// Added by Hans, Wed Mar  7 14:55:24 EET 2007, CH-1541
+		StringBuffer options = new StringBuffer(DialogWindowUtils.getOptions(context, component, getUtils()));
+		options.deleteCharAt(options.length() - 1);
+		String spacerImage = getResource("/com/exadel/vcp/dialogwindow/renderer/html_basic/images/spacer.gif")
+			.getUri(context, null);
+		DialogWindowUtils.append(options, "spacerImage", spacerImage);
+		options.append('}');
+		// by Hans
+		String iframe = 
+//		"<script type=\"text/javascript\">" +
+			"try {" +
+				"if(window && window.DialogContext) {" +
+				options.toString() +
+				    "new DialogContext(\'" + dialogId + "\', \'" + dialogPath + "\', " + getParentDialogId(dcontext) + ", options);" +
+				"}" +
+			"} catch (e) {" +
+				"alert('Error in dialog window script: ' + e.message);" +
+			"}" +
+//		"</script>" +		
+		"";
+		return iframe;
+	}
+
+	public String getLinkID(FacesContext context, UIComponent component) throws IOException {
+		return component.getClientId(context) + "_a";
+	}
+
+	// repeated from AjaxCommandRendererBase
+	public static boolean isSubmitted(RendererUtils utils, FacesContext facesContext, UIComponent uiComponent) {
+		// Componet accept only ajax requests. 
+		if (!UIDialogWindow.isServerMode(uiComponent) && !AjaxRendererUtils.isAjaxRequest(facesContext)
+				&& DialogWindowUtils.findAncestorForm(facesContext, uiComponent) != null) {
+			return false;
+		}
+		if(utils.isBooleanAttribute(uiComponent, "disabled")) {
+			return false;
+		}
+	    String clientId = uiComponent.getClientId(facesContext);
+	    Map paramMap = facesContext.getExternalContext().getRequestParameterMap();
+	    Object  value = paramMap.get( clientId );
+		return null != value;
+	}
+	
+	public String getParentDialogId(DialogContext dcontext) {
+		DialogContext parentContext = dcontext.getParentContext();
+		return (parentContext == null) ? null : "'" + parentContext.getDialogId() + "'";
+	}
+
+	public void insertFormBegin(FacesContext context, UIComponent component) {
+		String formId = DialogWindowUtils.findAncestorForm(context, component);
+		if (formId == null) {
+			ResponseWriter out = context.getResponseWriter();
+			try {
+				out.startElement("form", component);
+				out.writeAttribute("method", "post", null);
+				out.writeAttribute("id", DialogWindowUtils._getInternalFormId(context, component), null);
+			} catch (Exception e) {
+			}
+		}
+	}
+
+	public void insertFormEnd(FacesContext context, UIComponent component) {
+		String formId = DialogWindowUtils.findAncestorForm(context, component);
+		if (formId == null) {
+			ResponseWriter out = context.getResponseWriter();
+			try {
+				out.endElement("form");
+			} catch (Exception e) {
+			}
+		}
+	}
+
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowRenderer.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,260 @@
+package org.richfaces.renderkit;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIForm;
+import javax.faces.component.UIParameter;
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.Messages;
+import org.ajax4jsf.component.AjaxSupport;
+import org.ajax4jsf.component.JavaScriptParameter;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSReference;
+import org.ajax4jsf.javascript.ScriptUtils;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils.HTML;
+import org.richfaces.component.DialogContext;
+import org.richfaces.component.DialogContextManager;
+import org.richfaces.component.UIDialogAction;
+import org.richfaces.component.UIDialogWindow;
+
+
+public class DialogWindowUtils {
+	
+	/**
+	 * Options:
+	 * 		width				public
+	 * 		height				public
+	 * 		posx				public
+	 * 		posy				public
+	 * 		resizable			public
+	 * 		_float				public
+	 * 		maxWidth			public
+	 * 		maxHeight			public
+	 * 		hideParentDialog	public
+	 * 		headerHeight		public
+	 * 		posFunction			public
+	 * 		posReferenceId		public
+	 * 
+	 * @param context
+	 * @param component
+	 * @param utils
+	 * @return
+	 */
+
+	public static String getOptions(FacesContext context, UIComponent component, RendererUtils utils) {
+		StringBuffer options = new StringBuffer("{");
+		options.append("var options= {};");
+		UIComponent nestingContainer = (UIComponent) AjaxRendererUtils.findAjaxContainer(context, component);
+		UIComponent nestingForm = AjaxRendererUtils.getNestingForm(component);
+		String formId = nestingForm != null ? nestingForm.getClientId(context) : "";
+		append(options, "container", nestingContainer.getClientId(context));
+		append(options, "form", formId);
+		
+		Object w = component.getAttributes().get("width");
+		if(w == null || w.toString().trim().length() == 0 || "auto".equals(w)) {
+			w = "-1";
+		} else {
+			w = strip(w);
+		}
+		append(options, "width", w);
+
+		Object h = component.getAttributes().get("height");
+		if(h == null || h.toString().trim().length() == 0 || "auto".equals(h)) {
+			h = "-1";
+		} else {
+			h = strip(h);
+		}
+		append(options, "height", h);
+
+		Object x = component.getAttributes().get("posx");
+		if(x == null) x = component.getAttributes().get("align");
+		if(x == null || x.toString().trim().length() == 0) {
+			x = "50%";
+		} else {
+			x = strip(x);
+		}
+		if(x.equals("left")) x = "0%";
+		else if(x.equals("center") || x.equals("middle")) x = "50%";
+		else if(x.equals("right")) x = "100%";
+		append(options, "posx", x);
+
+		Object y = component.getAttributes().get("posy");
+		if(y == null) y = component.getAttributes().get("valign");
+		if(y == null || y.toString().trim().length() == 0) {
+			y = "50%";
+		} else {
+			y = strip(y);
+		}
+		if(y.equals("top")) y = "0%";
+		else if(y.equals("middle") || y.equals("center")) y = "50%";
+		else if(y.equals("bottom")) y = "100%";
+		append(options, "posy", y);
+		
+		w = component.getAttributes().get("maxWidth");
+		if(w == null || w.toString().trim().length() == 0) {
+			w = "-1";
+		} else {
+			w = strip(w);
+		}
+		append(options, "maxWidth", w);
+		
+		h = component.getAttributes().get("maxHeight");
+		if(h == null || h.toString().trim().length() == 0) {
+			h = "-1";
+		} else {
+			h = strip(h);
+		}
+		append(options, "maxHeight", h);
+
+		if(!UIDialogAction.isServerMode(component) 
+			&& DialogWindowRenderer.isSubmitted(utils, context, component)
+			&& findAncestorForm(context, component) != null) {
+			append(options, "ajax", "true");
+		}
+
+		Object c = component.getAttributes().get("resizable");
+		if(c == null) c = Boolean.TRUE;
+		append(options, "resizable", c);
+		
+		c = component.getAttributes().get("float");
+		if(c == null) c = Boolean.TRUE;
+		append(options, "_float", c);		
+
+		c = component.getAttributes().get("headerHeight");
+		if(c == null) c = "16px";
+		append(options, "headerHeight", c);
+		
+		c = component.getAttributes().get("posFunction");
+		if(c != null) {
+			append(options, "posFunction", c);
+		}
+
+		Object posReferenceId = ((UIDialogWindow)component).getExternalPosReferenceId();
+		if(posReferenceId == null) posReferenceId = ((UIDialogWindow)component).getPosReferenceId();
+		if(posReferenceId != null) {
+			append(options, "posReferenceId", posReferenceId);
+		}
+		
+		c = component.getAttributes().get("hideParentDialog");
+		if(c == null) c = Boolean.FALSE;
+		append(options, "hideParentDialog", c);		
+
+		options.append('}');
+		return options.toString();
+	}
+	
+	static String strip(Object value) {
+		String v = value.toString().trim();
+		if(v.endsWith("px")) return v.substring(0, v.length() - 2);
+		return v;
+	}
+	
+	public static void append(StringBuffer options, String name, Object value) {
+		options.append("options.").append(name).append("='").append(value.toString()).append("';");		
+	}
+
+	public static String findAncestorForm(FacesContext context,UIComponent component) {
+		while (component != null && !(component instanceof UIForm)) {
+			component = component.getParent();
+		}
+		return component != null ? component.getClientId(context) : null;
+	}
+
+	public static String _getFormId(FacesContext context, UIComponent component) {
+		String formId = findAncestorForm(context, component);
+		if (formId == null)
+			return _getInternalFormId(context, component);
+		else
+			return formId;
+	}
+
+	public static String _getInternalFormId(FacesContext context, UIComponent component) {
+		return "dialogForm_" + component.getClientId(context);
+	}
+	
+	/**
+	 * This is modified version of AjaxRendererUtils.buildOnClick
+	 * We need to insert into options id of reference component 
+	 * transferred by DW.open(dialogId, referenceId)
+	 * @param uiComponent
+	 * @param facesContext
+	 * @return
+	 */
+	
+	public static StringBuffer buildOnClick(UIComponent uiComponent, FacesContext facesContext) {
+		String eventName = HTML.onclick_ATTRIBUTE;
+		StringBuffer onEvent = new StringBuffer(); 
+		if(null != eventName) {
+			String commandOnEvent = (String) uiComponent.getAttributes().get(eventName);
+			if (commandOnEvent != null) {
+				onEvent.append(commandOnEvent);
+				onEvent.append(';');
+			}
+		}
+		Map options = AjaxRendererUtils.buildEventOptions(facesContext, uiComponent);
+		onEvent.append("var options=").append(ScriptUtils.toScript(options)).append(";");
+		onEvent.append("if(this.posReferenceId) { options.parameters.posReferenceId=this.posReferenceId;this.posReferenceId=null; }");
+
+		JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(uiComponent, facesContext);
+		ajaxFunction.addParameter(new JSReference("options"));
+
+		// appendAjaxSubmitParameters(facesContext, uiComponent, onEvent);
+		onEvent.append("try {");
+		ajaxFunction.appendScript(onEvent);
+		onEvent.append("} catch (e) {alert('Error in onclick: ' + e.message);}");
+		
+		if (uiComponent instanceof AjaxSupport) {
+			AjaxSupport support = (AjaxSupport) uiComponent;
+			if (support.isDisableDefault()) {
+				onEvent.append("; return false;");
+			}
+		}
+		return onEvent;
+
+	}
+	
+	public static String getRunCondition() {
+		return "try {if(window.hasModalDialog) return false;this.onclick='';this.click=null; window.hasModalDialog=true;} catch (e) {'error in runCondition: ' + e.message};";
+	}
+	
+	public static String getDialogPath(FacesContext context, UIComponent component) {
+        DialogContext dcontext = DialogContextManager.getInstance(context).getContext(component.getClientId(context));
+		return dcontext.getDialogPath();
+	}
+
+	public static void saveParameters(UIComponent uiComponent, FacesContext facesContext) {
+		if(!(uiComponent instanceof UIDialogWindow)) return;
+		String dialogId = uiComponent.getClientId(facesContext);
+		DialogContext context = DialogContextManager.getInstance(facesContext).getContext(dialogId);
+		for (Iterator it = uiComponent.getChildren().iterator(); it.hasNext();) {
+			UIComponent child = (UIComponent) it.next();
+			if (child instanceof UIParameter) {
+				String name = ((UIParameter) child).getName();
+				Object value = ((UIParameter) child).getValue();
+				if (null == name) {
+					throw new IllegalArgumentException(Messages.getMessage(
+							Messages.UNNAMED_PARAMETER_ERROR, uiComponent
+									.getClientId(facesContext)));
+				}
+				boolean escape = true;
+				if (child instanceof JavaScriptParameter) {
+					JavaScriptParameter actionParam = (JavaScriptParameter) child;
+					escape = !actionParam.isNoEscape();
+				}
+				if (escape) {
+					context.setParameter(name, value);
+				} else {
+//					parameters.put(name, new JSReference(value.toString()));
+				}
+			}
+		}
+		
+	}
+
+	
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/renderkit/DialogWindowUtils.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,68 @@
+/**
+ * 
+ */
+package org.richfaces.taglib;
+
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.webapp.taglib.AjaxComponentHandler;
+import org.richfaces.component.UIDialogWindow;
+
+import com.sun.facelets.FaceletContext;
+import com.sun.facelets.el.LegacyMethodBinding;
+import com.sun.facelets.tag.MetaRule;
+import com.sun.facelets.tag.MetaRuleset;
+import com.sun.facelets.tag.Metadata;
+import com.sun.facelets.tag.MetadataTarget;
+import com.sun.facelets.tag.TagAttribute;
+import com.sun.facelets.tag.jsf.ComponentConfig;
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 08.12.2006
+ * 
+ */
+public class DialogWindowComponentHandler extends AjaxComponentHandler {
+
+	public DialogWindowComponentHandler(ComponentConfig componentConfig) {
+		super(componentConfig);
+	}
+
+	protected MetaRuleset createMetaRuleset(Class type) {
+		MetaRuleset metaRuleset = super.createMetaRuleset(type);
+		metaRuleset.addRule(new MetaRule() {
+
+			public Metadata applyRule(String name, final TagAttribute attribute, MetadataTarget meta) {
+				if (meta.isTargetInstanceOf(UIDialogWindow.class)) {
+					
+					if ("closeWindowActionListener".equals(name)) {
+						return new Metadata() {
+
+							public void applyMetadata(FaceletContext context, Object instance) {
+					            ((UIDialogWindow) instance).setCloseWindowActionListener(new LegacyMethodBinding(
+					                    attribute.getMethodExpression(context, null,
+					                            new Class[] { ActionEvent.class })));
+							}
+							
+						};
+					} else if ("closeWindowAction".equals(name)) {
+							return new Metadata() {
+
+								public void applyMetadata(FaceletContext context, Object instance) {
+						            ((UIDialogWindow) instance).setCloseWindowAction(new LegacyMethodBinding(
+						                    attribute.getMethodExpression(context, String.class,
+						                            new Class[] { })));
+								}
+								
+							};
+						}
+				}
+				
+				return null;
+			}
+			
+		});
+		
+		return metaRuleset;
+	}
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowComponentHandler.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,63 @@
+/**
+ * 
+ */
+package org.richfaces.taglib;
+
+import javax.faces.component.UIComponent;
+import javax.faces.el.MethodBinding;
+import javax.faces.event.ActionEvent;
+
+import org.ajax4jsf.webapp.taglib.SimpleActionMethodBinding;
+import org.ajax4jsf.webapp.taglib.UIComponentTagBase;
+import org.richfaces.component.UIDialogWindow;
+
+
+/**
+ * @author Nick Belaevski - nbelaevski at exadel.com
+ * created 08.12.2006
+ * 
+ */
+public abstract class DialogWindowTagBase extends UIComponentTagBase {
+	private String  _closeWindowAction = null;
+	private String  _closeWindowActionListener = null;
+
+	public void release() {
+		super.release();
+		this._closeWindowAction = null;
+		this._closeWindowActionListener = null;
+	}
+
+	public void setCloseWindowAction(String windowAction) {
+		_closeWindowAction = windowAction;
+	}
+	
+	public void setCloseWindowActionListener(String windowActionListener) {
+		_closeWindowActionListener = windowActionListener;
+	}
+	
+	protected void setProperties(UIComponent component) {
+		super.setProperties(component);
+		if(null != this._closeWindowActionListener){
+			if (isValueReference(this._closeWindowActionListener)) {
+				MethodBinding mb = getFacesContext().getApplication().createMethodBinding(this._closeWindowActionListener,
+						new Class[]{ActionEvent.class});
+				((UIDialogWindow)component).setCloseWindowActionListener(mb);
+			} else {
+				getFacesContext().getExternalContext().log("Component " + component.getClientId(getFacesContext()) + " has invalid closeWindowActionListener value: " + this._closeWindowActionListener);
+			}
+		}
+
+		if(null != this._closeWindowAction){
+			MethodBinding mb;
+			
+			if (isValueReference(this._closeWindowAction)) {
+				mb = getFacesContext().getApplication().createMethodBinding(this._closeWindowAction,
+						new Class[]{});
+			} else {
+				mb = new SimpleActionMethodBinding(this._closeWindowAction);
+			}
+
+			((UIDialogWindow)component).setCloseWindowAction(mb);
+		}
+	}
+}


Property changes on: trunk/sandbox/ui/dialog-window/src/main/java/org/richfaces/taglib/DialogWindowTagBase.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-button.js
===================================================================

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-close.js
===================================================================

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-link.js
===================================================================

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/script/dialog-window.js	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,1558 @@
+function createX() {
+//	alert(window.location);
+	return {};
+}
+
+var dialogs = createX();
+
+Resizer = Class.create();
+
+Resizer.prototype = {
+	initialize: function() {
+		this.bound = false;
+		this.listeners = {};
+	},
+	
+	doInit: function() {
+		if(this.bound) return;
+		if(!window.document) return;
+		this.bound = true;
+		try {
+			Event.observe(window, 'resize', this.resize.bind(this), false);
+			Event.observe(window.document.body, 'scroll', this.resize.bind(this), false);
+			Event.observe(window, 'scroll', this.resize.bind(this), false);
+		} catch (e) {
+		  alert(e.message);
+		}
+	},
+	
+	addListener: function(context) {
+		this.doInit();
+		this.listeners[context.dialogId] = context._doResize.bind(context);
+	},
+	
+	removeListener: function(context) {
+		this.listeners[context.dialogId] = null;
+	},
+	
+	resize: function() {
+		for (x in this.listeners) {
+			if(this.listeners[x]) this.listeners[x]();
+		}
+	}
+}
+
+function getResizer() {
+    if(getTopWindow() != window) return getTopWindow().getResizer();
+    if(window.ResizerImpl) return window.ResizerImpl;
+    return new Resizer();
+}
+
+var ResizerImpl = getResizer();
+
+DialogContext = Class.create();
+
+function getTopWindow() {
+	if(window.parent && window.parent != window) {
+		return window.parent.getTopWindow();
+	}
+	if(window.opener && window.opener != window) {
+		return window.opener.getTopWindow();
+	}
+	return window;
+}
+
+DialogContext.prototype = {
+
+	initialize: function(dialogId, dialogPath, parentDialogId, options) {
+  try {
+		this.linkId = dialogId + "_a";
+		this.dialogId = dialogId;
+		this.divId = dialogId + "_div";
+		this.screenId = dialogId + "_screen";
+		this.dialogPath = dialogPath;
+		this.persistentDialogPath = dialogPath;
+
+		this.options = options;
+		this.parentDialogId = parentDialogId;
+		this.shape = new DW.Shape(this);
+		this.filler = new DW.Filler(this);
+
+	var closeParent = "true" == options.hideParentDialog;
+	if(this.parentDialogId && closeParent) {
+		var p = getTopWindow().dialogs[this.parentDialogId];
+		if(p && p.iframe) {
+			p.hidden = true;
+			Element.setStyle(p.iframe, {"visibility" : "hidden" });
+		}
+	}
+
+		if(!options.ajax) {
+			Event.observe(window, 'load', this.openDialog.bind(this), false);
+		} else {
+			this.openDialog();
+		}
+
+  } catch (e) {
+	alert("initialize error: " + e.message);
+  }
+	},
+
+	getParentDialogWindow: function() {
+		if(this.parentDialogId) {
+			this.parentDialogWindow = this.topWindow.dialogs[this.parentDialogId].dialogWindow;
+		} else {
+			this.parentDialogWindow = this.topWindow;
+		}
+		return this.parentDialogWindow;
+	},
+
+	_destroy: function() {
+		try {
+			this.parentDialogWindow.hasModalDialog = false;
+			ResizerImpl.removeListener(this);
+
+			if(this.dialogWindow && this.onLoadEvent) {
+				Event.stopObserving(this.dialogWindow, "load", this.onLoadEvent);
+				this.onLoadEvent = null;
+			}
+
+			this.enableSelects();
+	
+			var w = this.topWindow;
+
+			var g = this.parentDialogWindow.document.getElementById(this.linkId);
+			var scr = this.parentDialogWindow.document.getElementById(this.screenId);
+			if(scr && scr.parentNode) {
+				scr.parentNode.removeChild(scr);
+			}
+			if(!g) {
+				alert('Cannot find link ' + this.linkId);
+			}
+			var div = w.document.getElementById(this.divId);
+			if(div && div.parentNode) {
+				if(DW.isIE) {
+					if (this.options && this.options.spacerImage)
+						div.src= this.options.spacerImage;
+					else
+						div.src = "about:blank";
+//					div.src="javascript:void(0)";
+				}
+				div.parentNode.removeChild(div);
+			}
+			this.topWindow.dialogs[this.dialogId] = null;
+			this.shape.destroy();
+		} catch (e) {
+			alert('Error in destroy: ' + e.message);
+		}
+	},
+	
+	openDialog: function() {
+		try {
+			disableDocumentFocusElements(this.dialogId);
+			this.topWindow = getTopWindow();
+			this.topWindow.dialogs[this.dialogId] = this;
+			this.topWindow.currentDialog = this;
+			if(this.parentDialogId) {
+			    var d = this.topWindow.dialogs[this.parentDialogId];
+			    if(!d) throw("Cannot find context for parent dialog " + this.parentDialogId);
+				this.parentDialogWindow = d.dialogWindow;
+				d.shape.borders.setVisible(false);
+			} else {
+				this.parentDialogWindow = this.topWindow;
+			}
+			
+			this.parentDialogWindow.hasModalDialog = true;
+			this.disableSelects();
+
+			var scr = this.getParentDialogWindow().document.createElement("div");
+//				scr.frameBorder = "0";
+			scr.id = this.screenId;
+			scr.style.position = "absolute"; 
+			scr.style.top = "0px";
+			scr.style.left = "0px";
+			Element.setStyle(scr, {"border-style" : "none" });
+			Element.setStyle(scr, {"background-color" : "#d0d0d0" });
+			Element.setStyle(scr, {"z-index" : "99" });
+			scr.style.filter="alpha(opacity=50)";
+			scr.style.opacity = "0.5";
+			this.parentDialogWindow.document.body.appendChild(scr);
+
+			var iframe = this.topWindow.document.createElement("iframe");
+				var div = iframe;
+////			var div = this.topWindow.document.createElement("div");
+////			this.frameDiv = div;
+////			div.id = this.divId;
+			div.style.position = "absolute";
+			Element.setStyle(div, {"z-index" : "99"});
+			Element.setStyle(div, {"border" : "0px", "padding" : "0px 0px 0px 0px", "margin" : "0px 0px 0px 0px" });
+
+			Event.observe(iframe, 'load', this.testOnLoad.bind(this), false);
+			this.iframe = iframe;
+				iframe.id = this.divId;
+			iframe.src = this.dialogPath;
+			iframe.frameBorder = "0";
+			iframe.scrolling="no";
+			Element.setStyle(iframe, {"overflow-y" : "hidden" });
+			Element.setStyle(iframe, {"visibility" : "hidden" });
+			Element.setStyle(iframe, {"border" : "0px", "padding" : "0px 0px 0px 0px", "margin" : "0px 0px 0px 0px" });
+
+////			div.appendChild(iframe); 
+			this.shape.init(div, this.options);
+			
+			this.topWindow.document.body.appendChild(div);
+
+			ResizerImpl.addListener(this);
+
+///			this._doResize();
+    	
+		} catch (e) {
+		    var mess = (e.message) ? e.message : e;
+			alert("Error in open dialog: " + mess);
+		}
+	},
+	
+	testOnLoad: function(event) {
+	try {
+		if(!this.iframe || !this.iframe.parentNode) return;
+		var w = this.iframe.contentWindow;
+		if(w) {
+			// copy of registerInParent();
+			if(!w.thisDialogContext) {
+				w.thisDialogContext = this;
+				w.thisDialogContext.dialogWindow = w;
+			}
+			w.thisDialogContext._doOnLoad();
+		}
+	} catch (e) {
+		alert("Error in testOnLoad " + e.message);
+	}
+	},
+	
+	getDialogPath: function() {
+		return this.dialogPath;
+	},
+
+	_doResize: function() {
+		try {
+			if(closed) {
+				alert('closed!!!!!');
+				return;
+			}
+			if(!this.loaded) return;
+			if(!this.parentDialogWindow) return;
+			var parentPositionObject = this.parentDialogWindow.getBase();
+			var topPositionObject = this.topWindow.getBase();
+			var scr = this.parentDialogWindow.$(this.screenId);
+			if(scr) {
+				scr.style.top = parentPositionObject.scrollTop + "px";
+				scr.style.left = parentPositionObject.scrollLeft + "px";
+				scr.style.width = "" + parentPositionObject.clientWidth + "px";
+				scr.style.height = "" + parentPositionObject.clientHeight + "px";
+			}
+			this.shape.resize();
+			this.filler.iterate();
+		} catch (e) {
+			alert('Error in _doResize: ' + e.message);
+		}
+	},
+	
+	registerOnLoad: function(_window) {
+/*
+		this.dialogWindow = _window;
+		if(!this.onLoadEvent) {
+			this.onLoadEvent = this._doOnLoad.bind(this);
+			Event.observe(_window, 'load', this.onLoadEvent, false);
+		}
+*/
+	},
+	
+	_doOnLoad: function() {
+		try {
+			this.loaded = true;
+			Element.setStyle(this.dialogWindow.document.body, { "margin" : "0px 0px 0px 0px" });
+			if("transparent" == Element.getStyle(this.dialogWindow.document.body, "background-color")) {
+				this.iframe.allowTransparency = true;
+			}
+			this.filler.onLoad();
+			this._doResize();
+			this.filler.enable();
+			if(!this.hidden)	{
+				Element.setStyle(this.iframe, {"visibility" : "visible" });
+			}
+		} catch (e) {
+			alert('Error in _doOnLoad' + e.message);
+		}
+	},
+	
+	disableSelects: function() {
+	try {
+		this.selects = this.getParentDialogWindow().document.getElementsByTagName("SELECT");
+		if(this.selects) {
+			for (k in this.selects) {
+				this.selects[k]._disabled = this.selects[k].disabled || false;
+				this.selects[k].disabled = true;
+			}
+		}
+	} catch (e) {
+		alert('Error in disableSelects: ' + e.message);
+	}
+	},
+  
+	enableSelects: function() {
+	try {
+		if(this.selects) {
+			for (k in this.selects) {
+				this.selects[k].disabled = this.selects[k]._disabled || false;
+			}
+		}
+	} catch (e) {
+		alert('Error in disableSelects: ' + e.message);
+	}
+	},
+	
+	onOptionsChanged: function() {
+		this.shape.init(this.iframe, this.options);
+		this._doResize();
+	}
+
+}
+
+var thisDialogContext = null;
+
+function registerInParent() {
+	if(thisDialogContext) {
+		return;
+	}
+	thisDialogContext = getTopWindow().currentDialog;
+	if(thisDialogContext) {
+		thisDialogContext.dialogWindow = window;
+//		thisDialogContext.registerOnLoad(window);
+	}
+}
+
+function onDialogLink(dialogPath) {
+	if(thisDialogContext) {
+		thisDialogContext.topWindow.currentDialog = thisDialogContext;
+		thisDialogContext.dialogPath = dialogPath;
+	}
+}
+
+function createObject() {
+	return {};
+}
+
+function closeDialog(args) {
+	if(!thisDialogContext) return;
+	var context = thisDialogContext;
+	var id = (!args) ? null : args.id;
+	var targetViewId = (!args) ? null : args.targetViewId;
+	var container = context.options.container;
+	var form = context.options.form;
+	thisDialogContext = null;
+	if(context.parentDialogId) {
+		var p = context.topWindow.dialogs[context.parentDialogId];
+		context.topWindow.currentDialog = p;
+		context.topWindow.currentDialog.shape.borders.setVisible(true);
+		p.hidden = false;
+		if(p && p.iframe) {
+			Element.setStyle(p.iframe, {"visibility" : "visible" });
+		}
+	}
+	try {
+		enableDocumentFocusElements(container.id);
+		var pdw = context.getParentDialogWindow();
+		var g = pdw.document.getElementById(context.linkId);
+		context._destroy();
+		var ps = pdw.createObject();
+		ps[context.dialogId] = context.dialogId;
+///		alert(context.dialogId);
+		ps['action'] = 'close';
+
+		if(targetViewId) {
+			var ii = targetViewId.indexOf('?');
+			if(ii > 0) {
+				ps['targetViewId'] = targetViewId.substring(0, ii);
+			} else {
+				ps['targetViewId'] = targetViewId;
+			}
+		}
+		var gevent = pdw.createObject();
+		gevent.target = g;
+		gevent.srcElement = g;
+
+		var parameters = pdw.createObject();
+		parameters['parameters'] = ps;
+
+		var theForm = pdw.window.document.getElementById(form);
+		var action = null;
+			
+		if (context.persistentDialogPath) {
+			var path = context.persistentDialogPath;
+			var ii = path.indexOf('?');
+			if(ii > 0) {
+				action = theForm.action + path.substring(ii);
+			}
+		}
+
+		if (action) {
+			parameters.actionUrl = action;
+		}
+
+		pdw.A4J.AJAX.Submit(container,form,gevent,parameters);
+		
+		return false;
+	} catch(e) {
+		alert(e.message);
+	}
+	return false;
+}
+
+function closeAll(args) {
+	if(!thisDialogContext) return;
+	var context = thisDialogContext;
+	var id = (!args) ? null : args.id;
+	var targetViewId = (!args) ? null : args.targetViewId;
+	var container = context.options.container;
+	var form = context.options.form;
+	thisDialogContext = null;
+	if(context.parentDialogId) {
+		context.topWindow.currentDialog.shape.borders.setVisible(true);
+		context.topWindow.currentDialog = context.topWindow.dialogs[context.parentDialogId];
+	}
+	try {
+		context._destroy();
+		if(!context.parentDialogId) {
+			var pdw = context.parentDialogWindow;
+			var g = pdw.document.getElementById(context.linkId);
+			var ps = pdw.createObject();
+			ps[context.dialogId] = context.dialogId;
+			ps['action'] = 'closeall';
+			if(targetViewId) {
+				ps['targetViewId'] = targetViewId;
+			}
+			var gevent = pdw.createObject();
+			gevent.target = g;
+			gevent.srcElement = g;
+
+			var parameters = pdw.createObject();
+			parameters['parameters'] = ps;
+
+			var theForm = pdw.window.document.getElementById(form);
+			var action = null;
+			
+			if (context.persistentDialogPath) {
+				var path = context.persistentDialogPath;
+				var ii = path.indexOf('?');
+				if(ii > 0) {
+					action = theForm.action + path.substring(ii);
+				}
+			}
+
+			if (action) {
+				parameters.actionUrl = action;
+			}
+	
+			pdw.A4J.AJAX.Submit(container,form,gevent,parameters);
+			return false;
+		} else {
+			return context.parentDialogWindow.closeAll(args);
+		}
+	} catch(e) {
+		alert(e.message);
+	}
+	return false;
+}
+
+DialogContext.submitDialogAction = function(formId, dialogId, options) {
+	try {
+		var parentForm = document.forms[formId];
+		if(parentForm == null) {
+			alert('Cannot find form ' + formId);
+			return false;
+		}
+
+		if(options && options.parameters) {
+			for (var x in options.parameters) {
+				if(x == dialogId) continue;
+				addHiddenToForm(parentForm, "" + x, options.parameters[x]);
+			}
+		}
+		addHiddenToForm(parentForm, dialogId, dialogId);
+		parentForm.submit();
+		return false;
+	} catch (e) {
+    	alert('Error in DialogContext.submitDialogAction: ' + e.message);
+	}
+}
+
+function addHiddenToForm(parentForm, name, value) {
+	var fInput = parentForm[name];
+	if(fInput==null) {
+		fInput = document.createElement("input");
+		fInput.type = "hidden";
+		fInput.name = name;
+		parentForm.appendChild(fInput);
+	}
+	fInput.value = value;
+}
+
+function getBase() {
+	return (document.compatMode && document.compatMode.toLowerCase() == "css1compat" && 
+					!/Netscape|Opera/.test(navigator.userAgent)) ?
+		document.documentElement : (document.body || null);
+}
+
+function setImagesToButton(element, images) {
+	if (!Exadel) return;
+	Exadel.setImages(element, images);
+}
+
+DW = {
+	isIE: window.navigator.userAgent.indexOf("MSIE") > 0,
+	isNS: window.navigator.userAgent.indexOf("Netscape") > 0,
+	isFF: window.navigator.userAgent.indexOf("Firefox") > 0
+};
+
+DW.close = function() {
+	closeDialog();
+}
+
+DW.closeAll = function() {
+	closeAll();
+}
+
+DW.open = function(id, referenceId)  {
+	if(!id) return;
+	var element = $(id + "_a");
+	if(element) {
+		if(referenceId) {
+			element.posReferenceId = referenceId;
+		}
+		if(element.click) {
+			element.click();
+		} else if(element.href && element.onclick) {
+			try {
+				var gevent = {};
+				gevent.target = element;
+				gevent.srcElement = element;
+				element.onclick.call(element, gevent);
+			} catch (e) {
+				alert("Error in DW.open: " + e.message);
+			}
+		}
+	}
+}
+
+DW.Shape = Class.create();
+
+DW.Shape.prototype = {
+	
+	initialize: function(context) {
+		this.context = context;
+		this.posx = new DW.Unit(this, 'posx');
+		this.posy = new DW.Unit(this, 'posy');
+		this.width = new DW.Unit(this, 'width');
+		this.height = new DW.Unit(this, 'height');
+		this.borders = new DW.Borders(this);
+		
+		this.maxWidth = new DW.Unit(this, 'maxWidth');
+		this.maxHeight = new DW.Unit(this, 'maxHeight');
+		this.posFunction = null;
+		this.posReferenceId = null;
+	},
+	
+	init: function(div, options) {
+		this.div = div;
+		this.posx.init(div, options);
+		this.posy.init(div, options);
+		this.width.init(div, options);
+		this.height.init(div, options);
+		this.maxWidth.init(div, options);
+		this.maxHeight.init(div, options);
+
+		this.posFunction = options["posFunction"];
+		this.posReferenceId = options["posReferenceId"];
+		
+		this.dialogWidth = 10;
+		this.dialogHeight = 10;
+
+		this.borders.init(options);
+	},
+	
+	resize: function() {
+		if(this.context && this.context.dragging) return;
+		if(this.width.value < 0 || this.height.value < 0) {
+			this.setDefaultSize();
+			return;
+		}
+		
+		var parentPositionObject = this.context.parentDialogWindow.getBase();
+		var topPositionObject = this.context.topWindow.getBase();
+
+		this.computeSize(parentPositionObject, topPositionObject);
+		this.computePosition(parentPositionObject, topPositionObject);
+		this.borders.resize();
+	},
+	
+	computeSize: function(parentPositionObject, topPositionObject) {
+		this.computeMaximumSize(parentPositionObject, topPositionObject);
+
+		if(this.width.isRelative) {
+			this.width.pixelValue = topPositionObject.clientWidth * this.width.value / 100;
+		} else {
+			this.width.pixelValue = this.width.value;
+		}
+		this.dialogWidth = this.width.pixelValue + this.width.delta;
+		if(this.maxWidth.pixelValue > 0 && this.maxWidth.pixelValue < this.dialogWidth) {
+			this.width.pixelValue += this.maxWidth.pixelValue - this.dialogWidth;
+			this.dialogWidth = this.maxWidth.pixelValue;
+		}
+		if(this.dialogWidth < 10) this.dialogWidth = 10;
+		this.div.style.width = "" + this.dialogWidth + "px";
+		
+		if(this.height.isRelative) {
+			this.height.pixelValue = topPositionObject.clientHeight * this.height.value / 100;
+		} else {
+			this.height.pixelValue = this.height.value;
+		}
+		this.dialogHeight = this.height.pixelValue + this.height.delta;
+		if(this.maxHeight.pixelValue > 0 && this.maxHeight.pixelValue < this.dialogHeight) {
+			this.height.pixelValue += this.maxHeight.pixelValue - this.dialogHeight;
+			this.dialogHeight = this.maxHeight.pixelValue;
+		}
+		if(this.dialogHeight < 10) this.dialogHeight = 10;
+		this.div.style.height = "" + this.dialogHeight + "px";
+		this.kick();
+	},
+	
+	computeMaximumSize: function(parentPositionObject, topPositionObject) {
+		if(this.maxWidth.value <= 0) {
+			this.maxWidth.pixelValue = -1;
+		} else if(this.maxWidth.isRelative) {
+			this.maxWidth.pixelValue = topPositionObject.clientWidth * this.maxWidth.value / 100;
+		} else {
+			this.maxWidth.pixelValue = this.maxWidth.value;
+		}
+			
+		if(this.maxHeight.value <= 0) {
+			this.maxHeight.pixelValue = -1;
+		} else if(this.maxHeight.isRelative) {
+			this.maxHeight.pixelValue = topPositionObject.clientHeight * this.maxHeight.value / 100;
+		} else {
+			this.maxHeight.pixelValue = this.maxHeight.value;
+		}
+	},
+
+	computePosition: function(parentPositionObject, topPositionObject) {
+		if(this.posFunction) {
+			if(!this.functionApplied) {
+				this.functionApplied = true
+			try {
+				var _posRefId = (this.posReferenceId) ? "'" + this.posReferenceId + "'" : "'" + this.context.linkId + "'";
+				eval(this.posFunction + "('" + this.div.id + "', " + _posRefId + ");");
+					var a = this.div.offsetLeft;
+					var b = this.div.offsetTop;
+				if(this.div.style.left) {
+					this.posx.pixelValue = parseInt(this.div.style.left);
+				} else {
+					this.posx.pixelValue = 0;
+				}
+				if(this.div.style.top) {
+					this.posy.pixelValue = parseInt(this.div.style.top);
+				} else {
+					this.posy.pixelValue = 0;
+				}
+			} catch (e) {
+				alert('Error in calling posFunction=' + this.posFunction + ": " + e.message);
+				this.computePositionInternal(parentPositionObject, topPositionObject);
+			}
+			}
+		} else {
+			this.computePositionInternal(parentPositionObject, topPositionObject);
+		}
+		this.kick();
+	},
+	
+	computePositionInternal: function(parentPositionObject, topPositionObject) {
+		if(this.posx.isRelative) {
+			this.posx.pixelValue = (topPositionObject.clientWidth * this.posx.value / 100 + topPositionObject.scrollLeft - this.width.pixelValue * this.posx.value / 100);
+		} else {
+			this.posx.pixelValue = topPositionObject.scrollLeft + this.posx.value;
+		}
+		this.div.style.left = "" + (this.posx.pixelValue + this.posx.delta) + "px";
+
+		if(this.posy.isRelative) {
+			this.posy.pixelValue = (topPositionObject.clientHeight * this.posy.value / 100 + topPositionObject.scrollTop - this.height.pixelValue * this.posy.value / 100);
+		} else {
+			this.posy.pixelValue = topPositionObject.scrollTop + this.posy.value;
+		}
+		this.div.style.top = "" + (this.posy.pixelValue + this.posy.delta) + "px";
+		this.kick();
+	},
+	
+	setDefaultSize: function() {
+		if(!this.context.dialogWindow) return;
+		var parentPositionObject = this.context.parentDialogWindow.getBase();
+		var topPositionObject = this.context.topWindow.getBase();
+
+		var dw = this.width.value < 0;
+		var dh = this.height.value < 0;
+		if(!dw && !dh) return;
+		this.isSettingDefaultSize = true;
+		if(dw) {
+			this.width.value = 50;
+			this.width.isRelative = true;
+		}
+		if(dh) {
+			this.height.value = 50;
+			this.height.isRelative = false;
+		}
+		this.computeSize(parentPositionObject, topPositionObject);
+			var _d = this.context.dialogWindow.document.documentElement;
+			var _b = this.context.dialogWindow.document.body;
+		var base = (DW.isNS) ? _d :
+				   (DW.isFF && _b.offsetWidth == _b.scrollWidth) ? _d
+							 : _b;
+		if(dw) {
+			var a = base.offsetWidth;
+			var b = base.clientWidth;
+			var c = base.scrollWidth;
+			var res = c;
+			if(DW.isIE) {
+				res += a - b;
+			}			
+			this.width.value = res;
+			this.width.isRelative = false;
+			this.computeSize(parentPositionObject, topPositionObject);
+		}
+		if(dh) {
+			this.height.value = base.scrollHeight;
+			this.computeSize(parentPositionObject, topPositionObject);
+		}
+		this.isSettingDefaultSize = false;
+
+		this.computePosition(parentPositionObject, topPositionObject);
+		this.borders.resize();
+	},
+	
+	kick: function() {
+		var scr_w = this.context.dialogWindow.document.body.scrollWidth;
+		var offw = this.context.dialogWindow.document.body.offsetWidth;
+		var cl_w = this.context.dialogWindow.document.body.clientWidth;
+
+		var off_d_w = this.context.dialogWindow.document.documentElement.offsetWidth;
+		var cli_d_w = this.context.dialogWindow.document.documentElement.clientWidth;
+		var scr_d_w = this.context.dialogWindow.document.documentElement.scrollWidth;
+
+		var scr_h = this.context.dialogWindow.document.body.scrollHeight;
+		var offh = this.context.dialogWindow.document.body.offsetHeight;
+		var cl_h = this.context.dialogWindow.document.body.clientHeight;
+
+		var off_d_h = this.context.dialogWindow.document.documentElement.offsetHeight;
+		var cli_d_h = this.context.dialogWindow.document.documentElement.clientHeight;
+		var scr_d_h = this.context.dialogWindow.document.documentElement.scrollHeight;
+/*
+		alert(
+			  "scrollWidth=" + this.context.dialogWindow.document.body.scrollWidth 
+			+ "\nde_scrollWidth=" + this.context.dialogWindow.document.documentElement.scrollWidth 
+			+ "\noffsetWidth=" + this.context.dialogWindow.document.body.offsetWidth 
+			+ "\nde_offsetWidth=" + this.context.dialogWindow.document.documentElement.offsetWidth 
+			+ "\nclientWidth=" + this.context.dialogWindow.document.body.clientWidth 
+			+ "\nde_clientWidth=" + this.context.dialogWindow.document.documentElement.clientWidth 
+
+			+ "scrollHeight=" + this.context.dialogWindow.document.body.scrollHeight 
+			+ "\nde_scrollHeight=" + this.context.dialogWindow.document.documentElement.scrollHeight 
+			+ "\noffsetHeight=" + this.context.dialogWindow.document.body.offsetHeight
+			+ "\nde_offsetHeight=" + this.context.dialogWindow.document.documentElement.offsetHeight 
+			+ "\nclientHeight=" + this.context.dialogWindow.document.body.clientHeight 
+			+ "\nde_clientHeight=" + this.context.dialogWindow.document.documentElement.clientHeight 
+
+			+ "\ncw=" + this.width.pixelValue + "\n" + 
+			+ "agent=" + window.navigator.userAgent
+			);
+*/
+	},
+	
+	destroy: function() {
+		this.borders.destroy();
+	}
+	
+}
+
+DW.Unit = Class.create();
+
+DW.Unit.prototype = {
+
+	initialize: function(shape, name) {
+		this.shape = shape;
+		this.name = name;
+		this.value = 50;
+		this.isRelative = true;
+		this.pixelValue = 0;
+		this.delta = 0;
+	},
+	
+	init: function(div, options) {
+		this.div = div;
+		var v = options[this.name];
+//		alert(name + ":" + v);
+		if(!v) v = "50%";
+		i = v.indexOf("%");
+		if(i >= 0) {
+			this.isRelative = true;
+			v = v.substring(0, i);
+		} else {
+			this.isRelative = false;
+		}
+		this.value = parseInt(v);
+	}
+}
+
+DW.Borders = Class.create();
+
+DW.Borders.prototype = {
+	initialize: function(shape) {
+		this.shape = shape;	
+		this.W = new DW.Border_W(shape);
+		this.E = new DW.Border_E(shape);
+		this.N = new DW.Border_N(shape);
+		this.S = new DW.Border_S(shape);
+		this.NW = new DW.Border_NW(shape);
+		this.NE = new DW.Border_NE(shape);
+		this.SW = new DW.Border_SW(shape);
+		this.SE = new DW.Border_SE(shape);
+		this.Move = new DW.Border_Move(shape);
+		this.all = [];
+	},
+	
+	init: function(options) {
+		var _float = options._float;
+		if(_float && _float == 'false') _float = false;
+		this.shape.headerHeight = options.headerHeight;
+		var resizable = options.resizable;
+		if(resizable && resizable == 'false') resizable = false;
+
+		this.destroy();
+
+		if(!_float && !resizable) {
+			this.all = [];
+		} else if(_float && resizable) {
+			this.all = [this.W, this.N, this.E, this.S, this.NW, this.NE, this.SW, this.SE, this.Move];
+		} else if(_float) {
+			this.all = [this.Move];
+		} else {
+			this.all = [this.W, this.N, this.E, this.S, this.NW, this.NE, this.SW, this.SE    ];
+		}
+
+		for (var k = 0; k < this.all.length; k++) {
+			this.all[k].init();
+		}
+	},
+	
+	resize: function() {
+		var b = (!this.shape.context) ? true : false;
+		if(b || !this.shape.context.dragging) {
+			for (var k = 0; k < this.all.length; k++) {
+				this.all[k].resize();
+			}
+		}
+	},
+
+	setVisible: function(b) {
+		for (var k = 0; k < this.all.length; k++) {
+			this.all[k].setVisible(b);
+		}
+	},
+	
+	destroy: function() {
+		for (var k = 0; k < this.all.length; k++) {
+			this.all[k].destroy();
+		}
+	}
+	
+}
+
+DW.Border_Abstract = {
+
+	initialize: function(shape) {
+		this.shape = shape;
+		this.div = null;
+	},
+
+	init: function() {
+		var doc = this.shape.context.topWindow.document;
+
+		if(this.div && this.div.parentNode) {
+			//reuse
+		} else if(DW.isIE && this.narrow) {
+			this.div = doc.createElement("table");
+			this.div.cellSpacing = 0;
+			this.div.cellPadding = 0;
+			this.div.border = 0;
+			var b = doc.createElement("tbody");
+			var r = doc.createElement("tr");
+			this.td = doc.createElement("td");
+			Element.setStyle(this.td, {"border" : "0px" });
+			Element.setStyle(this.td, {"background-color" : "black" });
+			r.appendChild(this.td);
+			b.appendChild(r);
+			this.div.appendChild(b);
+		} else {
+			this.div = doc.createElement("div");
+			this.td = this.div;
+		}
+
+		this.div.id = this.shape.context.divId + "_" + this.getDirectionID();
+		this.div.style.position = "absolute";
+		Element.setStyle(this.div, {"z-index" : "100" });
+		Element.setStyle(this.td, {"z-index" : "100" });
+		Element.setStyle(this.div, {"cursor" : this.getCursorName() });
+		Element.setStyle(this.div, {"background-color" : "#00d000" });
+		this.div.style.filter="alpha(opacity=1)";
+		this.div.style.opacity = "0.01";
+		this.setDimensions();
+
+		doc.body.appendChild(this.div);
+		this.createDragRecognizer();
+	},
+
+	setCursor: function() {
+		Element.setStyle(this.div, {"cursor" : this.getCursorName() });
+		this.shape.context.topWindow.status = "Cursor set";
+	},
+	
+	setTop: function(value) {
+		this.div.style.top = "" + value + "px";
+	},
+	
+	setLeft: function(value) {
+		this.div.style.left = "" + value + "px";
+	},
+	
+	setWidth: function(value) {
+		if(value < 0) value = 0;
+		this.td.style.width = "" + value + "px";
+	},
+	
+	setHeight: function(value) {
+		if(value < 0) value = 0;
+		this.td.style.height = "" + value + "px";
+	},
+	
+	createDragRecognizer: function() {
+	 	this.eventMouseDown = this.recognizeDrag.bindAsEventListener(this);
+		Event.observe(this.div, "mousedown", this.eventMouseDown);
+		this.eventMouseMove = this.drag.bindAsEventListener(this);
+		Event.observe(this.div, "mousemove", this.eventMouseMove);
+		this.eventMouseUp = this.dragEnd.bindAsEventListener(this);
+		Event.observe(this.div, "mouseup", this.eventMouseUp);
+	},
+
+	recognizeDrag: function(event) {
+	try {
+		this.shape.context.dragging = {};
+		this.x0 = event.clientX;
+		this.y0 = event.clientY;
+		this.dx = 0;
+		this.dy = 0;
+		var po = this.shape.context.topWindow.getBase();
+		this.setLeft(0);
+		this.setTop(0);
+		this.setWidth(po.scrollLeft + po.clientWidth);
+		this.setHeight(po.scrollTop + po.clientHeight);
+//		this.cursor = this.shape.context.topWindow.document.body.style.cursor;
+//		this.shape.context.topWindow.document.body.style.cursor = this.div.style.cursor;
+		Element.setStyle(this.div, {"z-index" : "101" });
+		Element.setStyle(this.td, {"z-index" : "101" });
+	} catch (e) {
+		alert('Error in recognizeDrag' + e.message);
+	}
+	},
+	
+	drag: function(event) {
+		if(!this.shape.context.dragging) return false;
+		this.dx = event.clientX - this.x0;
+		this.dy = event.clientY - this.y0;
+		this.doDrag(event);
+		this.shape.context.filler.iterate();
+//		this.setCursor();
+	},
+	
+	dragEnd: function(event) {
+		if(!this.shape.context.dragging) return false;
+		this.shape.context.dragging = null;
+		this.setDimensions();
+		this.doDragEnd();
+		this.shape.context._doResize();
+		Element.setStyle(this.div, {"z-index" : "100" });
+		Element.setStyle(this.td, {"z-index" : "100" });
+//		this.shape.context.topWindow.document.body.style.cursor = this.cursor;
+	},
+
+	setVisible: function(b) {
+		Element.setStyle(this.div, {"visibility" : ((b) ? "visible" : "hidden") });
+	},
+
+	destroy: function() {
+		if(this.div && this.div.parentNode) {
+			if(this.eventMouseDown) {
+				Event.stopObserving(this.div, "mousedown", this.eventMouseDown);
+				Event.stopObserving(this.div, "mousemove", this.eventMouseMove);
+				Event.stopObserving(this.div, "mouseup", this.eventMouseUp);
+				this.eventMouseDown = null;
+				this.eventMouseMove = null;
+				this.eventMouseUp = null;
+			}
+			this.div.parentNode.removeChild(this.div);
+			this.div = null;
+		}
+	},
+	
+	getNewDimension: function(sx, sy) {
+		return [this.getNewWidth(sx), this.getNewHeight(sy)];
+	},
+	
+	getNewWidth: function(sx) {
+		if(sx == 0) return -1;
+		var newWidth = (this.shape.width.pixelValue + this.shape.width.delta + sx * this.dx);
+		var delta = 0;
+		if(newWidth < 20) {
+			delta = 20 - newWidth;
+		} else if(this.shape.maxWidth.pixelValue > 0 && newWidth > this.shape.maxWidth.pixelValue) {
+			delta = newWidth - this.shape.maxWidth.pixelValue;
+		}
+		if(delta == 0) return newWidth;
+		this.dx += sx * delta;
+		return -1;
+	},
+	
+	getNewHeight: function(sy) {
+		if(sy == 0) return -1;
+		var newHeight = (this.shape.height.pixelValue + this.shape.height.delta + sy * this.dy);
+		var delta = 0;
+		if(newHeight < 20) {
+			delta = 20 - newHeight;
+		} else if(this.shape.maxHeight.pixelValue > 0 && newHeight > this.shape.maxHeight.pixelValue) {
+			delta = newHeight - this.shape.maxHeight.pixelValue;
+		}
+		if(delta == 0) return newHeight;
+		this.dy += sy * delta;
+		return -1;
+	}
+	
+}
+
+DW.Border_W = Class.create();
+
+DW.Border_W.prototype = {
+
+	getDirectionID: function() {
+		return "w";
+	},
+	getCursorName: function() {
+		return "w-resize";
+	},
+	
+	setDimensions: function() {
+		this.setWidth(4);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta + 4);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta - 2);
+		this.setHeight(this.shape.dialogHeight - 8);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(-1, 0);
+		if(dim[0] > 0) {
+			this.shape.div.style.width = "" + dim[0] + "px";
+			this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.posx.delta += this.dx;
+		this.shape.width.delta -= this.dx;
+	}
+	
+}
+
+Object.extend(DW.Border_W.prototype, DW.Border_Abstract);
+
+DW.Border_E = Class.create();
+
+DW.Border_E.prototype = {
+
+	getDirectionID: function() {
+		return "e";
+	},
+	getCursorName: function() {
+		return "e-resize";
+	},
+	
+	setDimensions: function() {
+		this.setWidth(4);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta + 4);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta +
+					 this.shape.width.pixelValue + this.shape.width.delta - 2);
+		this.setHeight(this.shape.dialogHeight - 8);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(1, 0);
+		if(dim[0] > 0) {
+			this.shape.div.style.width = "" + dim[0] + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.width.delta += this.dx;
+	}
+	
+}
+
+Object.extend(DW.Border_E.prototype, DW.Border_Abstract);
+
+DW.Border_N = Class.create();
+
+DW.Border_N.prototype = {
+	narrow : true,
+
+	getDirectionID: function() {
+		return "n";
+	},
+	getCursorName: function() {
+		return "n-resize";
+	},
+	
+	setDimensions: function() {
+		this.setHeight(4);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta - 2);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta + 4);
+		this.setWidth(this.shape.dialogWidth - 8);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(0, -1);
+		if(dim[1] > 0) {
+			this.shape.div.style.height = "" + dim[1] + "px";
+			this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.posy.delta += this.dy;
+		this.shape.height.delta -= this.dy;
+	}
+	
+}
+
+Object.extend(DW.Border_N.prototype, DW.Border_Abstract);
+
+DW.Border_S = Class.create();
+
+DW.Border_S.prototype = {
+	narrow : true,
+
+	getDirectionID: function() {
+		return "s";
+	},
+	getCursorName: function() {
+		return "s-resize";
+	},
+	
+	setDimensions: function() {
+		this.setHeight(4);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta +
+					this.shape.height.pixelValue + this.shape.height.delta - 2);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta + 4);
+		this.setWidth(this.shape.dialogWidth - 8);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(0, 1);
+		if(dim[1] > 0) {
+			this.shape.div.style.height = "" + dim[1] + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.height.delta += this.dy;
+	}
+	
+}
+
+Object.extend(DW.Border_S.prototype, DW.Border_Abstract);
+
+DW.Border_NW = Class.create();
+
+DW.Border_NW.prototype = {
+
+	getDirectionID: function() {
+		return "nw";
+	},
+	getCursorName: function() {
+		return "nw-resize";
+	},
+	
+	setDimensions: function() {
+		this.setWidth(8);
+		this.setHeight(8);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta - 2);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta - 2);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(-1, -1);
+		if(dim[1] > 0) {
+			this.shape.div.style.height = "" + dim[1] + "px";
+			this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+		}
+		if(dim[0] > 0) {
+			this.shape.div.style.width = "" + dim[0] + "px";
+			this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.posy.delta += this.dy;
+		this.shape.height.delta -= this.dy;
+		this.shape.posx.delta += this.dx;
+		this.shape.width.delta -= this.dx;
+	}
+	
+}
+
+Object.extend(DW.Border_NW.prototype, DW.Border_Abstract);
+
+DW.Border_NE = Class.create();
+
+DW.Border_NE.prototype = {
+
+	getDirectionID: function() {
+		return "ne";
+	},
+	getCursorName: function() {
+		return "ne-resize";
+	},
+	
+	setDimensions: function() {
+		this.setWidth(8);
+		this.setHeight(8);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta - 2);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta +
+					 this.shape.width.pixelValue + this.shape.width.delta - 6);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(1, -1);
+		if(dim[1] > 0) {
+			this.shape.div.style.height = "" + dim[1] + "px";
+			this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+		}
+		if(dim[0] > 0) {
+			this.shape.div.style.width = "" + dim[0] + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.posy.delta += this.dy;
+		this.shape.height.delta -= this.dy;
+		this.shape.width.delta += this.dx;
+	}
+	
+}
+
+Object.extend(DW.Border_NE.prototype, DW.Border_Abstract);
+
+DW.Border_SW = Class.create();
+
+DW.Border_SW.prototype = {
+	narrow : true,
+
+	getDirectionID: function() {
+		return "sw";
+	},
+	getCursorName: function() {
+		return "sw-resize";
+	},
+	
+	setDimensions: function() {
+		this.setWidth(8);
+		this.setHeight(8);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta +
+					this.shape.height.pixelValue + this.shape.height.delta - 6);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta - 2);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(-1, 1);
+		if(dim[1] > 0) {
+			this.shape.div.style.height = "" + dim[1] + "px";
+		}
+		if(dim[0] > 0) {
+			this.shape.div.style.width = "" + dim[0] + "px";
+			this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.height.delta += this.dy;
+		this.shape.posx.delta += this.dx;
+		this.shape.width.delta -= this.dx;
+	}
+	
+}
+
+Object.extend(DW.Border_SW.prototype, DW.Border_Abstract);
+
+DW.Border_SE = Class.create();
+
+DW.Border_SE.prototype = {
+	narrow : true,
+
+	getDirectionID: function() {
+		return "se";
+	},
+	getCursorName: function() {
+		return "se-resize";
+	},
+	
+	setDimensions: function() {
+		this.setWidth(8);
+		this.setHeight(8);
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta +
+					this.shape.height.pixelValue + this.shape.height.delta - 6);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta +
+					this.shape.width.pixelValue + this.shape.width.delta - 6);
+	},
+
+	doDrag: function(event) {
+		var dim = this.getNewDimension(1, 1);
+		if(dim[1] > 0) {
+			this.shape.div.style.height = "" + dim[1] + "px";
+		}
+		if(dim[0] > 0) {
+			this.shape.div.style.width = "" + dim[0] + "px";
+		}
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.height.delta += this.dy;
+		this.shape.width.delta += this.dx;
+	}
+	
+}
+
+Object.extend(DW.Border_SE.prototype, DW.Border_Abstract);
+
+
+DW.Border_Move = Class.create();
+
+DW.Border_Move.prototype = {
+
+	getDirectionID: function() {
+		return "m";
+	},
+	getCursorName: function() {
+		return "move";
+	},
+	
+	setDimensions: function() {
+		try {
+			this.td.style.height = this.shape.headerHeight;
+		} catch (e) {
+			alert("Invalid headerHeight: " + this.shape.headerHeight);
+			this.shape.headerHeight = "16px";
+			this.td.style.height = this.shape.headerHeight;
+		}
+	},
+
+	resize : function() {
+		this.setTop(this.shape.posy.pixelValue + this.shape.posy.delta + 4);
+		this.setLeft(this.shape.posx.pixelValue + this.shape.posx.delta + 4);
+		this.setWidth(this.shape.dialogWidth - 8);
+	},
+
+	doDrag: function(event) {
+		this.shape.div.style.left = "" + (this.shape.posx.pixelValue + this.shape.posx.delta + this.dx) + "px";
+		this.shape.div.style.top = "" + (this.shape.posy.pixelValue + this.shape.posy.delta + this.dy) + "px";
+	},
+	
+	doDragEnd: function(event) {
+		this.shape.posx.delta += this.dx;
+		this.shape.posy.delta += this.dy;
+	}
+	
+}
+
+Object.extend(DW.Border_Move.prototype, DW.Border_Abstract);
+
+
+DW.Filler = Class.create();
+
+DW.Filler.prototype = {
+	initialize: function(context) {
+		this.context = context;
+		this.ok = false;
+	},
+
+	onLoad: function() {
+		var w = this.context.dialogWindow;
+		if(!w || !w.document.getElementsByClassName) return;
+		this.fillers = w.document.getElementsByClassName('filler');
+		if(!this.fillers) return;
+		if(this.fillers.length == 0) return;
+	},
+	
+	enable: function() {
+		this.ok = true;
+	},
+
+	iterate: function() {
+		if(!this.ok) return;
+		this.context.shape.kick();
+		var delta = this.getDelta();
+		var iterations = 0;
+		while(delta != 0 && iterations < 20) {		
+			this.apply(delta);
+			this.context.shape.kick();
+			var d = this.getDelta();
+			if(d == delta) break;
+			delta = d;
+			iterations++;
+		}
+	},
+
+	getDelta: function() {
+		var w = this.context.dialogWindow;
+		var a = w.document.body.offsetHeight;
+		var b = w.document.body.clientHeight;
+		var c = w.document.body.scrollHeight;
+		var wH = this.context.iframe.clientHeight;
+		var sH = 0;
+		if(DW.isIE) {
+			sH = c + (a - b); //IE
+		} else if(b > a) {
+			sH = a; //FF
+		} else {
+			sH = c; //IE & NS
+		}
+		if(sH == 0) sH = c;
+	
+		return (wH - sH);
+	},
+	
+	apply: function(delta) {
+		var l = this.fillers.length;
+		for (var k = 0; k < l; k++) {
+			var delta_k = delta / l;
+			var v = this.fillers[k].offsetHeight;
+			if(v == 0) {
+				try {
+					var v0 = parseInt(this.fillers[k].style.height);
+					if(v0) v = v0;
+				} catch (e) {
+				}
+			}
+			if(v + delta_k < 0) delta_k = -v;
+			v += delta_k;
+			Element.setStyle(this.fillers[k], { "height" : "" + v + "px" });
+		}
+	}
+
+}
+
+DW.showJustBelowAndCentered = function(dialogId, referenceId) {
+	var dialog = $(dialogId);
+	if(!dialog) return;
+	var reference = (!referenceId) ? dialog : $(referenceId);
+	if(!reference) reference = dialog;
+	var pos = Position.cumulativeOffset(reference);
+	var referenceLeft = pos[0];
+	var referenceTop = pos[1];
+	var top = referenceTop + reference.offsetHeight;
+	var left = referenceLeft - (dialog.offsetWidth - reference.offsetWidth) / 2;
+
+	dialog.style.left = "" + left + "px";
+	dialog.style.top = "" + top + "px";
+}
+
+DW.getDialogContext = function() {
+	return thisDialogContext;
+}
+
+function disableDocumentFocusElements(id){
+	//this function removes all links and inputs from tabbing navigation
+	//if element have tabindex it value saves in component
+	var links = document.links;
+	var forms = document.forms;
+	if(links)
+		for (var i=0; i<links.length; i++)
+			if(!this.isInMP(links[i],id)){
+				if (links[i].tabIndex)
+					links[i].prevTabIndex = document.links[i].tabIndex;
+				links[i].tabIndex = -1;
+			}
+	if (forms)
+		for (var i=0; i<forms.length; i++)
+			for (var j=0; j<forms[i].length; j++)
+				if(!this.isInMP(forms[i][j],id)){
+					if (forms[i][j].tabIndex)
+						forms[i][j].prevTabIndex = forms[i][j].tabIndex;
+					forms[i][j].tabIndex = -1;
+				}
+}
+
+function enableDocumentFocusElements(id){
+		//this function restores state of elements tabindex
+		var links = top.document.links;
+		var forms = top.document.forms;
+		if(links)
+			for (var i=0; i<links.length; i++)
+				if(!this.isInMP(links[i],id))
+					if (links[i].prevTabIndex)
+						links[i].tabIndex = links[i].prevTabIndex;
+					else 
+						links[i].tabIndex = 0;
+		if (forms)
+			for (var i=0; i<document.forms.length; i++)
+				for (var j=0; j<document.forms[i].length; j++)
+					if(!this.isInMP(document.forms[i][j],id))
+						if (forms[i][j].prevTabIndex)
+							forms[i][j].tabIndex = forms[i][j].prevTabIndex;
+						else
+							forms[i][j].tabIndex = 0;
+}
+
+function isInMP (elem,id){
+		while (elem.parentNode.tagName.toLowerCase() != "body")
+			if (elem.parentNode.id == id)
+				return true;
+			else
+				elem = elem.parentNode;
+		return false;
+}
\ No newline at end of file

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,7 @@
+.filler {
+	width:0px;
+	height:0px;
+	border:0px;
+	padding:0px 0px 0px 0px;
+	margin:0px 0px 0px 0px;
+}
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/dialog-window.css
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/resources/org/richfaces/renderkit/style/tmp
===================================================================

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,35 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogButtonRenderer"
+	    class="org.richfaces.renderkit.DialogButtonTemplate"
+        component="org.richfaces.component.UIDialogButton">
+ 
+ 		<f:clientId var="clientId" />                       
+                        
+                        <button 	id="#{clientId}"
+                        			dir="#{component.attributes['dir']}"
+                                    lang="#{component.attributes['lang']}"
+                                    title="#{component.attributes['title']}"
+                                    style="#{component.attributes['style']}"
+                                    class="#{component.attributes['styleClass']}"
+                                    onblur="#{component.attributes['onblur']}"
+                                    ondblclick="#{component.attributes['ondblclick']}"
+                                    onfocus="#{component.attributes['onfocus']}"
+                                    onmousedown="#{component.attributes['onmousedown']}"
+                                    onmouseup="#{component.attributes['onmouseup']}"
+                                    onmouseover="#{component.attributes['onmouseover']}"
+                                    onmousemove="#{component.attributes['onmousemove']}"
+                                    onmouseout="#{component.attributes['onmouseout']}"
+                                    onkeypress="#{component.attributes['onkeypress']}"
+                                    onkeydown="#{component.attributes['onkeydown']}"
+                                    onkeyup="#{component.attributes['onkeyup']}"
+                                    accesskey="#{component.attributes['accesskey']}"
+                                    tabindex="#{component.attributes['tabindex']}"
+                                    onclick="#{this:getOnClick(context,component)}"
+                         >#{component.attributes['value']}<vcp:body/></button>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-button.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,24 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogCloseRenderer"
+	    class="org.richfaces.renderkit.DialogCloseButtonTemplate"
+        component="org.richfaces.component.UIDialogCloseButton">
+<f:clientid var="clientId"/>
+<span id="#{clientId}">
+	<button href="#" style="#{component.attributes['style']}"
+					 class="#{component.attributes['styleClass']}"
+					 onclick="#{this:getOnClick(context,component)}"
+	>
+		<f:call name="utils.encodePassThruWithExclusions">
+			<f:parameter value="onclick"/>
+		</f:call>
+		#{component.attributes['value']}<vcp:body/>
+		<script>#{this:getRegistration(context,component)}</script>
+	</button>
+</span>
+</f:root>


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close-button.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,24 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogCloseRenderer"
+	    class="org.richfaces.renderkit.DialogCloseTemplate"
+        component="org.richfaces.component.UIDialogClose">
+	<f:clientid var="clientId"/>
+	<span id="#{clientId}">
+		<a href="#" style="#{component.attributes['style']}"
+					class="#{component.attributes['styleClass']}"
+					onclick="#{this:getOnClick(context,component)}"
+		>
+			<f:call name="utils.encodePassThruWithExclusions">
+				<f:parameter value="onclick"/>
+			</f:call>
+			#{component.attributes['value']}<vcp:body/>
+		</a>
+		<script>#{this:getRegistration(context,component)}</script>
+	</span>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-close.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,23 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogLinkRenderer"
+	    class="org.richfaces.renderkit.DialogLinkTemplate"
+        component="org.richfaces.component.UIDialogLink">
+	
+	<f:clientid var="clientId"/>
+	
+	<a href="#" id="#{clientId}" style="#{component.attributes['style']}"
+                class="#{component.attributes['styleClass']}"
+                onclick="#{this:getOnClick(context,component)}"
+    >
+		<f:call name="utils.encodePassThruWithExclusions">
+			<f:parameter value="onclick"/>
+		</f:call>
+		#{component.attributes['value']}<vcp:body/>
+	</a>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-link.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,22 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogVerticalFillerRenderer"
+	    class="org.richfaces.renderkit.DialogVerticalFillerTemplate"
+        component="org.richfaces.component.UIDialogVerticalFiller">
+        	
+    <f:clientid var="clientId"/>			
+	<table border="0px" cellspacing="0" cellpadding="0" style="background-color: black;">
+		<tbody>
+			<tr>
+				<td class="filler #{component.attributes['styleClass']}" 
+					style="#{component.attributes['style']}"
+					id="#{clientId}"/>
+			</tr>
+		</tbody>
+	</table>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-vertical-filler.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,27 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogWindowRenderer"
+	    class="org.richfaces.renderkit.DialogWindowButtonTemplate"
+        component="org.richfaces.component.UIDialogWindowButton">
+        				
+	<f:clientid var="clientId"/>
+<span id="#{clientId}">
+	<button href="#" id="#{this:getLinkID(context,component)}"
+			style="#{component.attributes['style']}"
+			class="#{component.attributes['styleClass']}"
+			oncomplete="#{component.attributes['oncomplete']}"
+			onclick="#{this:getOnClick(context,component)}"
+	>
+		<f:call name="utils.encodePassThruWithExclusions">
+			<f:parameter value="onclick"/>
+		</f:call>
+		#{component.attributes['value']}<vcp:body/>
+	</button>
+	<script type="text/javascript">#{this:getDialogBox(context,component)}</script>
+</span>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-button.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,28 @@
+<?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/util"
+	    xmlns:x="http://jsf.exadel.com/mock"
+	    baseclass="org.richfaces.renderkit.DialogWindowOutputLinkRenderer"
+	    class="org.richfaces.renderkit.DialogWindowOutputLinkTemplate"
+        component="org.richfaces.component.UIDialogWindowOutputLink">
+        				
+	<f:clientid var="clientId"/>
+<span id="#{clientId}">
+	<a href="#" id="#{this:getLinkID(context,component)}"
+				style="#{component.attributes['style']}"
+				class="#{component.attributes['styleClass']}"
+				oncomplete="#{component.attributes['oncomplete']}"
+				onclick="#{this:getOnClick(context,component)}"
+				value="#{component.attributes['value']}"
+	>
+		<f:call name="utils.encodePassThruWithExclusions">
+			<f:parameter value="onclick"/>
+		</f:call>
+		<vcp:body/>
+	</a>
+	<script type="text/javascript">#{this:getDialogBox(context,component)}</script>
+</span>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window-output-link.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml
===================================================================
--- trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,28 @@
+<?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"
+	    baseclass="org.richfaces.renderkit.DialogWindowRenderer"
+	    class="org.richfaces.renderkit.DialogWindowTemplate"
+        component="org.richfaces.component.UIDialogWindow">
+        				
+	<f:clientid var="clientId"/>
+<span id="#{clientId}">
+	<a href="#" id="#{this:getLinkID(context,component)}"
+				style="#{component.attributes['style']}"
+				class="#{component.attributes['styleClass']}"
+				oncomplete="#{component.attributes['oncomplete']}"
+				onclick="#{this:getOnClick(context,component)}"
+				oncontextmenu="return false;"
+	>
+		<f:call name="utils.encodePassThruWithExclusions">
+			<f:parameter value="onclick,oncontextmenu"/>
+		</f:call>
+		#{component.attributes['value']}<vcp:body/>
+	</a>
+	<script type="text/javascript">#{this:getDialogBox(context,component)}</script>
+</span>
+</f:root>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/main/templates/dialog-window.xhtml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/sandbox/ui/dialog-window/src/test/java/package.html
===================================================================
--- trunk/sandbox/ui/dialog-window/src/test/java/package.html	                        (rev 0)
+++ trunk/sandbox/ui/dialog-window/src/test/java/package.html	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Cp1251"/>
+<title>Package description</title>
+</head>
+<body>
+</body>
+</html>
\ No newline at end of file


Property changes on: trunk/sandbox/ui/dialog-window/src/test/java/package.html
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/test-applications/facelets/pom.xml
===================================================================
--- trunk/test-applications/facelets/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/test-applications/facelets/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
   <parent>
     <artifactId>test-applications</artifactId>
     <groupId>org.richfaces</groupId>
-    <version>3.1.0-SNAPSHOT</version>
+    <version>3.1.1-SNAPSHOT</version>
   </parent>
 
 	<modelVersion>4.0.0</modelVersion>

Modified: trunk/test-applications/jsp/pom.xml
===================================================================
--- trunk/test-applications/jsp/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/test-applications/jsp/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
   <parent>
     <artifactId>test-applications</artifactId>
     <groupId>org.richfaces</groupId>
-    <version>3.1.0-SNAPSHOT</version>
+    <version>3.1.1-SNAPSHOT</version>
   </parent>
 
 	<modelVersion>4.0.0</modelVersion>

Modified: trunk/test-applications/pom.xml
===================================================================
--- trunk/test-applications/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/test-applications/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -2,7 +2,7 @@
 	<parent>
     		<artifactId>samples</artifactId>
     		<groupId>org.richfaces</groupId>
-	    	<version>3.1.0-SNAPSHOT</version>
+	    	<version>3.1.1-SNAPSHOT</version>
 		<relativePath>../samples</relativePath>
 	</parent>
 
@@ -43,11 +43,11 @@
 	<groupId>org.richfaces</groupId>
 	<artifactId>test-applications</artifactId>
 	<packaging>pom</packaging>
-	<version>3.1.0-SNAPSHOT</version>
+	<version>3.1.1-SNAPSHOT</version>
 	<name>RichFaces Test Applications</name>
 
 	<properties>
-		<rfVersion>3.1.0-SNAPSHOT</rfVersion>
+		<rfVersion>3.1.1-SNAPSHOT</rfVersion>
 	</properties>
 
 	<modules>

Modified: trunk/ui/dataTable/pom.xml
===================================================================
--- trunk/ui/dataTable/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/ui/dataTable/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -45,7 +45,7 @@
 			<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>richfaces-ui-core</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			</dependency>
 		-->
 	</dependencies>

Modified: trunk/ui/drag-drop/pom.xml
===================================================================
--- trunk/ui/drag-drop/pom.xml	2007-09-14 17:58:30 UTC (rev 2948)
+++ trunk/ui/drag-drop/pom.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -45,7 +45,7 @@
 			<dependency>
 			<groupId>org.richfaces.ui</groupId>
 			<artifactId>richfaces-ui-core</artifactId>
-			<version>3.1.0-SNAPSHOT</version>
+			<version>3.1.1-SNAPSHOT</version>
 			</dependency>
 		-->
 	</dependencies>

Added: trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml
===================================================================
--- trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml	                        (rev 0)
+++ trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml	2007-09-15 00:10:06 UTC (rev 2949)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<resource-config>
+<!-- Menu list background -->
+
+
+	<resource class="org.richfaces.renderkit.html.images.background.MenuListBackground">
+		<name>org.richfaces.renderkit.html.images.background.MenuListBackground</name>
+	</resource>
+</resource-config>


Property changes on: trunk/ui/dropdown-menu/src/main/config/resources/resources-config.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Date Revision Author




More information about the richfaces-svn-commits mailing list