portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From rwat...@apache.org
Subject svn commit: r220003 [1/2] - in /portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu: ./ css/ css/ThemeIE/ css/ThemeMiniBlack/ css/ThemeOffice/ css/ThemePanel/ images/ images/ThemeIE/ images/ThemeOffice/ images/T...
Date Thu, 21 Jul 2005 06:18:04 GMT
Author: rwatler
Date: Wed Jul 20 23:18:02 2005
New Revision: 220003

URL: http://svn.apache.org/viewcvs?rev=220003&view=rev
Log:
JSCookMenu layout decorator prototype

Added:
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/open.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/openshadow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/save.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrow.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-logo.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js   (with props)
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/
    portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js   (with props)

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css Wed Jul 20 23:18:02 2005
@@ -0,0 +1,107 @@
+/* ThemeIEMenu Style Sheet */
+
+.ThemeIEMenu,.ThemeIESubMenuTable
+{
+	cursor:		default;
+	font-family:	verdana, arial, sans-serif;
+	font-size:	13px;
+
+	padding:	0;
+	border:		0;
+	white-space:	nowrap;
+}
+
+.ThemeIEMenu
+{
+	background-color:	#F7F3EF;
+}
+
+.ThemeIESubMenu
+{
+	position:	absolute;
+	visibility:	hidden;
+
+	/*
+	   Netscape/Mozilla renders borders by increasing
+	   their z-index.  The following line is necessary
+	   to cover any borders underneath
+	*/
+	z-index:	100;
+	border:		0;
+	padding:	0;
+
+	filter:progid:DXImageTransform.Microsoft.Shadow(color=#848A84, Direction=135, Strength=4);
+}
+
+.ThemeIESubMenuTable
+{
+	border:		1px solid #ADAA9C;
+	background-color:	white;
+}
+
+.ThemeIESubMenuTable td
+{
+	white-space:	nowrap;
+}
+
+.ThemeIEMainItem,.ThemeIEMainItemHover,.ThemeIEMainItemActive,
+.ThemeIEMenuItem,.ThemeIEMenuItemHover,.ThemeIEMenuItemActive
+{
+	padding-left:	3px;
+	padding-right:	3px;
+	white-space:	nowrap;
+}
+
+.ThemeIEMainItemHover,.ThemeIEMainItemActive,
+.ThemeIEMenuItemHover,.ThemeIEMenuItemActive
+{
+	color:		white;
+	background-color:	#3169C6;
+}
+
+.ThemeIEMenuSplit
+{
+	height:		1px;
+	margin-top:	1px;
+	margin-bottom:	1px;
+	overflow:	hidden;
+	background-color:	inherit;
+	border-top:	1px solid #ADAA9C;
+}
+
+.ThemeIEMenuVSplit
+{
+	width:		1px;
+	margin:		0px;
+	overflow:	hidden;
+	background-color:	inherit;
+	border-right:	1px solid #ADAA9C;
+}
+
+/* image shadow animation */
+
+/*
+	seq1:	image for normal
+	seq2:	image for hover and active
+
+	To use, in the icon field, input the following:
+	<img class="seq1" src="normal.gif" /><img class="seq2" src="hover.gif" />
+*/
+
+.ThemeIEMenuItem img.seq1
+{
+	display:	inline;
+}
+
+.ThemeIEMenuItemHover seq2,
+.ThemeIEMenuItemActive seq2
+{
+	display:	inline;
+}
+
+.ThemeIEMenuItem .seq2,
+.ThemeIEMenuItemHover .seq1,
+.ThemeIEMenuItemActive .seq1
+{
+	display:	none;
+}

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeIE/theme.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css Wed Jul 20 23:18:02 2005
@@ -0,0 +1,70 @@
+/* ThemeMiniBlackMenu Style Sheet */
+
+.ThemeMiniBlackMenu,.ThemeMiniBlackSubMenuTable
+{
+	font-family:	verdana, arial, sans-serif;
+	font-size:	9px;
+	color:		white;
+	background-color:	black;
+
+	padding:	0;
+	border:		0;
+
+	cursor:		default;
+}
+
+.ThemeMiniBlackSubMenu
+{
+	position: absolute;
+	visibility: hidden;
+
+	/*
+	   Netscape/Mozilla renders borders by increasing
+	   their z-index.  The following line is necessary
+	   to cover any borders underneath
+	*/
+	z-index:        100;
+	border:		0;
+	padding:	0;
+}
+
+.ThemeMiniBlackSubMenuTable
+{
+	border-top:	1px solid white;
+}
+
+.ThemeMiniBlackSubMenuTable TD
+{
+	white-space:	nowrap;
+}
+
+.ThemeMiniBlackMainItem,.ThemeMiniBlackMainItemHover,.ThemeMiniBlackMainItemActive,
+.ThemeMiniBlackMenuItem,.ThemeMiniBlackMenuItemHover,.ThemeMiniBlackMenuItemActive
+{
+	white-space:	nowrap;
+}
+
+.ThemeMiniBlackMainItemHover,.ThemeMiniBlackMainItemActive,
+.ThemeMiniBlackMenuItemHover,.ThemeMiniBlackMenuItemActive
+{
+	color:		red;
+}
+
+.ThemeMiniBlackMenuSplit
+{
+	height:		1px;
+	margin-top:	1px;
+	margin-bottom:	1px;
+	overflow:	hidden;
+	background-color:	inherit;
+	border-top:	1px solid white;
+}
+
+.ThemeMiniBlackMenuVSplit
+{
+	width:		1px;
+	margin:		0px;
+	overflow:	hidden;
+	background-color:	inherit;
+	border-right:	1px solid white;
+}

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeMiniBlack/theme.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css Wed Jul 20 23:18:02 2005
@@ -0,0 +1,292 @@
+/* ThemeOfficeMenu Style Sheet */
+
+.ThemeOfficeMenu,.ThemeOfficeSubMenuTable
+{
+	font-family:	verdana, arial, sans-serif;
+	font-size:	13px;
+
+	padding:	0;
+
+	white-space:	nowrap;
+	cursor:		default;
+}
+
+.ThemeOfficeSubMenu
+{
+	position:	absolute;
+	visibility:	hidden;
+
+	/*
+	   Netscape/Mozilla renders borders by increasing
+	   their z-index.  The following line is necessary
+	   to cover any borders underneath
+	*/
+	z-index:	100;
+	border:		0;
+	padding:	0;
+
+	overflow:	visible;
+	border:		1px solid #8C867B;
+
+	filter:progid:DXImageTransform.Microsoft.Shadow(color=#BDC3BD, Direction=135, Strength=4);
+}
+
+.ThemeOfficeSubMenuTable
+{
+	overflow:	visible;
+}
+
+.ThemeOfficeMainItem,.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive,
+.ThemeOfficeMenuItem,.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive
+{
+	border:		0;
+	cursor:		default;
+	white-space:	nowrap;
+}
+
+.ThemeOfficeMainItem
+{
+	background-color:	#EFEBDE;
+}
+
+.ThemeOfficeMainItemHover,.ThemeOfficeMainItemActive
+{
+	background-color:	#C6D3EF;
+}
+
+.ThemeOfficeMenuItem
+{
+	background-color:	WHITE;
+}
+
+.ThemeOfficeMenuItemHover,.ThemeOfficeMenuItemActive
+{
+	background-color:	#C6D3EF;
+}
+
+
+/* horizontal main menu */
+
+.ThemeOfficeMainItem
+{
+	padding:	1px;
+	border:		0;
+}
+
+td.ThemeOfficeMainItemHover,td.ThemeOfficeMainItemActive
+{
+	padding:	0px;
+	border:		1px solid #3169C6;
+}
+
+.ThemeOfficeMainFolderLeft,.ThemeOfficeMainItemLeft,
+.ThemeOfficeMainFolderText,.ThemeOfficeMainItemText,
+.ThemeOfficeMainFolderRight,.ThemeOfficeMainItemRight
+{
+	background-color:	inherit;
+}
+
+/* vertical main menu sub components */
+
+td.ThemeOfficeMainFolderLeft,td.ThemeOfficeMainItemLeft
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	padding-left:	0px;
+	padding-right:	2px;
+
+	border-top:	1px solid #3169C6;
+	border-bottom:	1px solid #3169C6;
+	border-left:	1px solid #3169C6;
+
+	background-color:	inherit;
+}
+
+td.ThemeOfficeMainFolderText,td.ThemeOfficeMainItemText
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	padding-left:	5px;
+	padding-right:	5px;
+
+	border-top:	1px solid #3169C6;
+	border-bottom:	1px solid #3169C6;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+td.ThemeOfficeMainFolderRight,td.ThemeOfficeMainItemRight
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	padding-left:	0px;
+	padding-right:	0px;
+
+	border-top:	1px solid #3169C6;
+	border-bottom:	1px solid #3169C6;
+	border-right:	1px solid #3169C6;
+
+	background-color:	inherit;
+}
+
+tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderLeft,
+tr.ThemeOfficeMainItem td.ThemeOfficeMainItemLeft
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	1px;
+	padding-right:	2px;
+
+	white-space:	nowrap;
+
+	border:		0;
+	background-color:	inherit;
+}
+
+tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderText,
+tr.ThemeOfficeMainItem td.ThemeOfficeMainItemText
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	5px;
+	padding-right:	5px;
+
+	border:		0;
+	background-color:	inherit;
+}
+
+tr.ThemeOfficeMainItem td.ThemeOfficeMainItemRight,
+tr.ThemeOfficeMainItem td.ThemeOfficeMainFolderRight
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	0px;
+	padding-right:	1px;
+
+	border:		0;
+	background-color:	inherit;
+}
+
+/* sub menu sub components */
+
+.ThemeOfficeMenuFolderLeft,.ThemeOfficeMenuItemLeft
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	padding-left:	1px;
+	padding-right:	3px;
+
+	border-top:	1px solid #3169C6;
+	border-bottom:	1px solid #3169C6;
+	border-left:	1px solid #3169C6;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+.ThemeOfficeMenuFolderText,.ThemeOfficeMenuItemText
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	padding-left:	5px;
+	padding-right:	5px;
+
+	border-top:	1px solid #3169C6;
+	border-bottom:	1px solid #3169C6;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+.ThemeOfficeMenuFolderRight,.ThemeOfficeMenuItemRight
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	padding-left:	0px;
+	padding-right:	0px;
+
+	border-top:	1px solid #3169C6;
+	border-bottom:	1px solid #3169C6;
+	border-right:	1px solid #3169C6;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+.ThemeOfficeMenuItem .ThemeOfficeMenuFolderLeft,
+.ThemeOfficeMenuItem .ThemeOfficeMenuItemLeft
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	2px;
+	padding-right:	3px;
+
+	white-space:	nowrap;
+
+	border:		0;
+	background-color:	#EFEFDE;
+}
+
+.ThemeOfficeMenuItem .ThemeOfficeMenuFolderText,
+.ThemeOfficeMenuItem .ThemeOfficeMenuItemText
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	5px;
+	padding-right:	5px;
+
+	border:		0;
+	background-color:	inherit;
+}
+
+.ThemeOfficeMenuItem .ThemeOfficeMenuFolderRight,
+.ThemeOfficeMenuItem .ThemeOfficeMenuItemRight
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	0px;
+	padding-right:	1px;
+
+	border:		0;
+	background-color:	inherit;
+}
+
+/* menu splits */
+
+.ThemeOfficeMenuSplit
+{
+	margin:		2px;
+	height:		1px;
+	overflow:	hidden;
+	background-color:	inherit;
+	border-top:	1px solid #C6C3BD;
+}
+
+/* image shadow animation */
+
+/*
+	seq1:	image for normal
+	seq2:	image for hover and active
+
+	To use, in the icon field, input the following:
+	<img class="seq1" src="normal.gif" /><img class="seq2" src="hover.gif" />
+*/
+
+.ThemeOfficeMenuItem img.seq1
+{
+	display:	inline;
+}
+
+.ThemeOfficeMenuItemHover seq2,
+.ThemeOfficeMenuItemActive seq2
+{
+	display:	inline;
+}
+
+.ThemeOfficeMenuItem .seq2,
+.ThemeOfficeMenuItemHover .seq1,
+.ThemeOfficeMenuItemActive .seq1
+{
+	display:	none;
+}

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemeOffice/theme.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css Wed Jul 20 23:18:02 2005
@@ -0,0 +1,356 @@
+/* ThemePanelMenu Style Sheet */
+
+.ThemePanelMenu,.ThemePanelSubMenuTable
+{
+	font-family:	verdana, arial, sans-serif;
+	font-size:	13px;
+	background-color:	#F7F3F7;
+
+	cursor:		default;
+	white-space:	nowrap;
+}
+
+.ThemePanelSubMenu
+{
+	position:	absolute;
+	visibility:	hidden;
+
+	/*
+	   Netscape/Mozilla renders borders by increasing
+	   their z-index.  The following line is necessary
+	   to cover any borders underneath
+	*/
+	z-index:	100;
+	border:		0;
+	padding:	0;
+
+	/* the following property is only useful in IE */
+	filter:progid:DXImageTransform.Microsoft.Shadow(color=#DEDEDE,Direction=135,Strength=4);
+}
+
+.ThemePanelSubMenuTable
+{
+	border:		1px solid #9C9A9C;
+}
+
+.ThemePanelMenuItem,.ThemePanelMenuItemHover,.ThemePanelMenuItemActive
+{
+	cursor:		default;
+	white-space:	nowrap;
+}
+
+.ThemePanelMainItem,
+.ThemePanelMenuItem
+{
+	background-color:	#F7F3F7;
+}
+
+.ThemePanelMainItemHover,
+.ThemePanelMainItemActive,
+.ThemePanelMenuItemHover,
+.ThemePanelMenuItemActive
+{
+	background-color:	#C6C6C3;
+}
+
+
+/* horizontal main menu sub components */
+/* panel doesn't really support horizontal menus */
+
+.ThemePanelMainFolderLeft,.ThemePanelMainItemLeft,
+.ThemePanelMainFolderText,.ThemePanelMainItemText,
+.ThemePanelMainFolderRight,.ThemePanelMainItemRight
+{
+	border:		0;
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+/* vertical main menu sub components */
+TD.ThemePanelMainFolderLeft,TD.ThemePanelMainItemLeft
+{
+	padding-left:	0px;
+	padding-right:	0px;
+
+	border-left:	1px solid #9C9A9C;
+
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TD.ThemePanelMainFolderLeft,TD.ThemePanelMainItemLeft,
+TD.ThemePanelMainFolderText,TD.ThemePanelMainItemText,
+TD.ThemePanelMainFolderRight,TD.ThemePanelMainItemRight
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	border-top:	1px solid #9C9A9C;
+	border-bottom:	1px solid #9C9A9C;
+
+	background-color:	inherit;
+}
+
+TD.ThemePanelMainFolderLeft,TD.ThemePanelMainItemLeft
+{
+	padding-right:	0px;
+	padding-left:	0px;
+	border-left:	1px solid #9C9A9C;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+TD.ThemePanelMainFolderText,TD.ThemePanelMainItemText
+{
+	padding-right:	10px;
+	padding-left:	10px;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+TD.ThemePanelMainFolderRight,TD.ThemePanelMainItemRight
+{
+	padding-right:	0px;
+	padding-left:	0px;
+	border-right:	1px solid #9C9A9C;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+TR.ThemePanelMainItem TD.ThemePanelMainFolderLeft
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	1px;
+	padding-right:	0px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMainItem TD.ThemePanelMainItemLeft
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	1px;
+	padding-right:	0px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMainItem TD.ThemePanelMainFolderText
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	10px;
+	padding-right:	10px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMainItem TD.ThemePanelMainItemText
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	10px;
+	padding-right:	10px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMainItem TD.ThemePanelMainItemRight
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	0px;
+	padding-right:	1px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMainItem TD.ThemePanelMainFolderRight
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	0px;
+	padding-right:	1px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+/* sub menus sub components */
+
+.ThemePanelMenuFolderLeft,.ThemePanelMenuItemLeft
+{
+	padding-left:	0px;
+	padding-right:	0px;
+
+	border-left:	1px solid #9C9A9C;
+
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+.ThemePanelMenuFolderLeft,.ThemePanelMenuItemLeft,
+.ThemePanelMenuFolderText,.ThemePanelMenuItemText,
+.ThemePanelMenuFolderRight,.ThemePanelMenuItemRight
+{
+	padding-top:	2px;
+	padding-bottom:	2px;
+	border-top:	1px solid #9C9A9C;
+	border-bottom:	1px solid #9C9A9C;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+.ThemePanelMenuFolderLeft,.ThemePanelMenuItemLeft
+{
+	padding-right:	0px;
+	padding-left:	2px;
+	border-left:	1px solid #9C9A9C;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+.ThemePanelMenuFolderText,.ThemePanelMenuItemText
+{
+	padding-right:	3px;
+	padding-left:	5px;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+.ThemePanelMenuFolderRight,.ThemePanelMenuItemRight
+{
+	padding-right:	0px;
+	padding-left:	0px;
+	border-right:	1px solid #9C9A9C;
+
+	background-color:	inherit;
+	white-space:	nowrap;
+}
+
+TR.ThemePanelMenuItem TD.ThemePanelMenuFolderLeft
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	3px;
+	padding-right:	0px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMenuItem TD.ThemePanelMenuItemLeft
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	3px;
+	padding-right:	0px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMenuItem TD.ThemePanelMenuFolderText
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-right:	3px;
+	padding-left:	5px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMenuItem TD.ThemePanelMenuItemText
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-right:	3px;
+	padding-left:	5px;
+
+	border:	0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMenuItem TD.ThemePanelMenuItemRight
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	0px;
+	padding-right:	1px;
+
+	border:		0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+TR.ThemePanelMenuItem TD.ThemePanelMenuFolderRight
+{
+	padding-top:	3px;
+	padding-bottom:	3px;
+	padding-left:	0px;
+	padding-right:	1px;
+
+	border:		0;
+	white-space:	nowrap;
+	background-color:	inherit;
+}
+
+.ThemePanelMenuSplit
+{
+	margin:		2px;
+	height:		1px;
+	overflow:	hidden;
+	background-color:	inherit;
+	border-top:	1px solid #9C9A9C;
+}
+
+/* image shadow animation */
+
+/*
+	seq1:	image for normal
+	seq2:	image for hover and active
+
+	To use, in the icon field, input the following:
+	<img class="seq1" src="normal.gif" /><img class="seq2" src="hover.gif" />
+*/
+
+.ThemePanelMenuItem img.seq1
+{
+	display:	inline;
+}
+
+.ThemePanelMenuItemHover seq2,
+.ThemePanelMenuItemActive seq2
+{
+	display:	inline;
+}
+
+.ThemePanelMenuItem .seq2,
+.ThemePanelMenuItemHover .seq1,
+.ThemePanelMenuItemActive .seq1
+{
+	display:	none;
+}

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/ThemePanel/theme.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css Wed Jul 20 23:18:02 2005
@@ -0,0 +1,91 @@
+/*
+Copyright 2005 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+body
+{
+    font-family: Verdana, Helvetica, Arial, sans-serif;
+    voice-family: "\"}\"";
+    voice-family: inherit;
+    padding: 1em;
+    background: #fff;
+    color: #000;
+}
+
+a:link, a:visited
+{
+    color: blue;
+}
+
+a:hover
+{
+    color: #f30 !important;
+}
+
+body.layout-jscookmenu
+{
+    margin: 0;
+    padding: 0;
+}
+
+.layout-jscookmenu #banner h1
+{
+    font-size: 1.25em;
+    margin: 0;
+}
+
+.layout-jscookmenu #breadcrumbs
+{
+    border-top: 1px solid #fff;
+    background-color: #ccc;
+    voice-family: "\"}\"";
+    voice-family: inherit;
+    font-size: x-small;
+    padding: 2px 8px;
+}
+
+.layout-jscookmenu #breadcrumbs a
+{
+    text-decoration: none;
+}
+
+.layout-jscookmenu #tophorizontalmenu
+{
+}
+
+.layout-jscookmenu #leftverticalmenu
+{
+}
+
+.Link
+{
+}
+
+.LinkFolder
+{
+}
+
+.LinkPage
+{
+}
+
+.FolderList
+{
+}
+
+.PageTitle
+{
+}
+

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/css/styles.css
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm Wed Jul 20 23:18:02 2005
@@ -0,0 +1,47 @@
+#*
+Copyright 2005 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*#
+
+#*
+JSCookMenu (c) Copyright 2002-2005 by Heng Yuan
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+*#
+
+          </td>
+        </tr>
+      </table> 
+    </div>
+    <p>
+      <img src="$response.encodeURL('content/images/jetspeed-powered.gif')" alt="Jetspeed 2 Powered" border="0">
+    </p>
+  </body>
+</html>

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-bottom.vm
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm Wed Jul 20 23:18:02 2005
@@ -0,0 +1,197 @@
+#*
+Copyright 2005 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*#
+
+#*
+JSCookMenu (c) Copyright 2002-2005 by Heng Yuan
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+*#
+
+#* define navigation constants *#
+#macro (defineNavigationConstants)
+  #* Constants for layout orientation *#
+  #set($LEFT_TO_RIGHT = "LeftToRight")
+  #set($RIGHT_TO_LEFT = "RightToLeft")
+  #set($TOP_TO_BOTTOM = "TopToBottom")
+  #set($BOTTOM_TO_TOP = "BottomToTop")
+
+  #* Constants for layout control *#
+  #set($TITLE_FIRST = "TitleFirst")
+  #set($TITLE_LAST = "TitleLast")
+  #set($BREADCRUMBS_STYLE = "BreadcrumbsStyle")
+
+  #* Constants for JSCookMenu themes *#
+  #set($JSCOOKMENU_PANEL_THEME = "ThemePanel")
+  #set($JSCOOKMENU_OFFICE_THEME = "ThemeOffice")
+  #set($JSCOOKMENU_IE_THEME = "ThemeIE")
+  #set($JSCOOKMENU_MINI_BLACK_THEME = "ThemeMiniBlack")
+#end
+
+#* include links navigation component *#
+#macro (includeLinksNavigation $_menu $_orientation $_title $_style $_delimiter)
+  #if(!$_delimiter || $_delimiter == "")
+    #if($_style != $BREADCRUMBS_STYLE)
+      #set($_delimiter = "&nbsp;")
+    #else
+      #set($_delimiter = "&nbsp;&gt;&gt;&nbsp;")
+    #end
+  #end
+  #set($menuTitle = $_menu.getTitle($preferedLocale))
+  #set($menuName = $_menu.getShortTitle($preferedLocale))
+      <div class="FolderList">
+  #if($_title == $TITLE_FIRST)
+    #if($_orientation == $LEFT_TO_RIGHT)
+        <span title="$!menuTitle">${menuName}&nbsp;</span>
+    #elseif($_orientation == $TOP_TO_BOTTOM)
+        <div class="PageTitle" title="$!menuTitle">${menuName}</div>
+    #end
+  #end
+  #foreach($element in $_menu.elements.iterator())
+    #if($element.elementType == "option")
+      #set($linkTitle = $element.getTitle($preferedLocale))
+      #set($linkName = $element.getShortTitle($preferedLocale))
+      #set($linkUrl = $jetspeed.getAbsoluteUrl($element.url))
+      #if($_style != $BREADCRUMBS_STYLE || $element.type != "page" || $velocityCount < $_menu.elements.size())
+        #if($_orientation == $LEFT_TO_RIGHT)
+        <span>
+        #elseif($_orientation == $TOP_TO_BOTTOM)
+        <div>
+        #end
+        #if($element.type == "page")
+          <a href="$linkUrl" class="LinkPage" title="$!linkTitle">${linkName}</a>
+        #elseif($element.type == "link")
+          <a href="$linkUrl" class="Link" title="$!linkTitle">${linkName}</a>
+        #elseif($element.type == "folder")
+          <a href="$linkUrl" class="LinkFolder" title="$!linkTitle">${linkName}</a>
+        #else
+          <a href="$linkUrl" title="$!linkTitle">${linkName}</a>
+        #end
+        #if($_orientation == $LEFT_TO_RIGHT)
+        ${_delimiter}</span>
+        #elseif($_orientation == $TOP_TO_BOTTOM)
+        </div>
+        #end
+      #else
+        #if($_orientation == $LEFT_TO_RIGHT)
+        <span title="$!linkTitle">${linkName}&nbsp;</span>
+        #elseif($_orientation == $TOP_TO_BOTTOM)
+        <div title="$!linkTitle">${linkName}</div>
+        #end
+      #end
+    #elseif($element.elementType == "separator")
+      #set($separatorTitle = $element.getTitle($preferedLocale))
+      #set($separatorText = $element.getText($preferedLocale))
+      #if($_orientation == $LEFT_TO_RIGHT)
+        <span title="$!separatorTitle">${separatorText}${_delimiter}</span>              
+      #elseif($_orientation == $TOP_TO_BOTTOM)
+        <div class="PageTitle" title="$!separatorTitle">${separatorText}</div>              
+      #end
+    #end
+  #end
+  #if($_title == $TITLE_LAST)
+    #if($_orientation == $LEFT_TO_RIGHT)
+        <span title="$!menuTitle">${menuName}&nbsp;</span>
+    #elseif($_orientation == $TOP_TO_BOTTOM)
+        <div class="PageTitle" title="$!menuTitle">${menuName}</div>
+    #end
+  #end
+      </div>
+#end
+
+#macro (nestJSCookMenuDefinition $_menu)
+#set($menuTitle = $_menu.getTitle($preferedLocale))
+#set($menuName = $_menu.getShortTitle($preferedLocale))
+['', '$!{menuName}', '', '', '$!{menuTitle}',
+#foreach($element in $_menu.elements.iterator())
+  #if($velocityCount > 1),#end
+  #if($element.elementType == "option")
+    #set($linkTitle = $element.getTitle($preferedLocale))
+    #set($linkName = $element.getShortTitle($preferedLocale))
+    #set($linkUrl = $jetspeed.getAbsoluteUrl($element.url))
+    #if(($element.type == "page") || ($element.type == "folder"))
+      ['', '${linkName}', '${linkUrl}', '', '$!{linkTitle}']
+    #elseif($element.type == "link")
+      #set($linkTarget = $element.target)
+      ['', '${linkName}', '${linkUrl}', '$!{linkTarget}', '$!{linkTitle}']
+    #end
+  #elseif($element.elementType == "menu")
+    #nestJSCookMenuDefinition($element)
+  #elseif($element.elementType == "separator")
+    #set($separatorTitle = $element.getTitle($preferedLocale))
+    #set($separatorText = $element.getText($preferedLocale))
+    _cmSplit
+  #end
+#end
+]
+#end
+
+#macro (includeJSCookMenuDefinition $_id $_menu)
+<script language="JavaScript"><!--
+var ${_id}menu =
+[
+#foreach($element in $_menu.elements.iterator())
+  #if($velocityCount > 1),#end
+  #if($element.elementType == "option")
+    #set($linkTitle = $element.getTitle($preferedLocale))
+    #set($linkName = $element.getShortTitle($preferedLocale))
+    #set($linkUrl = $jetspeed.getAbsoluteUrl($element.url))
+    #if(($element.type == "page") || ($element.type == "folder"))
+      ['', '${linkName}', '${linkUrl}', '', '$!{linkTitle}']
+    #elseif($element.type == "link")
+      #set($linkTarget = $element.target)
+      ['', '${linkName}', '${linkUrl}', '$!{linkTarget}', '$!{linkTitle}']
+    #end
+  #elseif($element.elementType == "menu")
+    #nestJSCookMenuDefinition($element)
+  #elseif($element.elementType == "separator")
+    #set($separatorTitle = $element.getTitle($preferedLocale))
+    #set($separatorText = $element.getText($preferedLocale))
+    _cmSplit
+  #end
+#end
+];
+--></script>
+#end
+
+#macro (includeJSCookMenuDraw $_id $_theme $_orientation)
+<script language="JavaScript"><!--
+#if($_orientation == $LEFT_TO_RIGHT)
+  cmDraw('${_id}', ${_id}menu, 'hbr', cm${_theme}, '${_theme}');
+#elseif($_orientation == $TOP_TO_BOTTOM)
+  cmDraw('${_id}', ${_id}menu, 'vbr', cm${_theme}, '${_theme}');
+#elseif($_orientation == $RIGHT_TO_LEFT)
+  cmDraw('${_id}', ${_id}menu, 'hbl', cm${_theme}, '${_theme}');
+#elseif($_orientation == $BOTTOM_TO_TOP)
+  cmDraw('${_id}', ${_id}menu, 'vur', cm${_theme}, '${_theme}');
+#end
+--></script>
+#end

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-macros.vm
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm Wed Jul 20 23:18:02 2005
@@ -0,0 +1,128 @@
+#*
+Copyright 2005 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*#
+
+#*
+JSCookMenu (c) Copyright 2002-2005 by Heng Yuan
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
+*#
+
+#* Add all template constants to the current context *#
+#defineNavigationConstants()
+
+#* Add the current layouts configuration values to the context *#
+#defineLayoutObjects()
+
+#* Access page context *#
+#set($myF = $jetspeed.currentFragment)
+#set($site = $request.getAttribute("org.apache.jetspeed.portalsite.PortalSiteRequestContext"))
+
+#* select default JSCookMenu theme *#
+#set($jsCookMenuTheme = $JSCOOKMENU_PANEL_THEME)
+
+#* Access page menus *#
+#set($siteNavigationsStandardMenu = $site.getMenu("site-navigations"))
+#set($breadcrumbsStandardMenu = $site.getMenu("breadcrumbs"))
+#set($additionalLinksStandardMenu = $site.getMenu("additional-links"))
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <meta http-equiv="Content-type" content="text/html#if($response.characterEncoding); charset=$response.characterEncoding#end" />
+    <meta http-equiv="Content-style-type" content="text/css" />
+
+    #includeStyleSheets()
+    <title>$jetspeed.page.getTitle($preferedLocale)</title>
+
+    <meta name="version" content="/* $Id$" />
+    <meta name="keywords" content="" />
+    <meta name="description" content="$jetspeed.page.getTitle($preferedLocale)" />
+
+<!-- JSCookMenu setup -->
+    <script language="JavaScript" src="content/scripts/JSCookMenu.js"></script>
+    <link rel="stylesheet" href="content/css/${jsCookMenuTheme}/theme.css" type="text/css">
+    <script language="JavaScript" src="content/scripts/${jsCookMenuTheme}/theme.js"></script>
+
+  </head>
+  <body marginwidth="0" marginheight="0" class="layout-jscookmenu">
+
+<!--  BEGIN: layout/html/jscookmenu/decorator.vm -->
+
+    <div class="layout-jscookmenu">
+
+<!-- Banner Content -->
+      <div id="banner">
+        <table border="0" cellspacing="0" cellpadding="8" width="100%">
+          <tr>
+            <td>
+              <h1><img src="$response.encodeURL('content/images/jetspeed-logo.gif')" alt="Jetspeed 2 Logo" border="0"/></h1>
+            </td>
+            <td>
+              &nbsp;
+            </td>
+          </tr>
+        </table>
+      </div>
+
+<!-- Top Menu -->
+#if(!$siteNavigationsStandardMenu.empty)
+#includeJSCookMenuDefinion("tophorizontalmenu" $siteNavigationsStandardMenu)
+      <div id="tophorizontalmenu"></div>
+#includeJSCookMenuDraw("tophorizontalmenu" $jsCookMenuTheme $LEFT_TO_RIGHT)
+#end
+
+<!-- Breadcrumbs Back Navigation -->
+      <div id="breadcrumbs">
+#if(!$breadcrumbsStandardMenu.empty)
+#includeLinksNavigation($breadcrumbsStandardMenu $LEFT_TO_RIGHT "" $BREADCRUMBS_STYLE "")
+#else
+        &nbsp;
+#end
+      </div>
+
+<!-- Content Table -->
+      <table cellpadding="0" cellspacing="0" border="0" width="100%" id="main">
+        <tr>
+
+<!-- Left Menu Table Data -->
+#if(!$additionalLinksStandardMenu.empty)
+          <td valign="top" width="20%">
+#includeJSCookMenuDefinion("leftverticalmenu" $additionalLinksStandardMenu)
+            <div id="leftverticalmenu"></div>
+#includeJSCookMenuDraw("leftverticalmenu" $jsCookMenuTheme $TOP_TO_BOTTOM)
+          </td>
+#end
+
+<!-- Content Table Data -->
+          <td nowrap valign="top">
+  
+<!--  END: layout/html/jscookmenu/decorator.vm -->

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator-top.vm
------------------------------------------------------------------------------
    svn:keywords = Id

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties Wed Jul 20 23:18:02 2005
@@ -0,0 +1,40 @@
+# Copyright 2005 The Apache Software Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# JSCookMenu (c) Copyright 2002-2005 by Heng Yuan
+# 
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+# 
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+id=jscookmenu
+template.type=velocity
+template.extension=.vm
+template.macros=-macros
+decorates=layout
+base.css.class=layout-jscookmenu

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/decorator.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/arrow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/folder.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeIE/link.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/arrowdown.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/blank.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copy.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/copyshadow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cut.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/cutshadow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/help.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/helpshadow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/new.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/open.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-weFrom jetspeed-dev-return-22703-apmail-portals-jetspeed-dev-archive=portals.apache.org@portals.apache.org Thu Jul 21 06:18:21 2005
Return-Path: <jetspeed-dev-return-22703-apmail-portals-jetspeed-dev-archive=portals.apache.org@portals.apache.org>
Delivered-To: apmail-portals-jetspeed-dev-archive@www.apache.org
Received: (qmail 86923 invoked from network); 21 Jul 2005 06:18:20 -0000
Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199)
  by minotaur.apache.org with SMTP; 21 Jul 2005 06:18:20 -0000
Received: (qmail 13088 invoked by uid 500); 21 Jul 2005 06:18:12 -0000
Delivered-To: apmail-portals-jetspeed-dev-archive@portals.apache.org
Received: (qmail 13000 invoked by uid 500); 21 Jul 2005 06:18:12 -0000
Mailing-List: contact jetspeed-dev-help@portals.apache.org; run by ezmlm
Precedence: bulk
List-Help: <mailto:jetspeed-dev-help@portals.apache.org>
List-Unsubscribe: <mailto:jetspeed-dev-unsubscribe@portals.apache.org>
List-Post: <mailto:jetspeed-dev@portals.apache.org>
List-Id: <jetspeed-dev.bapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/open.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/open.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/openshadow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/openshadow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/Theportals.apache.org>
Reply-To: "Jetspeed Developers List" <jetspeed-dev@portals.apache.org>
Delivered-To: mailing list jetspeed-dev@portals.apache.org
Received: (qmail 12982 invoked by uid 99); 21 Jul 2005 06:18:11 -0000
Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49)
    by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2005 23:18:11 -0700
X-ASF-Spam-Status: No, hits=-9.8 required=10.0
	tests=ALL_TRUSTED,NO_REAL_NAME
X-Spam-Check-By: apache.org
Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194)
    by apache.org (qpsmtpd/0.29) with SMTP; Wed, 20 Jul 2005 23:18:04 -0700
Received: (qmail 86860 invoked by uid 65534); 21 Jul 2005 06:18:08 -0000
Message-ID: <20050721061808.86858.qmail@minotaur.apache.org>
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: svn commit: r220003 [2/2] - in
 /portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu:
 ./ css/ css/ThemeIE/ css/ThemeMinimeOffice/openshadow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/paste.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/pBlack/ css/ThemeOffice/ css/ThemePanel/
 images/ images/ThemeIE/ images/ThemeOffice/ images/T...
Date: Thu, 21 Jul 2005 06:18:04 -0000
To: jetspeed-dev@portals.apache.org
From: rwatler@apache.org
X-Mailer: svnmailer-1.0.2
X-Virus-Checked: Checked by ClamAV on apache.org
X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js Wed Jul 20 23:18:02 2005
@@ -0,0 +1,1120 @@
+/*
+	JSCookMenu v1.4.  (c) Copyright 20ortal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/pasteshadow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/save.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/save.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/02-2005 by Heng Yuan
+
+	Permission is hereby granted, free of charge, to any person obtaining a
+	copy of this software and associated documentation files (the "Software"),
+	to deal in the Software without restriction, including without limitation
+	the rights to use, copy, modify, merge, publish, distribute, sublicense,
+	and/or sell copies of the Software, and to permit persons to whom the
+	Software is furnished to do so, subject to the following conditions:
+
+	The above copyright notice and this permission notice shall be included
+	in all copies or substantial portions of the Software.
+
+	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+	OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+	ITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+	FROM, OUT OF OR IN CONNECTION WITH THE SOFTimages/ThemeOffice/save.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/saveshadow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif
URL: http://svn.apache.org/viewcvs/portals/jetsWARE OR THE USE OR OTHER
+	DEALINGS IN THE SOFTWARE.
+*/
+
+// Globals
+var _cmIDCount = 0;
+var _cmIDName = 'cmSubMenuID';		// for creating submenu id
+
+var _cmTimeOut = null;			// how long the menu would stay
+var _cmCurrentItem = null;		// the current menu item being selected;
+
+var _cmNoAction = new Object ();	// indicate that the item cannot be hovered.
+var _cmNoClick = new Object ();		// similar to _cmNoAction but does not respond to mouseup/mousedown events
+var _cmSplit = new Object ();		// indicate that the item is a menu split
+
+var _cmItemList = new Array ();		// a simple list of items
+
+// default node properties
+var _cmNodeProperties =
+{
+  	// main menu display attributes
+  	//
+  	// Note.  When the menu bar is horizontal,
+  	// mainFolderLeft and mainFolderRight are
+  	// put in <span></span>.  When the menu
+  	// bar is vertical, they would be put in
+  	// a separate TD cell.
+
+  	// HTML code to the left of the folder item
+  	mainFolderLeft: '',
+  	// HTML code to the right ofpeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemeOffice/spacer.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrow.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrow.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookm the folder item
+  	mainFolderRight: '',
+	// HTML code to the left of the regular item
+	mainItemLeft: '',
+	// HTML code to the right of the regular item
+	mainItemRight: '',
+
+	// sub menu display attributes
+
+	// HTML code to the left of the folder item
+	folderLeft: '',
+	// HTML code to the right of the folder item
+	folderRight: '',
+	// HTML code to the left of the regular item
+	itemLeft: '',
+	// HTML code to the right of the regular item
+	itemRight: '',
+	// cell spacing for main menu
+	mainSpacing: 0,
+	// cell spacing for sub menus
+	subSpacing: 0,
+	// auto disappear time for submenus in milli-seconds
+	delay: 500,
+
+	// act on click to open sub menu
+	// not yet implemented
+	// 0 : use default behavior
+	// 1 : hover open in all cases
+	// 2 : click on main, hover on sub
+	// 3 : click open in all cases
+	clickOpen: 1
+};
+
+//////////////////////////////////////////////////////////////////////
+//
+// Drawing Functions and Utility Functions
+//
+//////////////////////////////////////////enu/images/ThemePanel/arrow.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/arrowdown.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed////////////////////////////
+
+//
+// produce a new unique id
+//
+function cmNewID ()
+{
+	return _cmIDName + (++_cmIDCount);
+}
+
+//
+// return the property string for the menu item
+//
+function cmActionItem (item, prefix, isMain, idSub, orient, nodeProperties)
+{
+	var clickOpen = _cmNodeProperties.clickOpen;
+	if (nodeProperties.clickOpen)
+		clickOpen = nodeProperties.clickOpen;
+
+	// var index = _cmItemList.push (item) - 1;
+	_cmItemList[_cmItemList.length] = item;
+	var index = _cmItemList.length - 1;
+	idSub = (!idSub) ? 'null' : ('\'' + idSub + '\'');
+	orient = '\'' + orient + '\'';
+	prefix = '\'' + prefix + '\'';
+	var onClick = (clickOpen == 3) || (clickOpen == 2 && isMain);
+	var returnStr;
+	if (onClick)
+		returnStr = ' onmouseover="cmItemMouseOver (this,' + prefix + ',' + isMain + ',' + idSub + ',' + index + ')" onmousedown="cmItemMouseDownOpenSub (this,' + index + ',' + prefix + ',' + orient + ',' + idSub + ')"';
+	else
+		returnStr = ' onmouseover="cmItemMouseOverOpenSub (this,' + prefi-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/ThemePanel/blank.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-logo.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-logo.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetx + ',' + isMain + ',' + idSub + ',' + orient + ',' + index + ')" onmousedown="cmItemMouseDown (this,' + index + ')"';
+	return returnStr + ' onmouseout="cmItemMouseOut (this,' + nodeProperties.delay + ')" onmouseup="cmItemMouseUp (this,' + index + ')"';
+}
+
+//
+// this one is used by _cmNoClick to only take care of onmouseover and onmouseout
+// events which are associated with menu but not actions associated with menu clicking/closing
+//
+function cmNoClickItem (item, prefix, isMain, idSub, orient, nodeProperties)
+{
+	// var index = _cmItemList.push (item) - 1;
+	_cmItemList[_cmItemList.length] = item;
+	var index = _cmItemList.length - 1;
+	idSub = (!idSub) ? 'null' : ('\'' + idSub + '\'');
+	orient = '\'' + orient + '\'';
+	prefix = '\'' + prefix + '\'';
+	return ' onmouseover="cmItemMouseOver (this,' + prefix + ',' + isMain + ',' + idSub + ',' + orient + ',' + index + ')" onmouseout="cmItemMouseOut (this,' + nodeProperties.delay + ')"';
+}
+
+function cmNoActionItem (item, prefix)
+{
+	return item[1]speed-logo.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif?rev=220003&view=auto
==============================================================================
Binary file - no diff available.

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/images/jetspeed-powered.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.or;
+}
+
+function cmSplitItem (prefix, isMain, vertical)
+{
+	var classStr = 'cm' + prefix;
+	if (isMain)
+	{
+		classStr += 'Main';
+		if (vertical)
+			classStr += 'HSplit';
+		else
+			classStr += 'VSplit';
+	}
+	else
+		classStr += 'HSplit';
+	var item = eval (classStr);
+	return cmNoActionItem (item, prefix);
+}
+
+//
+// draw the sub menu recursively
+//
+function cmDrawSubMenu (subMenu, prefix, id, orient, nodeProperties)
+{
+	var str = '<div class="' + prefix + 'SubMenu" id="' + id + '"><table summary="sub menu" cellspacing="' + nodeProperties.subSpacing + '" class="' + prefix + 'SubMenuTable">';
+	var strSub = '';
+
+	var item;
+	var idSub;
+	var hasChild;
+
+	var i;
+
+	var classStr;
+	
+	for (i = 5; i < subMenu.length; ++i)
+	{
+		item = subMenu[i];
+		if (!item)
+			continue;
+
+		hasChild = (item.length > 5);
+		idSub = hasChild ? cmNewID () : null;
+
+		str += '<tr class="' + prefix + 'MenuItem"';
+		if (item[0] != _cmNoClick)
+			str += cmActionItem (item, prefix, 0, idSub, orient, nodePropertieg


s);
+		else
+			str += cmNoClickItem (item, prefix, 0, idSub, orient, nodeProperties);
+		str += '>'
+
+		if (item == _cmSplit)
+		{
+			str += cmSplitItem (prefix, 0, true);
+			str += '</tr>';
+			continue;
+		}
+
+		if (item[0] == _cmNoAction || item[0] == _cmNoClick)
+		{
+			str += cmNoActionItem (item, prefix);
+			str += '</tr>';
+			continue;
+		}
+
+		classStr = prefix + 'Menu';
+		classStr += hasChild ? 'Folder' : 'Item';
+
+		str += '<td class="' + classStr + 'Left">';
+
+		if (item[0] != null)
+			str += item[0];
+		else
+			str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft;
+
+		str += '</td><td class="' + classStr + 'Text">' + item[1];
+
+		str += '</td><td class="' + classStr + 'Right">';
+
+		if (hasChild)
+		{
+			str += nodeProperties.folderRight;
+			strSub += cmDrawSubMenu (item, prefix, idSub, orient, nodeProperties);
+		}
+		else
+			str += nodeProperties.itemRight;
+		str += '</td></tr>';
+	}
+
+	str += '</table></div>' + strSub;
+	return str;
+}
+
+//
+// The function that builds the menu inside the specified element id.
+//
+// @param	id	id of the element
+//		orient	orientation of the menu in [hv][ab][lr] format
+//		menu	the menu object to be drawn
+//		nodeProperties	properties for each menu node
+//
+function cmDraw (id, menu, orient, nodeProperties, prefix)
+{
+	var obj = cmGetObject (id);
+
+	if (!nodeProperties)
+		nodeProperties = _cmNodeProperties;
+	if (!prefix)
+		prefix = '';
+
+	var str = '<table summary="main menu" class="' + prefix + 'Menu" cellspacing="' + nodeProperties.mainSpacing + '">';
+	var strSub = '';
+
+	if (!orient)
+		orient = 'hbr';
+
+	var orientStr = String (orient);
+	var orientSub;
+	var vertical;
+
+	// draw the main menu items
+	if (orientStr.charAt (0) == 'h')
+	{
+		// horizontal menu
+		orientSub = 'v' + orientStr.substr (1, 2);
+		str += '<tr>';
+		vertical = false;
+	}
+	else
+	{
+		// vertical menu
+		orientSub = 'v' + orientStr.substr (1, 2);
+		vertical = true;
+	}
+
+	var i;
+	var item;
+	var idSub;
+	var hasChild;
+
+	var classStr;
+
+	for (i = 0; i < menu.length; ++i)
+	{
+		item = menu[i];
+
+		if (!item)
+			continue;
+
+		str += vertical ? '<tr' : '<td';
+		str += ' class="' + prefix + 'MainItem"';
+
+		hasChild = (item.length > 5);
+		idSub = hasChild ? cmNewID () : null;
+
+		str += cmActionItem (item, prefix, 1, idSub, orient, nodeProperties) + '>';
+
+		if (item == _cmSplit)
+		{
+			str += cmSplitItem (prefix, 1, vertical);
+			str += vertical? '</tr>' : '</td>';
+			continue;
+		}
+
+		if (item[0] == _cmNoAction || item[0] == _cmNoClick)
+		{
+			str += cmNoActionItem (item, prefix);
+			str += vertical? '</tr>' : '</td>';
+			continue;
+		}
+
+		classStr = prefix + 'Main' + (hasChild ? 'Folder' : 'Item');
+
+		str += vertical ? '<td' : '<span';
+		str += ' class="' + classStr + 'Left">';
+
+		str += (item[0] == null) ? (hasChild ? nodeProperties.mainFolderLeft : nodeProperties.mainItemLeft)
+					 : item[0];
+		str += vertical ? '</td>' : '</span>';
+
+		str += vertical ? '<td' : '<span';
+		str += ' class="' + classStr + 'Text">';
+		str += item[1];
+
+		str += vertical ? '</td>' : '</span>';
+
+		str += vertical ? '<td' : '<span';
+		str += ' class="' + classStr + 'Right">';
+
+		str += hasChild ? nodeProperties.mainFolderRight : nodeProperties.mainItemRight;
+
+		str += vertical ? '</td>' : '</span>';
+
+		str += vertical ? '</tr>' : '</td>';
+
+		if (hasChild)
+			strSub += cmDrawSubMenu (item, prefix, idSub, orientSub, nodeProperties);
+	}
+	if (!vertical)
+		str += '</tr>';
+	str += '</table>' + strSub;
+	obj.innerHTML = str;
+	//document.write ("<xmp>" + str + "</xmp>");
+}
+
+//
+// The function builds the menu inside the specified element id.
+//
+// This function is similar to cmDraw except that menu is taken from HTML node
+// rather a javascript tree.  This feature allows links to be scanned by search
+// bots.
+//
+// This function basically converts HTML node to a javascript tree, and then calls
+// cmDraw to draw the actual menu, replacing the hidden menu tree.
+//
+// Format:
+//	<div id="menu">
+//		<ul style="visibility: hidden">
+//			<li><span>icon</span><a href="link" title="description">main menu text</a>
+//				<ul>
+//					<li><span>icon</span><a href="link" title="description">submenu item</a>
+//					</li>
+//				</ul>
+//			</li>
+//		</ul>
+//	</div>
+//
+function cmDrawFromText (id, orient, nodeProperties, prefix)
+{
+	var domMenu = cmGetObject (id);
+	var menu = null;
+	for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling)
+	{
+		if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'ul')
+			continue;
+		menu = cmDrawFromTextSubMenu (currentDomItem);
+		break;
+	}
+	if (menu)
+		cmDraw (id, menu, orient, nodeProperties, prefix);
+}
+
+//
+// a recursive function that build menu tree structure
+//
+function cmDrawFromTextSubMenu (domMenu)
+{
+	var items = new Array ();
+	for (var currentDomItem = domMenu.firstChild; currentDomItem; currentDomItem = currentDomItem.nextSibling)
+	{
+		if (!currentDomItem.tagName || currentDomItem.tagName.toLowerCase () != 'li')
+			continue;
+		if (currentDomItem.firstChild == null)
+		{
+			items[items.length] = _cmSplit;
+			continue;
+		}
+		var item = new Array ();
+		var currentItem = currentDomItem.firstChild;
+		for (; currentItem; currentItem = currentItem.nextSibling)
+		{
+			// scan for span tag
+			if (!currentItem.tagName || currentItem.tagName.toLowerCase () != 'span')
+				continue;
+			if (!currentItem.firstChild)
+				item[0] = null;
+			else
+				item[0] = currentItem.innerHTML;
+			break;
+		}
+		if (!currentItem)
+			continue;
+		for (; currentItem; currentItem = currentItem.nextSibling)
+		{
+			// scan for span tag
+			if (!currentItem.tagName || currentItem.tagName.toLowerCase () != 'a')
+				continue;
+			item[1] = currentItem.innerHTML;
+			item[2] = currentItem.href;
+			item[3] = currentItem.target;
+			item[4] = currentItem.title;
+			break;
+		}
+
+		for (; currentItem; currentItem = currentItem.nextSibling)
+		{
+			// scan for span tag
+			if (!currentItem.tagName || currentItem.tagName.toLowerCase () != 'ul')
+				continue;
+			var subMenuItems = cmDrawFromTextSubMenu (currentItem);
+			for (i = 0; i < subMenuItems.length; ++i)
+				item[i + 5] = subMenuItems[i];
+			break;
+		}
+		items[items.length] = item;
+	}
+	return items;
+}
+
+//////////////////////////////////////////////////////////////////////
+//
+// Mouse Event Handling Functions
+//
+//////////////////////////////////////////////////////////////////////
+
+//
+// action should be taken for mouse moving in to the menu item
+//
+// Here we just do things concerning this menu item, w/o opening sub menus.
+//
+function cmItemMouseOver (obj, prefix, isMain, idSub, index)
+{
+	clearTimeout (_cmTimeOut);
+
+	if (!obj.cmPrefix)
+	{
+		obj.cmPrefix = prefix;
+		obj.cmIsMain = isMain;
+	}
+
+	var thisMenu = cmGetThisMenu (obj, prefix);
+
+	// insert obj into cmItems if cmItems doesn't have obj
+	if (!thisMenu.cmItems)
+		thisMenu.cmItems = new Array ();
+	var i;
+	for (i = 0; i < thisMenu.cmItems.length; ++i)
+	{
+		if (thisMenu.cmItems[i] == obj)
+			break;
+	}
+	if (i == thisMenu.cmItems.length)
+	{
+		//thisMenu.cmItems.push (obj);
+		thisMenu.cmItems[i] = obj;
+	}
+
+	// hide the previous submenu that is not this branch
+	if (_cmCurrentItem)
+	{
+		// occationally, we get this case when user
+		// move the mouse slowly to the border
+		if (_cmCurrentItem == obj || _cmCurrentItem == thisMenu)
+			return;
+			
+		var thatPrefix = _cmCurrentItem.cmPrefix;
+		var thatMenu = cmGetThisMenu (_cmCurrentItem, thatPrefix);
+		
+		if (thatMenu != thisMenu.cmParentMenu)
+		{
+			if (_cmCurrentItem.cmIsMain)
+				_cmCurrentItem.className = thatPrefix + 'MainItem';
+			else
+				_cmCurrentItem.className = thatPrefix + 'MenuItem';
+			if (thatMenu.id != idSub)
+				cmHideMenu (thatMenu, thisMenu, thatPrefix);
+		}
+	}
+
+	// okay, set the current menu to this obj
+	_cmCurrentItem = obj;
+
+	// just in case, reset all items in this menu to MenuItem
+	cmResetMenu (thisMenu, prefix);
+
+	var item = _cmItemList[index];
+	var isDefaultItem = cmIsDefaultItem (item);
+
+	if (isDefaultItem)
+	{
+		if (isMain)
+			obj.className = prefix + 'MainItemHover';
+		else
+			obj.className = prefix + 'MenuItemHover';
+	}
+
+	var descript = '';
+	if (item.length > 4)
+		descript = (item[4] != null) ? item[4] : (item[2] ? item[2] : descript);
+	else if (item.length > 2)
+		descript = (item[2] ? item[2] : descript);
+
+	window.defaultStatus = descript;
+}
+
+//
+// action should be taken for mouse moving in to the menu item
+//
+// This function also opens sub menu
+//
+function cmItemMouseOverOpenSub (obj, prefix, isMain, idSub, orient, index)
+{
+	cmItemMouseOver (obj, prefix, isMain, idSub, index);
+
+	if (idSub)
+	{
+		var subMenu = cmGetObject (idSub);
+		cmShowSubMenu (obj, prefix, subMenu, orient);
+	}
+}
+
+//
+// action should be taken for mouse moving out of the menu item
+//
+function cmItemMouseOut (obj, delayTime)
+{
+	if (!delayTime)
+		delayTime = _cmNodeProperties.delay;
+	_cmTimeOut = window.setTimeout ('cmHideMenuTime ()', delayTime);
+	window.defaultStatus = '';
+}
+
+//
+// action should be taken for mouse button down at a menu item
+//
+function cmItemMouseDown (obj, index)
+{
+	if (cmIsDefaultItem (_cmItemList[index]))
+	{
+		if (obj.cmIsMain)
+			obj.className = obj.cmPrefix + 'MainItemActive';
+		else
+			obj.className = obj.cmPrefix + 'MenuItemActive';
+	}
+}
+
+//
+// action should be taken for mouse button down at a menu item
+// this is one also opens submenu if needed
+//
+function cmItemMouseDownOpenSub (obj, index, prefix, orient, idSub)
+{
+	cmItemMouseDown (obj, index);
+
+	if (idSub)
+	{
+		var subMenu = cmGetObject (idSub);
+		cmShowSubMenu (obj, prefix, subMenu, orient);
+	}
+}
+
+//
+// action should be taken for mouse button up at a menu item
+//
+function cmItemMouseUp (obj, index)
+{
+	var item = _cmItemList[index];
+
+	var link = null, target = '_self';
+
+	if (item.length > 2)
+		link = item[2];
+	if (item.length > 3 && item[3])
+		target = item[3];
+
+	if (link != null)
+	{
+		window.open (link, target);
+	}
+
+	var prefix = obj.cmPrefix;
+	var thisMenu = cmGetThisMenu (obj, prefix);
+
+	var hasChild = (item.length > 5);
+	if (!hasChild)
+	{
+		if (cmIsDefaultItem (item))
+		{
+			if (obj.cmIsMain)
+				obj.className = prefix + 'MainItem';
+			else
+				obj.className = prefix + 'MenuItem';
+		}
+		cmHideMenu (thisMenu, null, prefix);
+	}
+	else
+	{
+		if (cmIsDefaultItem (item))
+		{
+			if (obj.cmIsMain)
+				obj.className = prefix + 'MainItemHover';
+			else
+				obj.className = prefix + 'MenuItemHover';
+		}
+	}
+}
+
+//////////////////////////////////////////////////////////////////////
+//
+// Mouse Event Support Utility Functions
+//
+//////////////////////////////////////////////////////////////////////
+
+//
+// move submenu to the appropriate location
+//
+// @param	obj	the menu item that opens up the subMenu
+//		subMenu	the sub menu to be shown
+//		orient	the orientation of the subMenu
+//
+function cmMoveSubMenu (obj, subMenu, orient)
+{
+	var mode = String (orient);
+	var p = subMenu.offsetParent;
+	var subMenuWidth = cmGetWidth (subMenu);
+	var horiz = cmGetHorizontalAlign (obj, mode, p, subMenuWidth);
+	if (mode.charAt (0) == 'h')
+	{
+		if (mode.charAt (1) == 'b')
+			subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj)) + 'px';
+		else
+			subMenu.style.top = (cmGetYAt (obj, p) - cmGetHeight (subMenu)) + 'px';
+		if (horiz == 'r')
+			subMenu.style.left = (cmGetXAt (obj, p)) + 'px';
+		else
+			subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj) - subMenuWidth) + 'px';
+	}
+	else
+	{
+		if (horiz == 'r')
+			subMenu.style.left = (cmGetXAt (obj, p) + cmGetWidth (obj)) + 'px';
+		else
+			subMenu.style.left = (cmGetXAt (obj, p) - subMenuWidth) + 'px';
+		if (mode.charAt (1) == 'b')
+			subMenu.style.top = (cmGetYAt (obj, p)) + 'px';
+		else
+			subMenu.style.top = (cmGetYAt (obj, p) + cmGetHeight (obj) - cmGetHeight (subMenu)) + 'px';
+	}
+}
+
+//
+// automatically re-adjust the menu position based on available screen size.
+//
+function cmGetHorizontalAlign (obj, mode, p, subMenuWidth)
+{
+	var horiz = mode.charAt (2);
+	if (!(document.body))
+		return horiz;
+	var body = document.body;
+	var browserLeft;
+	var browserRight;
+	if (window.innerWidth)
+	{
+		// DOM window attributes
+		browserLeft = window.pageXOffset;
+		browserRight = window.innerWidth + browserLeft;
+	}
+	else if (body.clientWidth)
+	{
+		// IE attributes
+		browserLeft = body.clientLeft;
+		browserRight = body.clientWidth + browserLeft;
+	}
+	else
+		return horiz;
+	if (mode.charAt (0) == 'h')
+	{
+		if (horiz == 'r' && (cmGetXAt (obj) + subMenuWidth) > browserRight)
+			horiz = 'l';
+		if (horiz == 'l' && (cmGetXAt (obj) + cmGetWidth (obj) - subMenuWidth) < browserLeft)
+			horiz = 'r';
+		return horiz;
+	}
+	else
+	{
+		if (horiz == 'r' && (cmGetXAt (obj, p) + cmGetWidth (obj) + subMenuWidth) > browserRight)
+			horiz = 'l';
+		if (horiz == 'l' && (cmGetXAt (obj, p) - subMenuWidth) < browserLeft)
+			horiz = 'r';
+		return horiz;
+	}
+}
+
+//
+// show the subMenu w/ specified orientation
+// also move it to the correct coordinates
+//
+// @param	obj	the menu item that opens up the subMenu
+//		subMenu	the sub menu to be shown
+//		orient	the orientation of the subMenu
+//
+function cmShowSubMenu (obj, prefix, subMenu, orient)
+{
+	if (!subMenu.cmParentMenu)
+	{
+		// establish the tree w/ back edge
+		var thisMenu = cmGetThisMenu (obj, prefix);
+		subMenu.cmParentMenu = thisMenu;
+		if (!thisMenu.cmSubMenu)
+			thisMenu.cmSubMenu = new Array ();
+		//thisMenu.cmSubMenu.push (subMenu);
+		thisMenu.cmSubMenu[thisMenu.cmSubMenu.length] = subMenu;
+	}
+
+	// position the sub menu
+	cmMoveSubMenu (obj, subMenu, orient);
+	subMenu.style.visibility = 'visible';
+
+	//
+	// On IE, controls such as SELECT, OBJECT, IFRAME (before 5.5)
+	// are window based controls.  So, if the sub menu and these
+	// controls overlap, sub menu would be hidden behind them.  Thus
+	// one needs to turn the visibility of these controls off when the
+	// sub menu is showing, and turn their visibility back on
+	// when the sub menu is hiding.
+	//
+	if (document.all)	// it is IE
+	{
+		/* part of Felix Zaslavskiy's fix on hiding controls
+		   not really sure if this part is necessary, but shouldn't
+		   hurt. */
+		if (!subMenu.cmOverlap)
+			subMenu.cmOverlap = new Array ();
+/*@cc_on @*/
+/*@if (@_jscript_version >= 5.5)
+@else @*/
+		cmHideControl ("IFRAME", subMenu);
+/*@end @*/
+		cmHideControl ("SELECT", subMenu);
+		cmHideControl ("OBJECT", subMenu);
+	}
+}
+
+//
+// reset all the menu items to class MenuItem in thisMenu
+//
+function cmResetMenu (thisMenu, prefix)
+{
+	if (thisMenu.cmItems)
+	{
+		var i;
+		var str;
+		var items = thisMenu.cmItems;
+		for (i = 0; i < items.length; ++i)
+		{
+			if (items[i].cmIsMain)
+				str = prefix + 'MainItem';
+			else
+				str = prefix + 'MenuItem';
+			if (items[i].className != str)
+				items[i].className = str;
+		}
+	}
+}
+
+//
+// called by the timer to hide the menu
+//
+function cmHideMenuTime ()
+{
+	if (_cmCurrentItem)
+	{
+		var prefix = _cmCurrentItem.cmPrefix;
+		cmHideMenu (cmGetThisMenu (_cmCurrentItem, prefix), null, prefix);
+	}
+}
+
+//
+// hide thisMenu, children of thisMenu, as well as the ancestor
+// of thisMenu until currentMenu is encountered.  currentMenu
+// will not be hidden
+//
+function cmHideMenu (thisMenu, currentMenu, prefix)
+{
+	var str = prefix + 'SubMenu';
+
+	// hide the down stream menus
+	if (thisMenu.cmSubMenu)
+	{
+		var i;
+		for (i = 0; i < thisMenu.cmSubMenu.length; ++i)
+		{
+			cmHideSubMenu (thisMenu.cmSubMenu[i], prefix);
+		}
+	}
+
+	// hide the upstream menus
+	while (thisMenu && thisMenu != currentMenu)
+	{
+		cmResetMenu (thisMenu, prefix);
+		if (thisMenu.className == str)
+		{
+			thisMenu.style.visibility = 'hidden';
+			cmShowControl (thisMenu);
+		}
+		else
+			break;
+		thisMenu = cmGetThisMenu (thisMenu.cmParentMenu, prefix);
+	}
+}
+
+//
+// hide thisMenu as well as its sub menus if thisMenu is not
+// already hidden
+//
+function cmHideSubMenu (thisMenu, prefix)
+{
+	if (thisMenu.style.visibility == 'hidden')
+		return;
+	if (thisMenu.cmSubMenu)
+	{
+		var i;
+		for (i = 0; i < thisMenu.cmSubMenu.length; ++i)
+		{
+			cmHideSubMenu (thisMenu.cmSubMenu[i], prefix);
+		}
+	}
+	cmResetMenu (thisMenu, prefix);
+	thisMenu.style.visibility = 'hidden';
+	cmShowControl (thisMenu);
+}
+
+//
+// hide a control such as IFRAME
+//
+function cmHideControl (tagName, subMenu)
+{
+	var x = cmGetX (subMenu);
+	var y = cmGetY (subMenu);
+	var w = subMenu.offsetWidth;
+	var h = subMenu.offsetHeight;
+
+	var i;
+	for (i = 0; i < document.all.tags(tagName).length; ++i)
+	{
+		var obj = document.all.tags(tagName)[i];
+		if (!obj || !obj.offsetParent)
+			continue;
+
+		// check if the object and the subMenu overlap
+
+		var ox = cmGetX (obj);
+		var oy = cmGetY (obj);
+		var ow = obj.offsetWidth;
+		var oh = obj.offsetHeight;
+
+		if (ox > (x + w) || (ox + ow) < x)
+			continue;
+		if (oy > (y + h) || (oy + oh) < y)
+			continue;
+
+		// if object is already made hidden by a different
+		// submenu then we dont want to put it on overlap list of
+		// of a submenu a second time.
+		// - bug fixed by Felix Zaslavskiy
+		if(obj.style.visibility == "hidden")
+			continue;
+
+		//subMenu.cmOverlap.push (obj);
+		subMenu.cmOverlap[subMenu.cmOverlap.length] = obj;
+		obj.style.visibility = "hidden";
+	}
+}
+
+//
+// show the control hidden by the subMenu
+//
+function cmShowControl (subMenu)
+{
+	if (subMenu.cmOverlap)
+	{
+		var i;
+		for (i = 0; i < subMenu.cmOverlap.length; ++i)
+			subMenu.cmOverlap[i].style.visibility = "";
+	}
+	subMenu.cmOverlap = null;
+}
+
+//
+// returns the main menu or the submenu table where this obj (menu item)
+// is in
+//
+function cmGetThisMenu (obj, prefix)
+{
+	var str1 = prefix + 'SubMenu';
+	var str2 = prefix + 'Menu';
+	while (obj)
+	{
+		if (obj.className == str1 || obj.className == str2)
+			return obj;
+		obj = obj.parentNode;
+	}
+	return null;
+}
+
+//
+// return true if this item is handled using default handlers
+//
+function cmIsDefaultItem (item)
+{
+	if (item == _cmSplit || item[0] == _cmNoAction || item[0] == _cmNoClick)
+		return false;
+	return true;
+}
+
+//
+// returns the object baring the id
+//
+function cmGetObject (id)
+{
+	if (document.all)
+		return document.all[id];
+	return document.getElementById (id);
+}
+
+//
+// functions that obtain the width of an HTML element.
+//
+function cmGetWidth (obj)
+{
+	var width = obj.offsetWidth;
+	if (width > 0 || !cmIsTRNode (obj))
+		return width;
+	if (!obj.firstChild)
+		return 0;
+	// use TABLE's length can cause an extra pixel gap
+	//return obj.parentNode.parentNode.offsetWidth;
+
+	// use the left and right child instead
+	return obj.lastChild.offsetLeft - obj.firstChild.offsetLeft + cmGetWidth (obj.lastChild);
+}
+
+//
+// functions that obtain the height of an HTML element.
+//
+function cmGetHeight (obj)
+{
+	var height = obj.offsetHeight;
+	if (height > 0 || !cmIsTRNode (obj))
+		return height;
+	if (!obj.firstChild)
+		return 0;
+	// use the first child's height
+	return obj.firstChild.offsetHeight;
+}
+
+//
+// functions that obtain the coordinates of an HTML element
+//
+function cmGetX (obj)
+{
+	var x = 0;
+
+	do
+	{
+		x += obj.offsetLeft;
+		obj = obj.offsetParent;
+	}
+	while (obj);
+	return x;
+}
+
+function cmGetXAt (obj, elm)
+{
+	var x = 0;
+
+	while (obj && obj != elm)
+	{
+		x += obj.offsetLeft;
+		obj = obj.offsetParent;
+	}
+	if (obj == elm)
+		return x;
+	return x - cmGetX (elm);
+}
+
+function cmGetY (obj)
+{
+	var y = 0;
+	do
+	{
+		y += obj.offsetTop;
+		obj = obj.offsetParent;
+	}
+	while (obj);
+	return y;
+}
+
+function cmIsTRNode (obj)
+{
+	var tagName = obj.tagName;
+	return tagName == "TR" || tagName == "tr" || tagName == "Tr" || tagName == "tR";
+}
+
+//
+// get the Y position of the object.  In case of TR element though,
+// we attempt to adjust the value.
+//
+function cmGetYAt (obj, elm)
+{
+	var y = 0;
+
+	if (!obj.offsetHeight && cmIsTRNode (obj))
+	{
+		var firstTR = obj.parentNode.firstChild;
+		obj = obj.firstChild;
+		y -= firstTR.firstChild.offsetTop;
+	}
+
+	while (obj && obj != elm)
+	{
+		y += obj.offsetTop;
+		obj = obj.offsetParent;
+	}
+
+	if (obj == elm)
+		return y;
+	return y - cmGetY (elm);
+}
+
+//
+// debug function, ignore :)
+//
+function cmGetProperties (obj)
+{
+	if (obj == undefined)
+		return 'undefined';
+	if (obj == null)
+		return 'null';
+
+	var msg = obj + ':\n';
+	var i;
+	for (i in obj)
+		msg += i + ' = ' + obj[i] + '; ';
+	return msg;
+}
+
+/* JSCookMenu v1.4	1. fixed a minor td cell closure problem.  Thanks to Georg Lorenz
+					   <georg@lonux.de> for discovering that.
+					2. added clickOpen to nodeProperties.  See _cmNodeProperties for
+						description.  Basically menus can be opened on click only.
+					3. added an ability to draw menu from an html node instead of a javascript
+						tree, making this script search bot friendly (I hope?).
+*/
+/* JSCookMenu v1.31 1. fix a bug on IE with causes submenus to display at the top
+					   left corner due to doctype.  The fix was provided by
+					   Burton Strauss <Burton@ntopsupport.com>.
+*/
+/* JSCookMenu v1.3	1. automatically realign (left and right) the submenu when
+					   client space is not enough.
+					2. add _cmNoClick to get rid of menu closing behavior
+					   on the particular menu item, to make it possible for things
+					   such as search box to be inside the menu.
+*/
+/* JSCookMenu v1.25	1. fix Safari positioning issue.  The problem is that all TR elements are located
+					   at the top left corner.  Thus, need to obtain the "virtual"
+					   position of these element could be at.
+*/
+/* JSCookMenu v1.24	1. fix window based control hiding bug
+					   thanks to Felix Zaslavskiy <felix@bebinary.com> for the fix.
+*/
+/* JSCookMenu v1.23	1. correct a position bug when the container is positioned.
+					  thanks to Andre <anders@netspace.net.au> for narrowing down
+					  the problem.
+*/
+/* JSCookMenu v1.22	1. change Array.push (obj) call to Array[length] = obj.
+					   Suggestion from Dick van der Kaaden <dick@netrex.nl> to
+					   make the script compatible with IE 5.0
+					2. Changed theme files a little to add z-index: 100 for sub
+					   menus.  This change is necessary for Netscape to avoid
+					   a display problem.
+					3. some changes to the DOM structure to make this menu working
+					   on Netscape 6.0 (tested).  The main reason is that NN6 does
+					   not do absolute positioning with tables.  Therefore an extra
+					   div layer must be put around the table.
+*/
+/* JSCookMenu v1.21	1. fixed a bug that didn't add 'px' as part of coordinates.
+					   JSCookMenu should be XHTML validator friendly now.
+					2. removed unnecessary display attribute and corresponding
+					   theme entry to fix a problem that Netscape sometimes
+					   render Office theme incorrectly
+*/
+/* JSCookMenu v1.2.	1. fix the problem of showing status in Netscape
+					2. changed the handler parameters a bit to allow
+					   string literals to be passed to javascript based
+					   links
+					3. having null in target field would cause the link
+					   to be opened in the current window, but this behavior
+					   could change in the future releases
+*/
+/* JSCookMenu v1.1.		added ability to hide controls in IE to show submenus properly */
+/* JSCookMenu v1.01.	cmDraw generates XHTML code */
+/* JSCookMenu v1.0.		(c) Copyright 2002 by Heng Yuan */

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/JSCookMenu.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js Wed Jul 20 23:18:02 2005
@@ -0,0 +1,46 @@
+
+var cmThemeIEBase = 'content/images/ThemeIE/';
+
+var cmThemeIE =
+{
+  	// main menu display attributes
+  	//
+  	// Note.  When the menu bar is horizontal,
+  	// mainFolderLeft and mainFolderRight are
+  	// put in <span></span>.  When the menu
+  	// bar is vertical, they would be put in
+  	// a separate TD cell.
+
+  	// HTML code to the left of the folder item
+  	mainFolderLeft: '',
+  	// HTML code to the right of the folder item
+  	mainFolderRight: '',
+	// HTML code to the left of the regular item
+	mainItemLeft: '',
+	// HTML code to the right of the regular item
+	mainItemRight: '',
+
+	// sub menu display attributes
+
+	// HTML code to the left of the folder item
+	folderLeft: '<img alt="" src="' + cmThemeIEBase + 'folder.gif">',
+	// HTML code to the right of the folder item
+	folderRight: '<img alt="" src="' + cmThemeIEBase + 'arrow.gif">',
+	// HTML code to the left of the regular item
+	itemLeft: '<img alt="" src="' + cmThemeIEBase + 'link.gif">',
+	// HTML code to the right of the regular item
+	itemRight: '',
+	// cell spacing for main menu
+	mainSpacing: 0,
+	// cell spacing for sub menus
+	subSpacing: 0,
+	// auto dispear time for submenus in milli-seconds
+	delay: 100
+};
+
+// horizontal split, used only in sub menus
+var cmThemeIEHSplit = [_cmNoAction, '<td colspan="3" style="height: 3px; overflow: hidden"><div class="ThemeIEMenuSplit"></div></td>'];
+// vertical split, used only in main menu
+var cmThemeIEMainVSplit = [_cmNoAction, '<div class="ThemeIEMenuVSplit"></div>'];
+// horizontal split, used only in main menu
+var cmThemeIEMainHSplit = [_cmNoAction, '<td colspan="3"><div class="ThemeIEMenuSplit"></div></td>'];

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeIE/theme.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js Wed Jul 20 23:18:02 2005
@@ -0,0 +1,43 @@
+var cmThemeMiniBlack =
+{
+  	// main menu display attributes
+  	//
+  	// Note.  When the menu bar is horizontal,
+  	// mainFolderLeft and mainFolderRight are
+  	// put in <span></span>.  When the menu
+  	// bar is vertical, they would be put in
+  	// a separate TD cell.
+
+  	// HTML code to the left of the folder item
+  	mainFolderLeft: '',
+  	// HTML code to the right of the folder item
+  	mainFolderRight: '',
+	// HTML code to the left of the regular item
+	mainItemLeft: '',
+	// HTML code to the right of the regular item
+	mainItemRight: '',
+
+	// sub menu display attributes
+
+	// HTML code to the left of the folder item
+	folderLeft: '',
+	// HTML code to the right of the folder item
+	folderRight: '',
+	// HTML code to the left of the regular item
+	itemLeft: '',
+	// HTML code to the right of the regular item
+	itemRight: '',
+	// cell spacing for main menu
+	mainSpacing: 0,
+	// cell spacing for sub menus
+	subSpacing: 0,
+	// auto dispear time for submenus in milli-seconds
+	delay: 100
+};
+
+// horizontal split, used only in sub menus
+var cmThemeMiniBlackHSplit = [_cmNoAction, '<td colspan="3" style="height: 3px; overflow: hidden"><div class="ThemeMiniBlackMenuSplit"></div></td>'];
+// horizontal split, used only in main menu
+var cmThemeMiniBlackMainHSplit = [_cmNoAction, '<td colspan="3"><div class="ThemeMiniBlackMenuSplit"></div></td>'];
+// vertical split, used only in main menu
+var cmThemeMiniBlackMainVSplit = [_cmNoAction, '<div class="ThemeMiniBlackMenuVSplit"></div>'];

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeMiniBlack/theme.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js Wed Jul 20 23:18:02 2005
@@ -0,0 +1,45 @@
+
+// directory of where all the images are
+var cmThemeOfficeBase = 'content/images/ThemeOffice/';
+
+var cmThemeOffice =
+{
+  	// main menu display attributes
+  	//
+  	// Note.  When the menu bar is horizontal,
+  	// mainFolderLeft and mainFolderRight are
+  	// put in <span></span>.  When the menu
+  	// bar is vertical, they would be put in
+  	// a separate TD cell.
+
+  	// HTML code to the left of the folder item
+  	mainFolderLeft: '&nbsp;',
+  	// HTML code to the right of the folder item
+  	mainFolderRight: '&nbsp;',
+	// HTML code to the left of the regular item
+	mainItemLeft: '&nbsp;',
+	// HTML code to the right of the regular item
+	mainItemRight: '&nbsp;',
+
+	// sub menu display attributes
+
+	// 0, HTML code to the left of the folder item
+	folderLeft: '<img alt="" src="' + cmThemeOfficeBase + 'spacer.gif">',
+	// 1, HTML code to the right of the folder item
+	folderRight: '<img alt="" src="' + cmThemeOfficeBase + 'arrow.gif">',
+	// 2, HTML code to the left of the regular item
+	itemLeft: '<img alt="" src="' + cmThemeOfficeBase + 'spacer.gif">',
+	// 3, HTML code to the right of the regular item
+	itemRight: '<img alt="" src="' + cmThemeOfficeBase + 'blank.gif">',
+	// 4, cell spacing for main menu
+	mainSpacing: 0,
+	// 5, cell spacing for sub menus
+	subSpacing: 0,
+	// 6, auto dispear time for submenus in milli-seconds
+	delay: 500
+};
+
+// for horizontal menu split
+var cmThemeOfficeHSplit = [_cmNoAction, '<td class="ThemeOfficeMenuItemLeft"></td><td colspan="2"><div class="ThemeOfficeMenuSplit"></div></td>'];
+var cmThemeOfficeMainHSplit = [_cmNoAction, '<td class="ThemeOfficeMainItemLeft"></td><td colspan="2"><div class="ThemeOfficeMenuSplit"></div></td>'];
+var cmThemeOfficeMainVSplit = [_cmNoAction, '|'];

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemeOffice/theme.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js?rev=220003&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js (added)
+++ portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js Wed Jul 20 23:18:02 2005
@@ -0,0 +1,47 @@
+
+// directory of where all the images are
+var cmThemePanelBase = 'content/images/ThemePanel/';
+
+var cmThemePanel =
+{
+  	// main menu display attributes
+  	//
+  	// Note.  When the menu bar is horizontal,
+  	// mainFolderLeft and mainFolderRight are
+  	// put in <span></span>.  When the menu
+  	// bar is vertical, they would be put in
+  	// a separate TD cell.
+
+  	// HTML code to the left of the folder item
+  	mainFolderLeft: '<img alt="" src="' + cmThemePanelBase + 'blank.gif">',
+  	// HTML code to the right of the folder item
+  	mainFolderRight: '<img alt="" src="' + cmThemePanelBase + 'arrow.gif">',
+	// HTML code to the left of the regular item
+	mainItemLeft: '<img alt="" src="' + cmThemePanelBase + 'blank.gif">',
+	// HTML code to the right of the regular item
+	mainItemRight: '<img alt="" src="' + cmThemePanelBase + 'blank.gif">',
+
+	// sub menu display attributes
+
+	// HTML code to the left of the folder item
+	folderLeft: '<img alt="" src="' + cmThemePanelBase + 'blank.gif">',
+	// HTML code to the right of the folder item
+	folderRight: '<img alt="" src="' + cmThemePanelBase + 'arrow.gif">',
+	// HTML code to the left of the regular item
+	itemLeft: '<img alt="" src="' + cmThemePanelBase + 'blank.gif">',
+	// HTML code to the right of the regular item
+	itemRight: '<img alt="" src="' + cmThemePanelBase + 'blank.gif">',
+	// cell spacing for main menu
+	mainSpacing: 0,
+	// cell spacing for sub menus
+	subSpacing: 0,
+	// auto dispear time for submenus in milli-seconds
+	delay: 500
+};
+
+// for sub menu horizontal split
+var cmThemePanelHSplit = [_cmNoAction, '<td colspan="3" style="height: 5px; overflow: hidden"><div class="ThemePanelMenuSplit"></div></td>'];
+// for vertical main menu horizontal split
+var cmThemePanelMainHSplit = [_cmNoAction, '<td colspan="3" style="height: 5px; overflow: hidden"><div class="ThemePanelMenuSplit"></div></td>'];
+// for horizontal main menu vertical split
+var cmThemePanelMainVSplit = [_cmNoAction, '|'];

Propchange: portals/jetspeed-2/trunk/portal-webapp/src/webapp/WEB-INF/decorations/layout/html/jscookmenu/scripts/ThemePanel/theme.js
------------------------------------------------------------------------------
    svn:eol-style = native



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org


Mime
View raw message