[Checkins] SVN: z3c.website/trunk/src/z3c/website/ Improve website
Roger Ineichen
roger at projekt01.ch
Fri May 25 02:20:23 EDT 2007
Log message for revision 75956:
Improve website
Added JQuery based rounded corner
Implemented live search
Changed:
U z3c.website/trunk/src/z3c/website/browser/configure.zcml
U z3c.website/trunk/src/z3c/website/browser/member.py
U z3c.website/trunk/src/z3c/website/browser/members.pt
U z3c.website/trunk/src/z3c/website/browser/page.py
A z3c.website/trunk/src/z3c/website/browser/search.py
A z3c.website/trunk/src/z3c/website/browser/search.zcml
A z3c.website/trunk/src/z3c/website/browser/search_result.pt
U z3c.website/trunk/src/z3c/website/interfaces.py
U z3c.website/trunk/src/z3c/website/sampledata/README.txt
U z3c.website/trunk/src/z3c/website/skin/__init__.py
U z3c.website/trunk/src/z3c/website/skin/configure.zcml
U z3c.website/trunk/src/z3c/website/skin/demo.css
U z3c.website/trunk/src/z3c/website/skin/demo.js
U z3c.website/trunk/src/z3c/website/skin/img/adding.gif
U z3c.website/trunk/src/z3c/website/skin/img/adding.png
U z3c.website/trunk/src/z3c/website/skin/img/btnSearch.gif
U z3c.website/trunk/src/z3c/website/skin/img/btnSearch.png
U z3c.website/trunk/src/z3c/website/skin/img/content.gif
U z3c.website/trunk/src/z3c/website/skin/img/content.png
U z3c.website/trunk/src/z3c/website/skin/img/edit.gif
U z3c.website/trunk/src/z3c/website/skin/img/edit.png
A z3c.website/trunk/src/z3c/website/skin/img/link.gif
A z3c.website/trunk/src/z3c/website/skin/img/link.png
A z3c.website/trunk/src/z3c/website/skin/img/samples.gif
A z3c.website/trunk/src/z3c/website/skin/img/samples.png
U z3c.website/trunk/src/z3c/website/skin/img/search.gif
U z3c.website/trunk/src/z3c/website/skin/img/search.png
U z3c.website/trunk/src/z3c/website/skin/interface.js
A z3c.website/trunk/src/z3c/website/skin/jquery.corner.js
U z3c.website/trunk/src/z3c/website/tool/adding.pt
U z3c.website/trunk/src/z3c/website/tool/configure.zcml
U z3c.website/trunk/src/z3c/website/tool/content.pt
U z3c.website/trunk/src/z3c/website/tool/content.py
U z3c.website/trunk/src/z3c/website/tool/edit.pt
U z3c.website/trunk/src/z3c/website/tool/samples.pt
U z3c.website/trunk/src/z3c/website/tool/search.pt
-=-
Modified: z3c.website/trunk/src/z3c/website/browser/configure.zcml
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/configure.zcml 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/browser/configure.zcml 2007-05-25 06:20:23 UTC (rev 75956)
@@ -3,6 +3,7 @@
i18n_domain="z3c.website">
<include file="sample.zcml" />
+ <include file="search.zcml" />
<include file="site.zcml" />
<include file="member.zcml" />
<include file="page.zcml" />
Modified: z3c.website/trunk/src/z3c/website/browser/member.py
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/member.py 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/browser/member.py 2007-05-25 06:20:23 UTC (rev 75956)
@@ -97,11 +97,7 @@
self.widgets.ignoreRequest = self.ignoreRequest
self.widgets.update()
-# @button.buttonAndHandler(u'Cancel')
-# def handleCancel(self, action):
-# self.request.response.redirect(self.request.getURL())
-
class RadioButtonColumn(column.Column):
def renderCell(self, item, formatter):
@@ -154,7 +150,7 @@
columns = (
RadioButtonColumn(_('Sel')),
GetTextColumn(_('Login'), 'lastName', getLogin),
- GetTextColumn(_('FirstName'), 'email', getFirstName),
+ GetTextColumn(_('First Name'), 'email', getFirstName),
GetTextColumn(_('Last Name'), 'phone', getLastName),
GetTextColumn(_('Email'), 'phone', getEmail),
)
@@ -183,7 +179,7 @@
self.context, self.request, self.members, columns=self.columns,
prefix='members.')
formatter.widths = [25, 150, 150, 150, 150]
- #formatter.cssClasses['table'] = 'list'
+ formatter.cssClasses['table'] = 'list'
return formatter()
@button.buttonAndHandler(u'Edit')
Modified: z3c.website/trunk/src/z3c/website/browser/members.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/members.pt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/browser/members.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -13,6 +13,8 @@
<tal:block replace="structure view/table" />
<div metal:use-macro="macro:form-buttons" />
</td>
+ </tr>
+ <tr>
<td valign="top" width="340">
<tal:block replace="structure view/getEditForm" />
</td>
Modified: z3c.website/trunk/src/z3c/website/browser/page.py
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/page.py 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/browser/page.py 2007-05-25 06:20:23 UTC (rev 75956)
@@ -166,7 +166,13 @@
fields = field.Fields(interfaces.IContent).select('title',
'description', 'keyword')
+ def __call__(self):
+ self.update()
+ layout = zope.component.getMultiAdapter((self, self.request),
+ ILayoutTemplate)
+ return layout(self)
+
class ContentEditPagelet(form.EditForm):
"""Content edit page."""
Added: z3c.website/trunk/src/z3c/website/browser/search.py
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/search.py (rev 0)
+++ z3c.website/trunk/src/z3c/website/browser/search.py 2007-05-25 06:20:23 UTC (rev 75956)
@@ -0,0 +1,61 @@
+##############################################################################
+#
+# Copyright (c) 2007 Zope Foundation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""
+$Id: __init__.py 69382 2006-08-09 13:26:53Z rogerineichen $
+"""
+__docformat__ = "reStructuredText"
+
+import zope.interface
+import zope.component
+from zope.traversing.browser import absoluteURL
+from zope.app.catalog.interfaces import ICatalog
+from zope.app.intid.interfaces import IIntIds
+
+from z3c.pagelet import browser
+from z3c.template.interfaces import ILayoutTemplate
+
+
+
+class SearchResultPagelet(browser.BrowserPagelet):
+ """Search result page"""
+
+ idxName = u'text'
+ catalogName = u'WebSiteCatalog'
+
+ def catalogResults(self):
+ query = self.request.get('webSiteLiveSearchInput', None)
+ if query is None:
+ return {}
+ query = u'%s*' % query
+ catalog = zope.component.getUtility(ICatalog, name=self.catalogName)
+ results = catalog.apply({self.idxName:query})
+ return results
+
+ def results(self):
+ uidutil = zope.component.getUtility(IIntIds)
+ for uid, score in self.catalogResults().items():
+ obj = uidutil.getObject(uid)
+ info = {}
+ info['obj'] = obj
+ info['title'] = obj.title
+ info['description'] = obj.description
+ info['url'] = absoluteURL(obj, self.request)
+ info['score'] = "%.4f" % score
+ yield info
+
+ def __call__(self):
+ self.update()
+ layout = zope.component.getMultiAdapter((self, self.request),
+ ILayoutTemplate)
+ return layout(self)
\ No newline at end of file
Added: z3c.website/trunk/src/z3c/website/browser/search.zcml
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/search.zcml (rev 0)
+++ z3c.website/trunk/src/z3c/website/browser/search.zcml 2007-05-25 06:20:23 UTC (rev 75956)
@@ -0,0 +1,21 @@
+<configure
+ xmlns:zope="http://namespaces.zope.org/zope"
+ xmlns="http://namespaces.zope.org/browser"
+ xmlns:z3c="http://namespaces.zope.org/z3c"
+ i18n_domain="z3c.website">
+
+ <z3c:pagelet
+ name="searchResult.html"
+ for="z3c.website.interfaces.IWebSite"
+ class=".search.SearchResultPagelet"
+ layer="z3c.website.layer.IWebSiteBrowserLayer"
+ permission="z3c.website.ManageSite"
+ />
+
+ <z3c:template
+ template="search_result.pt"
+ for=".search.SearchResultPagelet"
+ layer="z3c.website.layer.IWebSiteBrowserLayer"
+ />
+
+</configure>
Added: z3c.website/trunk/src/z3c/website/browser/search_result.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/browser/search_result.pt (rev 0)
+++ z3c.website/trunk/src/z3c/website/browser/search_result.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -0,0 +1,26 @@
+<div class="headline" i18n:translate="">
+ Search Result
+</div>
+<div id="webSiteSearchResultDetail">
+ <tal:block repeat="info view/results">
+ <div tal:define="oddrow repeat/info/odd;
+ url info/url"
+ tal:attributes="class python:oddrow and 'even' or 'odd'" >
+ <div class="item">
+ <div class="title">
+ <a href=""
+ tal:attributes="href string:${info/url}/@@SelectedManagementView.html"
+ tal:content="info/title" />
+ <a href="" target="_blank"
+ tal:attributes="href string:${info/url}/@@SelectedManagementView.html">
+ <img id="link" src="link.gif" width="14" height="14" alt="link"
+ tal:attributes="src context/++resource++img/link.gif" />
+ </a>
+ </div>
+ <div class="description" tal:content="info/description">
+ description
+ </div>
+ </div>
+ </div>
+ </tal:block>
+</div>
Modified: z3c.website/trunk/src/z3c/website/interfaces.py
===================================================================
--- z3c.website/trunk/src/z3c/website/interfaces.py 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/interfaces.py 2007-05-25 06:20:23 UTC (rev 75956)
@@ -122,7 +122,7 @@
class ISamplePagelet(z3c.pagelet.interfaces.IPagelet):
- """Sample pagelet using a special IPageletRenderer whic includes intro and
+ """Sample pagelet using a special IPageletRenderer which includes intro and
footer templates."""
Modified: z3c.website/trunk/src/z3c/website/sampledata/README.txt
===================================================================
--- z3c.website/trunk/src/z3c/website/sampledata/README.txt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/sampledata/README.txt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -68,13 +68,21 @@
</script>
<BLANKLINE>
<script type="text/javascript"
- src="http://localhost/++skin++Z3CWebSite/z3c/@@/jquery.resteditor.js">
+ src="http://localhost/++skin++Z3CWebSite/z3c/@@/jquery.livesearch.js">
</script>
<BLANKLINE>
<script type="text/javascript"
+ src="http://localhost/++skin++Z3CWebSite/z3c/@@/jquery.corner.js">
+ </script>
+ <BLANKLINE>
+ <script type="text/javascript"
src="http://localhost/++skin++Z3CWebSite/z3c/@@/demo.js">
</script>
<BLANKLINE>
+ <script type="text/javascript"
+ src="http://localhost/++skin++Z3CWebSite/z3c/@@/jquery.resteditor.js">
+ </script>
+ <BLANKLINE>
<link type="text/css" rel="stylesheet"
href="http://localhost/++skin++Z3CWebSite/z3c/@@/div-form.css"
media="all" />
@@ -84,6 +92,10 @@
media="all" />
<BLANKLINE>
<link type="text/css" rel="stylesheet"
+ href="http://localhost/++skin++Z3CWebSite/z3c/@@/jquery.livesearch.css"
+ media="all" />
+ <BLANKLINE>
+ <link type="text/css" rel="stylesheet"
href="http://localhost/++skin++Z3CWebSite/z3c/@@/demo.css"
media="all" />
<BLANKLINE>
Modified: z3c.website/trunk/src/z3c/website/skin/__init__.py
===================================================================
--- z3c.website/trunk/src/z3c/website/skin/__init__.py 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/skin/__init__.py 2007-05-25 06:20:23 UTC (rev 75956)
@@ -27,6 +27,7 @@
InterfaceJavaScriptViewlet = viewlet.JavaScriptViewlet('interface.js')
+JQueryCornerJavaScriptViewlet = viewlet.JavaScriptViewlet('jquery.corner.js')
DemoJavaScriptViewlet = viewlet.JavaScriptViewlet('demo.js')
DemoCSSViewlet = viewlet.CSSViewlet('demo.css')
Modified: z3c.website/trunk/src/z3c/website/skin/configure.zcml
===================================================================
--- z3c.website/trunk/src/z3c/website/skin/configure.zcml 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/skin/configure.zcml 2007-05-25 06:20:23 UTC (rev 75956)
@@ -20,6 +20,16 @@
permission="zope.Public"
/>
+ <page
+ for="*"
+ name="SelectedManagementView.html"
+ permission="zope.Public"
+ class="zope.app.publisher.browser.managementviewselector.ManagementViewSelector"
+ allowed_interface="zope.publisher.interfaces.browser.IBrowserPublisher"
+ layer="z3c.website.layer.IWebSiteBrowserLayer"
+ />
+
+
<!-- resource -->
<zrt-resource
name="demo.css"
@@ -34,6 +44,12 @@
/>
<zrt-resource
+ name="jquery.corner.js"
+ file="jquery.corner.js"
+ layer="z3c.website.layer.IWebSiteBrowserLayer"
+ />
+
+ <zrt-resource
name="demo.js"
file="demo.js"
layer="z3c.website.layer.IWebSiteBrowserLayer"
@@ -77,6 +93,16 @@
/>
<viewlet
+ name="jquery.rounded.js"
+ for="*"
+ manager="z3c.website.layer.IJavaScript"
+ class=".JQueryCornerJavaScriptViewlet"
+ permission="zope.Public"
+ layer="z3c.website.layer.IWebSiteBrowserLayer"
+ weight="1000"
+ />
+
+ <viewlet
name="demo.js"
for="*"
manager="z3c.website.layer.IJavaScript"
Modified: z3c.website/trunk/src/z3c/website/skin/demo.css
===================================================================
--- z3c.website/trunk/src/z3c/website/skin/demo.css 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/skin/demo.css 2007-05-25 06:20:23 UTC (rev 75956)
@@ -101,7 +101,6 @@
position: relative;
margin: 0px;
padding: 0px;
- /*background: #3E3C37 url(../img/topBG.gif) repeat-x top left;*/
background-color: #E1E1E1;
}
@@ -184,6 +183,7 @@
#naviContainer {
width: 200px;
float: right;
+ background-color: white;
padding: 25px 20px 0px 0px;
}
@@ -202,7 +202,6 @@
height: 40px;
line-height: 40px;
color: #3257C2;
- font-weight: bold;
vertical-align: top;
}
@@ -213,9 +212,15 @@
div.naviBox .naviBoxBody {
+ font-size: 90%;
color: #000000;
}
+
+div.naviBox .naviBoxBody div {
+ padding-bottom: 5px;
+}
+
div.boxSpacer {
height: 10px;
}
@@ -340,9 +345,6 @@
/*---[ tool ]----------------------------------------------------------------*/
-#btnSearch {
- border: none;
-}
.button{
@@ -382,3 +384,72 @@
color: #999999;
}
+/*---[ website live search result ]------------------------------------------*/
+#webSiteLiveSearchResultContainer {
+
+}
+
+#webSiteLiveSearch input#liveSearchInput {
+ width: 140px;
+ vertical-align : middle;
+}
+
+#webSiteLiveSearch .btnSearch {
+ border: none;
+ vertical-align : middle;
+}
+
+#webSiteLiveSearchResult {
+ position: relative;
+ width: 200px;
+ border: #A7A78B solid 1px;
+ background-color: #F3F3EE;
+ margin: 5px 0px 0px -50px;
+}
+
+#webSiteLiveSearchResult a {
+ color: #666;
+}
+
+#webSiteLiveSearchResult .even {
+ background-color: #F3F3EE;
+ padding: 2px;
+}
+
+#webSiteLiveSearchResult .odd {
+ background-color: #E4E4DA;
+ padding: 2px;
+}
+
+#webSiteLiveSearchResult .left {
+ width: 120px;
+ text-align: left;
+ padding : 0;
+}
+
+#webSiteLiveSearchResult .right {
+ float: right;
+ padding : 0;
+}
+
+#webSiteSearchResultDetail .item {
+ padding: 5px;
+}
+
+#webSiteSearchResultDetail .title {
+ padding: 10px 0px 5px 0px;
+}
+
+#webSiteSearchResultDetail .description {
+ padding: 5px 0px 5px 10px;
+}
+
+#webSiteSearchResultDetail .even {
+ background-color: #F3F3EE;
+}
+
+#webSiteSearchResultDetail .odd {
+ background-color: #F9F9F7;
+}
+
+
Modified: z3c.website/trunk/src/z3c/website/skin/demo.js
===================================================================
--- z3c.website/trunk/src/z3c/website/skin/demo.js 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/skin/demo.js 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,9 +1,18 @@
+function setWebSiteLiveSearchResult(response) {
+ // we use a default element id, use a custom callback if this doesn't fit
+ ele = $('#webSiteLiveSearchResultContainer');
+ if (response.content != null) {
+ $(ele).html(response.content)
+ $(ele).show('fast')
+ } else {
+ $(ele).hide('fast')
+ }
+}
+
$(document).ready(function() {
+ // note: we use a none leaking fixed version of the fisheye menu, ri
$('#dock').Fisheye(
{maxWidth: 60,
- items: 'a',
- itemsText: 'span',
- container: '.dock-container',
itemWidth: 53,
proximity: 90,
halign : 'center'}
@@ -11,4 +20,10 @@
$('form#JSONValidateSample input').jsonValidate();
$('form#JSONValidateSample textarea').jsonValidate();
$('textarea.restEditorWidget').restEditor();
+ $('#liveSearchInput').jsonLiveSearch();
+ settings = {searchMethodName:'getWebSiteLiveSearchResult',
+ callback: setWebSiteLiveSearchResult,
+ resultElementExpression: '#webSiteLiveSearchResultContainer'}
+ $('#webSiteLiveSearchInput').jsonLiveSearch(settings);
+ $('.naviBox').corner();
});
Modified: z3c.website/trunk/src/z3c/website/skin/img/adding.gif
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/adding.png
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/btnSearch.gif
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/btnSearch.png
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/content.gif
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/content.png
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/edit.gif
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/edit.png
===================================================================
(Binary files differ)
Added: z3c.website/trunk/src/z3c/website/skin/img/link.gif
===================================================================
(Binary files differ)
Property changes on: z3c.website/trunk/src/z3c/website/skin/img/link.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: z3c.website/trunk/src/z3c/website/skin/img/link.png
===================================================================
(Binary files differ)
Property changes on: z3c.website/trunk/src/z3c/website/skin/img/link.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: z3c.website/trunk/src/z3c/website/skin/img/samples.gif
===================================================================
(Binary files differ)
Property changes on: z3c.website/trunk/src/z3c/website/skin/img/samples.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: z3c.website/trunk/src/z3c/website/skin/img/samples.png
===================================================================
(Binary files differ)
Property changes on: z3c.website/trunk/src/z3c/website/skin/img/samples.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: z3c.website/trunk/src/z3c/website/skin/img/search.gif
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/img/search.png
===================================================================
(Binary files differ)
Modified: z3c.website/trunk/src/z3c/website/skin/interface.js
===================================================================
--- z3c.website/trunk/src/z3c/website/skin/interface.js 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/skin/interface.js 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,8 +1,431 @@
-/*
- * Interface elements for jQuery - http://interface.eyecon.ro
+/**
+ * Interface Elements for jQuery
+ * utility function
*
+ * http://interface.eyecon.ro
+ *
* Copyright (c) 2006 Stefan Petre
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
+ * and GPL (GPL-LICENSE.txt) licenses.
+ *
+ *
+ */
+
+jQuery.iUtil = {
+ getPosition : function(e, forceIt)
+ {
+ var x = 0;
+ var y = 0;
+ var es = e.style;
+ var restoreStyles = false;
+ if (forceIt && jQuery.curCSS(e,'display') == 'none') {
+ var oldVisibility = es.visibility;
+ var oldPosition = es.position;
+ restoreStyles = true;
+ es.visibility = 'hidden';
+ es.display = 'block';
+ es.position = 'absolute';
+ }
+ var el = e;
+ if (el.getBoundingClientRect) { // IE
+ var box = el.getBoundingClientRect();
+ x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2;
+ y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2;
+ } else {
+ x = el.offsetLeft;
+ y = el.offsetTop;
+ el = el.offsetParent;
+ if (e != el) {
+ while (el) {
+ x += el.offsetLeft;
+ y += el.offsetTop;
+ el = el.offsetParent;
+ }
+ }
+ if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) {
+ x -= document.body.offsetLeft;
+ y -= document.body.offsetTop;
+ }
+ el = e.parentNode;
+ while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML')
+ {
+ if (jQuery.curCSS(el, 'display') != 'inline') {
+ x -= el.scrollLeft;
+ y -= el.scrollTop;
+ }
+ el = el.parentNode;
+ }
+ }
+ if (restoreStyles == true) {
+ es.display = 'none';
+ es.position = oldPosition;
+ es.visibility = oldVisibility;
+ }
+ return {x:x, y:y};
+ },
+ getPositionLite : function(el)
+ {
+ var x = 0, y = 0;
+ while(el) {
+ x += el.offsetLeft || 0;
+ y += el.offsetTop || 0;
+ el = el.offsetParent;
+ }
+ return {x:x, y:y};
+ },
+ getSize : function(e)
+ {
+ var w = parseInt(jQuery.curCSS(e,'width'), 10);
+ var h = parseInt(jQuery.curCSS(e,'height'), 10);
+ var wb = 0;
+ var hb = 0;
+ if (jQuery.curCSS(e, 'display') != 'none') {
+ wb = e.offsetWidth;
+ hb = e.offsetHeight;
+ } else {
+ var es = e.style;
+ var oldVisibility = es.visibility;
+ var oldPosition = es.position;
+ es.visibility = 'hidden';
+ es.display = 'block';
+ es.position = 'absolute';
+ wb = e.offsetWidth;
+ hb = e.offsetHeight;
+ es.display = 'none';
+ es.position = oldPosition;
+ es.visibility = oldVisibility;
+ }
+ return {w:w, h:h, wb:wb, hb:hb};
+ },
+ getSizeLite : function(el)
+ {
+ return {
+ wb:el.offsetWidth||0,
+ hb:el.offsetHeight||0
+ };
+ },
+ getClient : function(e)
+ {
+ var h, w;
+ if (e) {
+ w = e.clientWidth;
+ h = e.clientHeight;
+ } else {
+ var de = document.documentElement;
+ w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
+ h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
+ }
+ return {w:w,h:h};
+ },
+ getScroll : function (e)
+ {
+ var t=0, l=0, w=0, h=0, iw=0, ih=0;
+ if (e && e.nodeName.toLowerCase() != 'body') {
+ t = e.scrollTop;
+ l = e.scrollLeft;
+ w = e.scrollWidth;
+ h = e.scrollHeight;
+ } else {
+ if (document.body) {
+ t = document.body.scrollTop;
+ l = document.body.scrollLeft;
+ w = document.body.scrollWidth;
+ h = document.body.scrollHeight;
+ } else if (document.documentElement) {
+ t = document.documentElement.scrollTop;
+ l = document.documentElement.scrollLeft;
+ w = document.documentElement.scrollWidth;
+ h = document.documentElement.scrollHeight;
+ }
+ iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0;
+ ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0;
+ }
+ return { t: t, l: l, w: w, h: h, iw: iw, ih: ih };
+ },
+ getMargins : function(e, toInteger)
+ {
+ var t = jQuery.curCSS(e,'marginTop') || '';
+ var r = jQuery.curCSS(e,'marginRight') || '';
+ var b = jQuery.curCSS(e,'marginBottom') || '';
+ var l = jQuery.curCSS(e,'marginLeft') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t, 10)||0,
+ r: parseInt(r, 10)||0,
+ b: parseInt(b, 10)||0,
+ l: parseInt(l, 10)
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getPadding : function(e, toInteger)
+ {
+ var t = jQuery.curCSS(e,'paddingTop') || '';
+ var r = jQuery.curCSS(e,'paddingRight') || '';
+ var b = jQuery.curCSS(e,'paddingBottom') || '';
+ var l = jQuery.curCSS(e,'paddingLeft') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t, 10)||0,
+ r: parseInt(r, 10)||0,
+ b: parseInt(b, 10)||0,
+ l: parseInt(l, 10)
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getBorder : function(e, toInteger)
+ {
+ var t = jQuery.curCSS(e,'borderTopWidth') || '';
+ var r = jQuery.curCSS(e,'borderRightWidth') || '';
+ var b = jQuery.curCSS(e,'borderBottomWidth') || '';
+ var l = jQuery.curCSS(e,'borderLeftWidth') || '';
+ if (toInteger)
+ return {
+ t: parseInt(t, 10)||0,
+ r: parseInt(r, 10)||0,
+ b: parseInt(b, 10)||0,
+ l: parseInt(l, 10)||0
+ };
+ else
+ return {t: t, r: r, b: b, l: l};
+ },
+ getPointer : function(event)
+ {
+ var x = event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)) || 0;
+ var y = event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)) || 0;
+ return {x:x, y:y};
+ },
+ traverseDOM : function(nodeEl, func)
+ {
+ func(nodeEl);
+ nodeEl = nodeEl.firstChild;
+ while(nodeEl){
+ jQuery.iUtil.traverseDOM(nodeEl, func);
+ nodeEl = nodeEl.nextSibling;
+ }
+ },
+ purgeEvents : function(nodeEl)
+ {
+ jQuery.iUtil.traverseDOM(
+ nodeEl,
+ function(el)
+ {
+ for(var attr in el){
+ if(typeof el[attr] === 'function') {
+ el[attr] = null;
+ }
+ }
+ }
+ );
+ },
+ getInnerWidth : function(el, scroll) {
+ var offsetW = el.offsetWidth;
+ return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth;
+ /*return (scroll ? Math.max(el.scrollWidth,el.offsetWidth) : el.offsetWidth)
+ - (parseInt($.curCSS(el, 'borderLeftWidth'), 10)||0)
+ - (parseInt($.curCSS(el, 'borderRightWidth'), 10)||0);*/
+ },
+ getInnerHeight : function(el, scroll) {
+ var offsetH = el.offsetHeight;
+ return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight;
+ /*return (scroll ? Math.max(el.scrollHeight,el.offsetHeight) : el.offsetHeight)
+ - (parseInt($.curCSS(el, 'borderTopWidth'), 10)||0)
+ - (parseInt($.curCSS(el, 'borderBottomWidth'), 10)||0);*/
+ },
+ getExtraWidth : function(el) {
+ if($.boxModel)
+ return (parseInt($.curCSS(el, 'paddingLeft'), 10)||0)
+ + (parseInt($.curCSS(el, 'paddingRight'), 10)||0)
+ + (parseInt($.curCSS(el, 'borderLeftWidth'), 10)||0)
+ + (parseInt($.curCSS(el, 'borderRightWidth'), 10)||0);
+ return 0;
+ },
+ getExtraHeight : function(el) {
+ if($.boxModel)
+ return (parseInt($.curCSS(el, 'paddingTop'), 10)||0)
+ + (parseInt($.curCSS(el, 'paddingBottom'), 10)||0)
+ + (parseInt($.curCSS(el, 'borderTopWidth'), 10)||0)
+ + (parseInt($.curCSS(el, 'borderBottomWidth'), 10)||0);
+ return 0;
+ },
+ isChildOf: function(parentEl, el, container) {
+ if (parentEl == el) {
+ return true;
+ }
+ if (parentEl.contains && !$.browser.safari) {
+ return parentEl.contains(el);
+ }
+ if ( parentEl.compareDocumentPosition ) {
+ return !!(parentEl.compareDocumentPosition(el) & 16);
+ }
+ var prEl = el.parentNode;
+ while(prEl && prEl != container) {
+ if (prEl == parentEl)
+ return true;
+ prEl = prEl.parentNode;
+ }
+ return false;
+ },
+ centerEl : function(el, axis)
+ {
+ var clientScroll = $.iUtil.getScroll();
+ var size = $.iUtil.getSize(el);
+ if (!axis || axis == 'vertically')
+ $(el).css(
+ {
+ top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px'
+ }
+ );
+ if (!axis || axis == 'horizontally')
+ $(el).css(
+ {
+ left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px'
+ }
+ );
+ }
+};
+
+// Helper function to support older browsers!
+[].indexOf || (Array.prototype.indexOf = function(v, n){
+ n = (n == null) ? 0 : n;
+ var m = this.length;
+ for (var i=n; i<m; i++)
+ if (this[i] == v)
+ return i;
+ return -1;
+});
+
+
+
+// fixed non leaking JQuery and interfaces based fisheye menu, ri
+/**
+ * Interface Elements for jQuery
+ * Fisheye menu
+ *
+ * http://interface.eyecon.ro
+ *
+ * Copyright (c) 2006 Stefan Petre
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
+ *
*/
- eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6.15={3o:d(e){7 x=0;7 y=0;7 1Q=1A;7 A=e.L;8(6(e).H(\'Q\')==\'U\'){1E=A.1a;2y=A.O;A.1a=\'1F\';A.Q=\'1Y\';A.O=\'2e\';1Q=26}7 4=e;2P(4){x+=4.3B+(4.1I&&!6.3p.41?F(4.1I.2X)||0:0);y+=4.3x+(4.1I&&!6.3p.41?F(4.1I.2Z)||0:0);4=4.4e}4=e;2P(4&&4.4a&&4.4a.39()!=\'V\'){x-=4.1D||0;y-=4.1s||0;4=4.2x}8(1Q){A.Q=\'U\';A.O=2y;A.1a=1E}q{x:x,y:y}},4E:d(4){7 x=0,y=0;2P(4){x+=4.3B||0;y+=4.3x||0;4=4.4e}q{x:x,y:y}},35:d(e){7 w=6.H(e,\'1T\');7 h=6.H(e,\'36\');7 1e=0;7 1o=0;7 A=e.L;8(6(e).H(\'Q\')!=\'U\'){1e=e.1z;1o=e.2s}u{1E=A.1a;2y=A.O;A.1a=\'1F\';A.Q=\'1Y\';A.O=\'2e\';1e=e.1z;1o=e.2s;A.Q=\'U\';A.O=2y;A.1a=1E}q{w:w,h:h,1e:1e,1o:1o}},4P:d(4){q{1e:4.1z||0,1o:4.2s||0}},58:d(e){7 h,w,22;8(e){w=e.2a;h=e.29}u{22=D.Y;w=2z.3c||2N.3c||(22&&22.2a)||D.V.2a;h=2z.31||2N.31||(22&&22.29)||D.V.29}q{w:w,h:h}},3P:d(e){7 t,l,w,h,1J,1R;8(e&&e.2E.39()!=\'V\'){t=e.1s;l=e.1D;w=e.3j;h=e.3e;1J=0;1R=0}u{8(D.Y&&D.Y.1s){t=D.Y.1s;l=D.Y.1D;w=D.Y.3j;h=D.Y.3e}u 8(D.V){t=D.V.1s;l=D.V.1D;w=D.V.3j;h=D.V.3e}1J=2N.3c||D.Y.2a||D.V.2a||0;1R=2N.31||D.Y.29||D.V.29||0}q{t:t,l:l,w:w,h:h,1J:1J,1R:1R}},3L:d(e,1U){7 4=6(e);7 t=4.H(\'2j\')||\'\';7 r=4.H(\'2k\')||\'\';7 b=4.H(\'2n\')||\'\';7 l=4.H(\'2l\')||\'\';8(1U)q{t:F(t)||0,r:F(r)||0,b:F(b)||0,l:F(l)};u q{t:t,r:r,b:b,l:l}},56:d(e,1U){7 4=6(e);7 t=4.H(\'3w\')||\'\';7 r=4.H(\'3u\')||\'\';7 b=4.H(\'3s\')||\'\';7 l=4.H(\'3t\')||\'\';8(1U)q{t:F(t)||0,r:F(r)||0,b:F(b)||0,l:F(l)};u q{t:t,r:r,b:b,l:l}},4Z:d(e,1U){7 4=6(e);7 t=4.H(\'2Z\')||\'\';7 r=4.H(\'3G\')||\'\';7 b=4.H(\'3y\')||\'\';7 l=4.H(\'2X\')||\'\';8(1U)q{t:F(t)||0,r:F(r)||0,b:F(b)||0,l:F(l)||0};u q{t:t,r:r,b:b,l:l}},3T:d(2i){7 x=2i.53||(2i.52+(D.Y.1D||D.V.1D))||0;7 y=2i.51||(2i.54+(D.Y.1s||D.V.1s))||0;q{x:x,y:y}},3h:d(12,3g){3g(12);12=12.3F;2P(12){6.15.3h(12,3g);12=12.5a}},59:d(12){6.15.3h(12,d(4){S(7 1j 1q 4){8(2R 4[1j]===\'d\'){4[1j]=20}}})},57:d(4,27){7 1b=$.15.3P();7 3l=$.15.35(4);8(!27||27==\'4Y\')$(4).H({X:1b.t+((1i.3S(1b.h,1b.1R)-1b.t-3l.1o)/2)+\'K\'});8(!27||27==\'4Q\')$(4).H({N:1b.l+((1i.3S(1b.w,1b.1J)-1b.l-3l.1e)/2)+\'K\'})},4O:d(4,3U){7 3V=$(\'3q[@2u*="2w"]\',4||D),2w;3V.1V(d(){2w=k.2u;k.2u=3U;k.L.4M="4N:4R.4S.4W(2u=\'"+2w+"\')"})}};[].4i||(4V.4U.4i=d(v,n){n=(n==20)?0:n;7 m=k.1m;S(7 i=n;i<m;i++)8(k[i]==v)q i;q-1});6.3A=d(e){8(/^4T$|^4L$|^5b$|^5c$|^5t$|^5s$|^5r$|^5q$|^5u$|^V$|^5v$|^5z$|^5y$|^5x$|^5w$|^5p$|^5o$/i.2q(e.2E))q 1A;u q 26};6.E.5h=d(e,1p){7 c=e.3F;7 1d=c.L;1d.O=1p.O;1d.2j=1p.18.t;1d.2l=1p.18.l;1d.2n=1p.18.b;1d.2k=1p.18.r;1d.X=1p.X+\'K\';1d.N=1p.N+\'K\';e.2x.4f(c,e);e.2x.5g(e)};6.E.5f=d(e){8(!6.3A(e))q 1A;7 t=6(e);7 A=e.L;7 1Q=1A;7 J={};J.O=t.H(\'O\');8(t.H(\'Q\')==\'U\'){1E=t.H(\'1a\');A.1a=\'1F\';A.Q=\'\';1Q=26}J.32=6.15.35(e);J.18=6.15.3L(e);7 2Y=e.1I?e.1I.4g:t.H(\'5d\');J.X=F(t.H(\'X\'))||0;J.N=F(t.H(\'N\'))||0;7 3J=\'5e\'+F(1i.5i()*4p);7 1x=D.5j(/^3q$|^5n$|^5m$|^5l$|^5k$|^5A$|^2V$|^4u$|^4y$|^4z$|^4x$|^4v$|^4s$|^4H$/i.2q(e.2E)?\'4J\':e.2E);6.1j(1x,\'4F\',3J);1x.3X=\'4B\';7 R=1x.L;7 X=0;7 N=0;8(J.O==\'33\'||J.O==\'2e\'){X=J.X;N=J.N}R.Q=\'U\';R.X=X+\'K\';R.N=N+\'K\';R.O=J.O!=\'33\'&&J.O!=\'2e\'?\'33\':J.O;R.2K=\'1F\';R.36=J.32.1o+\'K\';R.1T=J.32.1e+\'K\';R.2j=J.18.t;R.2k=J.18.r;R.2n=J.18.b;R.2l=J.18.l;8(6.3p.4G){R.4g=2Y}u{R.4D=2Y}e.2x.4f(1x,e);A.2j=\'1M\';A.2k=\'1M\';A.2n=\'1M\';A.2l=\'1M\';A.O=\'2e\';A.4C=\'U\';A.X=\'1M\';A.N=\'1M\';8(1Q){A.Q=\'U\';A.1a=1E}1x.4A(e);R.Q=\'1Y\';q{J:J,4I:6(1x)}};6.E.2f={4K:[0,B,B],4r:[3E,B,B],4w:[4l,4l,4t],4X:[0,0,0],60:[0,0,B],6P:[3H,42,42],6O:[0,B,B],6N:[0,0,1L],6L:[0,1L,1L],6M:[3b,3b,3b],6Q:[0,6R,0],6W:[6V,6U,4k],6S:[1L,0,1L],6T:[6K,4k,47],6J:[B,3I,0],6B:[6A,50,6z],6x:[1L,0,0],6Y:[6C,6D,6I],6H:[6G,0,2U],6E:[B,0,B],6F:[B,6X,0],7a:[0,1v,0],7j:[75,0,7i],7f:[3E,3v,3I],7e:[7h,7l,3v],7g:[3r,B,B],7c:[4c,7d,4c],72:[2U,2U,2U],71:[B,70,74],76:[B,B,3r],7b:[0,B,0],79:[B,0,B],77:[1v,0,0],78:[0,0,1v],6Z:[1v,1v,0],73:[B,3H,0],7k:[B,2I,6y],6v:[1v,0,1v],5V:[B,0,0],5U:[2I,2I,2I],5T:[B,B,B],5R:[B,B,0]};6.E.1w=d(16,3z){8(6.E.2f[16])q{r:6.E.2f[16][0],g:6.E.2f[16][1],b:6.E.2f[16][2]};u 8(M=/^1N\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.2A(16))q{r:F(M[1]),g:F(M[2]),b:F(M[3])};u 8(M=/1N\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.2A(16))q{r:Z(M[1])*2.55,g:Z(M[2])*2.55,b:Z(M[3])*2.55};u 8(M=/^#([a-1H-1B-9])([a-1H-1B-9])([a-1H-1B-9])$/.2A(16))q{r:F("1C"+M[1]+M[1]),g:F("1C"+M[2]+M[2]),b:F("1C"+M[3]+M[3])};u 8(M=/^#([a-1H-1B-9]{2})([a-1H-1B-9]{2})([a-1H-1B-9]{2})$/.2A(16))q{r:F("1C"+M[1]),g:F("1C"+M[2]),b:F("1C"+M[3])};u q 3z==26?1A:{r:B,g:B,b:B}};6.E.4n={3y:1,2X:1,3G:1,2Z:1,5S:1,5B:1,36:1,N:1,5W:1,5X:1,2n:1,2l:1,2k:1,2j:1,62:1,2T:1,61:1,6w:1,1f:1,5Y:1,5Z:1,3s:1,3t:1,3u:1,3w:1,38:1,5Q:1,X:1,1T:1,2O:1};6.E.49={5P:1,5G:1,5H:1,5F:1,5E:1,16:1,5C:1};6.E.25=[\'5D\',\'5I\',\'5J\',\'5O\'];6.E.3k={\'3d\':[\'24\',\'3W\'],\'2B\':[\'24\',\'3f\'],\'2D\':[\'2D\',\'\'],\'2C\':[\'2C\',\'\']};6.3Q.4b({5N:d(1h,1G,P,2v){q k.2d(d(){7 2t=6.1G(1G,P,2v);7 e=28 6.4m(k,2t,1h)})},37:d(1G,2v){q k.2d(d(){7 2t=6.1G(1G,2v);7 e=28 6.37(k,2t)})},5M:d(14){q k.1V(d(){8(k.1n)6.3m(k,14)})},5K:d(14){q k.1V(d(){8(k.1n)6.3m(k,14);8(k.2d&&k.2d[\'E\'])k.2d.E=[]})}});6.4b({37:d(C,o){7 z=k,4o;z.14=d(){8(6.43(o.2M))o.2M.3Z(C)};z.2h=3O(d(){z.14()},o.1k);C.1n=z},P:{4q:d(p,n,4j,4d,1k){q((-1i.5L(p*1i.63)/2)+0.5)*4d+4j}},4m:d(C,o,1h){7 z=k,4o;7 y=C.L;7 44=6.H(C,"2K");7 1O=6.H(C,"Q");7 G={};z.2L=(28 46()).48();o.P=o.P&&6.P[o.P]?o.P:\'4q\';z.2Q=d(I,W){8(6.E.4n[I]){8(W==\'2H\'||W==\'2G\'||W==\'3N\'){8(!C.1r)C.1r={};7 r=Z(6.1y(C,I));C.1r[I]=r&&r>-4p?r:(Z(6.H(C,I))||0);W=W==\'3N\'?(1O==\'U\'?\'2H\':\'2G\'):W;o[W]=26;G[I]=W==\'2H\'?[0,C.1r[I]]:[C.1r[I],0];8(I!=\'1f\')y[I]=G[I][0]+(I!=\'2O\'&&I!=\'34\'?\'K\':\'\');u 6.1j(y,"1f",G[I][0])}u{G[I]=[Z(6.1y(C,I)),Z(W)||0]}}u 8(6.E.49[I])G[I]=[6.E.1w(6.1y(C,I)),6.E.1w(W)];u 8(/^2D$|2C$|24$|2B$|3d$/i.2q(I)){7 m=W.1t(/\\s+/g,\' \').1t(/1N\\s*\\(\\s*/g,\'1N(\').1t(/\\s*,\\s*/g,\',\').1t(/\\s*\\)/g,\')\').64(/([^\\s]+)/g);6n(I){2b\'2D\':2b\'2C\':2b\'3d\':2b\'2B\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];S(7 i=0;i<6.E.25.1m;i++){7 1l=6.E.3k[I][0]+6.E.25[i]+6.E.3k[I][1];G[1l]=I==\'2B\'?[6.E.1w(6.1y(C,1l)),6.E.1w(m[i])]:[Z(6.1y(C,1l)),Z(m[i])]}3R;2b\'24\':S(7 i=0;i<m.1m;i++){7 3n=Z(m[i]);7 2r=!6m(3n)?\'3W\':(!/6l|U|1F|6j|6k|6o|6p|6u|6t|6s|6q/i.2q(m[i])?\'3f\':1A);8(2r){S(7 j=0;j<6.E.25.1m;j++){1l=\'24\'+6.E.25[j]+2r;G[1l]=2r==\'3f\'?[6.E.1w(6.1y(C,1l)),6.E.1w(m[i])]:[Z(6.1y(C,1l)),3n]}}u{y[\'6r\']=m[i]}}3R}}u{y[I]=W}q 1A};S(p 1q 1h){8(p==\'L\'){7 1c=6.30(1h[p]);S(1P 1q 1c){k.2Q(1P,1c[1P])}}u 8(p==\'3X\'){8(D.2S)S(7 i=0;i<D.2S.1m;i++){7 1K=D.2S[i].1K||D.2S[i].6i||20;8(1K){S(7 j=0;j<1K.1m;j++){8(1K[j].6h==\'.\'+1h[p]){7 1X=28 69(\'\\.\'+1h[p]+\' {\');7 1g=1K[j].L.68;7 1c=6.30(1g.1t(1X,\'\').1t(/}/g,\'\'));S(1P 1q 1c){k.2Q(1P,1c[1P])}}}}}}u{k.2Q(p,1h[p])}}y.Q=1O==\'U\'?\'1Y\':1O;y.2K=\'1F\';z.14=d(){7 t=(28 46()).48();8(t>o.1k+z.2L){4h(z.2h);z.2h=20;S(p 1q G){8(p=="1f")6.1j(y,"1f",G[p][1]);u 8(2R G[p][1]==\'2V\')y[p]=\'1N(\'+G[p][1].r+\',\'+G[p][1].g+\',\'+G[p][1].b+\')\';u y[p]=G[p][1]+(p!=\'2O\'&&p!=\'34\'?\'K\':\'\')}8(o.2G||o.2H)S(7 p 1q C.1r)8(p=="1f")6.1j(y,p,C.1r[p]);u y[p]="";y.Q=o.2G?\'U\':(1O!=\'U\'?1O:\'1Y\');y.2K=44;C.1n=20;8(6.43(o.2M))o.2M.3Z(C)}u{7 n=t-k.2L;7 2c=n/o.1k;S(p 1q G){8(2R G[p][1]==\'2V\'){y[p]=\'1N(\'+F(6.P[o.P](2c,n,G[p][0].r,(G[p][1].r-G[p][0].r),o.1k))+\',\'+F(6.P[o.P](2c,n,G[p][0].g,(G[p][1].g-G[p][0].g),o.1k))+\',\'+F(6.P[o.P](2c,n,G[p][0].b,(G[p][1].b-G[p][0].b),o.1k))+\')\'}u{7 2W=6.P[o.P](2c,n,G[p][0],(G[p][1]-G[p][0]),o.1k);8(p=="1f")6.1j(y,"1f",2W);u y[p]=2W+(p!=\'2O\'&&p!=\'34\'?\'K\':\'\')}}}};z.2h=3O(d(){z.14()},13);C.1n=z},3m:d(C,14){8(14)C.1n.2L-=67;u{2z.4h(C.1n.2h);C.1n=20;6.65(C,"E")}}});6.30=d(1g){7 1c={};8(2R 1g==\'66\'){1g=1g.39().40(\';\');S(7 i=0;i<1g.1m;i++){1X=1g[i].40(\':\');8(1X.1m==2){1c[6.45(1X[0].1t(/\\-(\\w)/g,d(m,c){q c.6a()}))]=6.45(1X[1])}}}q 1c};6.1u={3K:d(o){q k.1V(d(){7 4=k;4.f={10:6(o.10,k),23:6(o.23,k),21:6.15.3o(k),T:o.T,2p:o.2p,1Z:o.1Z,3Y:o.3Y,17:o.17,2T:o.2T};6.1u.2J(4,0);6(2z).2F(\'6b\',d(){4.f.21=6.15.3o(4);6.1u.2J(4,0);6.1u.3i(4)});6.1u.3i(4);4.f.10.2F(\'6g\',d(){6(4.f.2p,k).1S(0).L.Q=\'1Y\'}).2F(\'6f\',d(){6(4.f.2p,k).1S(0).L.Q=\'U\'});6(D).2F(\'6e\',d(e){7 2g=6.15.3T(e);7 19=0;8(4.f.17&&4.f.17==\'3M\')7 2o=2g.x-4.f.21.x-(4.1z-4.f.T*4.f.10.1W())/2-4.f.T/2;u 8(4.f.17&&4.f.17==\'38\')7 2o=2g.x-4.f.21.x-4.1z+4.f.T*4.f.10.1W();u 7 2o=2g.x-4.f.21.x;7 3D=1i.3C(2g.y-4.f.21.y-4.2s/2,2);4.f.10.1V(d(2m){11=1i.6c(1i.3C(2o-2m*4.f.T,2)+3D);11-=4.f.T/2;11=11<0?0:11;11=11>4.f.1Z?4.f.1Z:11;11=4.f.1Z-11;3a=4.f.2T*11/4.f.1Z;k.L.1T=4.f.T+3a+\'K\';k.L.N=4.f.T*2m+19+\'K\';19+=3a});6.1u.2J(4,19)})})},2J:d(4,19){8(4.f.17)8(4.f.17==\'3M\')4.f.23.1S(0).L.N=(4.1z-4.f.T*4.f.10.1W())/2-19/2+\'K\';u 8(4.f.17==\'N\')4.f.23.1S(0).L.N=-19/4.f.10.1W()+\'K\';u 8(4.f.17==\'38\')4.f.23.1S(0).L.N=(4.1z-4.f.T*4.f.10.1W())-19/2+\'K\';4.f.23.1S(0).L.1T=4.f.T*4.f.10.1W()+19+\'K\'},3i:d(4){4.f.10.1V(d(2m){k.L.1T=4.f.T+\'K\';k.L.N=4.f.T*2m+\'K\'})}};6.3Q.6d=6.1u.3K;',62,456,'||||el||jQuery|var|if|||||function||fisheyeCfg|||||this||||options||return||||else||||||es|255|elem|document|fx|parseInt|props|css|tp|oldStyle|px|style|result|left|position|easing|display|wrs|for|itemWidth|none|body|vp|top|documentElement|parseFloat|items|distance|nodeEl||step|iUtil|color|halign|margins|toAdd|visibility|clientScroll|newStyles|cs|wb|opacity|styles|prop|Math|attr|duration|nmp|length|animationHandler|hb|old|in|orig|scrollTop|replace|iFisheye|128|parseColor|wr|curCSS|offsetWidth|false|F0|0x|scrollLeft|oldVisibility|hidden|speed|fA|currentStyle|iw|cssRules|139|0px|rgb|oldDisplay|np|restoreStyle|ih|get|width|toInteger|each|size|rule|block|proximity|null|pos|de|container|border|cssSides|true|axis|new|clientHeight|clientWidth|case|pr|queue|absolute|namedColors|pointer|timer|event|marginTop|marginRight|marginLeft|nr|marginBottom|posx|itemsText|test|sideEnd|offsetHeight|opt|src|callback|png|parentNode|oldPosition|window|exec|borderColor|padding|margin|nodeName|bind|hide|show|192|positionContainer|overflow|startTime|complete|self|zIndex|while|getValues|typeof|styleSheets|maxWidth|211|object|pValue|borderLeftWidth|oldFloat|borderTopWidth|parseStyle|innerHeight|sizes|relative|fontWeight|getSize|height|pause|right|toLowerCase|extraWidth|169|innerWidth|borderWidth|scrollHeight|Color|func|traverseDOM|positionItems|scrollWidth|cssSidesEnd|windowSize|stopAnim|floatVal|getPosition|browser|img|224|paddingBottom|paddingLeft|paddingRight|230|paddingTop|offsetTop|borderBottomWidth|notColor|fxCheckTag|offsetLeft|pow|posy|240|firstChild|borderRightWidth|165|140|wid|build|getMargins|center|toggle|setInterval|getScroll|fn|break|max|getPointer|emptyGIF|images|Width|className|valign|apply|split|opera||isFunction|oldOverflow|trim|Date||getTime|colorCssProps|tagName|extend|144|delta|offsetParent|insertBefore|styleFloat|clearInterval|indexOf|firstNum|107|245|fxe|cssProps|values|10000|linear|azure|dl|220|iframe|ul|beige|table|button|form|appendChild|fxWrapper|listStyle|cssFloat|getPositionLite|id|msie|ol|wrapper|div|aqua|td|filter|progid|fixPNG|getSizeLite|horizontally|DXImageTransform|Microsoft|tr|prototype|Array|AlphaImageLoader|black|vertically|getBorder||pageY|clientX|pageX|clientY||getPadding|centerEl|getClient|purgeEvents|nextSibling|tbody|caption|float|w_|buildWrapper|removeChild|destroyWrapper|random|createElement|select|hr|input|br|meta|optgroup|colgroup|col|tfoot|thead|th|header|option|frameset|frame|script|textarea|fontSize|outlineColor|Top|borderTopColor|borderRightColor|borderBottomColor|borderLeftColor|Right|Bottom|stopAll|cos|stop|animate|Left|backgroundColor|textIndent|yellow|bottom|white|silver|red|letterSpacing|lineHeight|outlineOffset|outlineWidth|blue|minHeight|maxHeight|PI|match|dequeue|string|100000000|cssText|RegExp|toUpperCase|resize|sqrt|Fisheye|mousemove|mouseout|mouseover|selectorText|rules|dotted|dashed|transparent|isNaN|switch|solid|double|outset|borderStyle|inset|ridge|groove|purple|minWidth|darkred|203|204|153|darkorchid|233|150|fuchsia|gold|148|darkviolet|122|darkorange|85|darkcyan|darkgrey|darkblue|cyan|brown|darkgreen|100|darkmagenta|darkolivegreen|183|189|darkkhaki|215|darksalmon|olive|182|lightpink|lightgrey|orange|193||lightyellow|maroon|navy|magenta|green|lime|lightgreen|238|lightblue|khaki|lightcyan|173|130|indigo|pink|216'.split('|'),0,{}))
+
+/**
+ * Build a Fisheye menu from a list of links
+ *
+ * @name Fisheye
+ * @description Build a Fisheye menu from a list of links
+ * @param Hash hash A hash of parameters
+ * @option String items items selection
+ * @option String container container element
+ * @option Integer itemWidth the minimum width for each item
+ * @option Integer maxWidth the maximum width for each item
+ * @option String itemsText selection of element that contains the text for each item
+ * @option Integer proximity the distance from element that make item to interact
+ * @option String valign vertical alignment
+ * @option String halign horizontal alignment
+ *
+ * @type jQuery
+ * @cat Plugins/Interface
+ * @author Stefan Petre
+ */
+jQuery.iFisheye = {
+ build : function(options){
+ return this.each(
+ function(){
+ var el = this;
+ var items = jQuery('a', this);
+ var itemsText ='span';
+ var container = jQuery('.dock-container', this);
+ el.fisheyeCfg = {
+ pos : jQuery.iUtil.getPosition(this),
+ itemWidth: options.itemWidth,
+ itemsText: options.itemsText,
+ proximity: options.proximity,
+ valign: options.valign,
+ halign: options.halign,
+ maxWidth : options.maxWidth
+ };
+ jQuery.iFisheye.positionContainer(el, container, items, 0);
+ jQuery(window).bind(
+ 'resize',
+ function(){
+ el.fisheyeCfg.pos = jQuery.iUtil.getPosition(el);
+ jQuery.iFisheye.positionContainer(el, container, items, 0);
+ jQuery.iFisheye.positionItems(el, items);
+ }
+ );
+ jQuery.iFisheye.positionItems(el, items);
+ items.bind('mouseover',
+ function(){
+ jQuery('span', this).get(0).style.display = 'block';
+ }
+ )
+ .bind(
+ 'mouseout',
+ function(){
+ jQuery('span', this).get(0).style.display = 'none';
+ }
+ );
+ jQuery(document).bind(
+ 'mousemove',
+ function(e)
+ {
+ var pointer = jQuery.iUtil.getPointer(e);
+ var toAdd = 0;
+ if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'center')
+ var posx = pointer.x - el.fisheyeCfg.pos.x - (el.offsetWidth - el.fisheyeCfg.itemWidth * items.size())/2 - el.fisheyeCfg.itemWidth/2;
+ else if (el.fisheyeCfg.halign && el.fisheyeCfg.halign == 'right')
+ var posx = pointer.x - el.fisheyeCfg.pos.x - el.offsetWidth + el.fisheyeCfg.itemWidth * items.size();
+ else
+ var posx = pointer.x - el.fisheyeCfg.pos.x;
+ var posy = Math.pow(pointer.y - el.fisheyeCfg.pos.y - el.offsetHeight/2,2);
+ items.each(
+ function(nr)
+ {
+ distance = Math.sqrt(
+ Math.pow(posx - nr*el.fisheyeCfg.itemWidth, 2)
+ + posy
+ );
+ distance -= el.fisheyeCfg.itemWidth/2;
+
+ distance = distance < 0 ? 0 : distance;
+ distance = distance > el.fisheyeCfg.proximity ? el.fisheyeCfg.proximity : distance;
+ distance = el.fisheyeCfg.proximity - distance;
+
+ extraWidth = el.fisheyeCfg.maxWidth * distance/el.fisheyeCfg.proximity;
+
+ this.style.width = el.fisheyeCfg.itemWidth + extraWidth + 'px';
+ this.style.left = el.fisheyeCfg.itemWidth * nr + toAdd + 'px';
+ toAdd += extraWidth;
+ }
+ );
+ jQuery.iFisheye.positionContainer(el, container, items, toAdd);
+ }
+ );
+ }
+ )
+ },
+ positionContainer : function(el, container, items, toAdd){
+ if (el.fisheyeCfg.halign)
+ if (el.fisheyeCfg.halign == 'center')
+ container.get(0).style.left = (el.offsetWidth - el.fisheyeCfg.itemWidth * items.size())/2 - toAdd/2 + 'px';
+ else if (el.fisheyeCfg.halign == 'left')
+ container.get(0).style.left = - toAdd/items.size() + 'px';
+ else if (el.fisheyeCfg.halign == 'right')
+ container.get(0).style.left = (el.offsetWidth - el.fisheyeCfg.itemWidth * items.size()) - toAdd/2 + 'px';
+ container.get(0).style.width = el.fisheyeCfg.itemWidth * items.size() + toAdd + 'px';
+ },
+ positionItems : function(el, items){
+ items.each(
+ function(nr)
+ {
+ this.style.width = el.fisheyeCfg.itemWidth + 'px';
+ this.style.left = el.fisheyeCfg.itemWidth * nr + 'px';
+ }
+ );
+ }
+};
+
+jQuery.fn.Fisheye = jQuery.iFisheye.build;
Added: z3c.website/trunk/src/z3c/website/skin/jquery.corner.js
===================================================================
--- z3c.website/trunk/src/z3c/website/skin/jquery.corner.js (rev 0)
+++ z3c.website/trunk/src/z3c/website/skin/jquery.corner.js 2007-05-25 06:20:23 UTC (rev 75956)
@@ -0,0 +1,152 @@
+/*
+ * jQuery corner plugin
+ *
+ * version 1.7 (1/26/2007)
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ */
+
+/**
+ * The corner() method provides a simple way of styling DOM elements.
+ *
+ * corner() takes a single string argument: $().corner("effect corners width")
+ *
+ * effect: The name of the effect to apply, such as round or bevel.
+ * If you don't specify an effect, rounding is used.
+ *
+ * corners: The corners can be one or more of top, bottom, tr, tl, br, or bl.
+ * By default, all four corners are adorned.
+ *
+ * width: The width specifies the width of the effect; in the case of rounded corners this
+ * will be the radius of the width.
+ * Specify this value using the px suffix such as 10px, and yes it must be pixels.
+ *
+ * For more details see: http://methvin.com/jquery/jq-corner.html
+ * For a full demo see: http://malsup.com/jquery/corner/
+ *
+ *
+ * @example $('.adorn').corner();
+ * @desc Create round, 10px corners
+ *
+ * @example $('.adorn').corner("25px");
+ * @desc Create round, 25px corners
+ *
+ * @example $('.adorn').corner("notch bottom");
+ * @desc Create notched, 10px corners on bottom only
+ *
+ * @example $('.adorn').corner("tr dog 25px");
+ * @desc Create dogeared, 25px corner on the top-right corner only
+ *
+ * @example $('.adorn').corner("round 8px").parent().css('padding', '4px').corner("round 10px");
+ * @desc Create a rounded border effect by styling both the element and its parent
+ *
+ * @name corner
+ * @type jQuery
+ * @param String options Options which control the corner style
+ * @cat Plugins/Corner
+ * @return jQuery
+ * @author Dave Methvin (dave.methvin at gmail.com)
+ * @author Mike Alsup (malsup at gmail.com)
+ */
+jQuery.fn.corner = function(o) {
+ function hex2(s) {
+ var s = parseInt(s).toString(16);
+ return ( s.length < 2 ) ? '0'+s : s;
+ };
+ function gpc(node) {
+ for ( ; node && node.nodeName.toLowerCase() != 'html'; node = node.parentNode ) {
+ var v = jQuery.css(node,'backgroundColor');
+ if ( v.indexOf('rgb') >= 0 ) {
+ rgb = v.match(/\d+/g);
+ return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
+ }
+ if ( v && v != 'transparent' )
+ return v;
+ }
+ return '#ffffff';
+ };
+ function getW(i) {
+ switch(fx) {
+ case 'round': return Math.round(width*(1-Math.cos(Math.asin(i/width))));
+ case 'cool': return Math.round(width*(1+Math.cos(Math.asin(i/width))));
+ case 'sharp': return Math.round(width*(1-Math.cos(Math.acos(i/width))));
+ case 'bite': return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
+ case 'slide': return Math.round(width*(Math.atan2(i,width/i)));
+ case 'jut': return Math.round(width*(Math.atan2(width,(width-i-1))));
+ case 'curl': return Math.round(width*(Math.atan(i)));
+ case 'tear': return Math.round(width*(Math.cos(i)));
+ case 'wicked': return Math.round(width*(Math.tan(i)));
+ case 'long': return Math.round(width*(Math.sqrt(i)));
+ case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
+ case 'dog': return (i&1) ? (i+1) : width;
+ case 'dog2': return (i&2) ? (i+1) : width;
+ case 'dog3': return (i&3) ? (i+1) : width;
+ case 'fray': return (i%2)*width;
+ case 'notch': return width;
+ case 'bevel': return i+1;
+ }
+ };
+ o = (o||"").toLowerCase();
+ var keep = /keep/.test(o); // keep borders?
+ var cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]); // corner color
+ var sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]); // strip color
+ var width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10; // corner width
+ var re = /round|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dog/;
+ var fx = ((o.match(re)||['round'])[0]);
+ var edges = { T:0, B:1 };
+ var opts = {
+ TL: /top|tl/.test(o), TR: /top|tr/.test(o),
+ BL: /bottom|bl/.test(o), BR: /bottom|br/.test(o)
+ };
+ if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
+ opts = { TL:1, TR:1, BL:1, BR:1 };
+ var strip = document.createElement('div');
+ strip.style.overflow = 'hidden';
+ strip.style.height = '1px';
+ strip.style.backgroundColor = sc || 'transparent';
+ strip.style.borderStyle = 'solid';
+ return this.each(function(index){
+ var pad = {
+ T: parseInt(jQuery.css(this,'paddingTop'))||0, R: parseInt(jQuery.css(this,'paddingRight'))||0,
+ B: parseInt(jQuery.css(this,'paddingBottom'))||0, L: parseInt(jQuery.css(this,'paddingLeft'))||0
+ };
+
+ if (jQuery.browser.msie) this.style.zoom = 1; // force 'hasLayout' in IE
+ if (!keep) this.style.border = 'none';
+ strip.style.borderColor = cc || gpc(this.parentNode);
+ var cssHeight = jQuery.curCSS(this, 'height');
+
+ for (var j in edges) {
+ var bot = edges[j];
+ strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
+ var d = document.createElement('div');
+ var ds = d.style;
+
+ bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);
+
+ if (bot && cssHeight != 'auto') {
+ if (jQuery.css(this,'position') == 'static')
+ this.style.position = 'relative';
+ ds.position = 'absolute';
+ ds.bottom = ds.left = ds.padding = ds.margin = '0';
+ if (jQuery.browser.msie)
+ ds.setExpression('width', 'this.parentNode.offsetWidth');
+ else
+ ds.width = '100%';
+ }
+ else {
+ ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' :
+ (pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';
+ }
+
+ for (var i=0; i < width; i++) {
+ var w = Math.max(0,getW(i));
+ var e = strip.cloneNode(false);
+ e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
+ bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
+ }
+ }
+ });
+};
Modified: z3c.website/trunk/src/z3c/website/tool/adding.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/adding.pt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/adding.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,7 +1,7 @@
<div class="naviBoxContainer">
<div class="naviBox">
<div class="naviBoxHeader">
- <img src="adding.gif" alt="adding" height="32" width="32"
+ <img src="adding.gif" alt="adding" height="24" width="24"
tal:attributes="src context/++resource++img/adding.gif" />
<tal:block i18n:translate="">Adding</tal:block>
</div>
Modified: z3c.website/trunk/src/z3c/website/tool/configure.zcml
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/configure.zcml 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/configure.zcml 2007-05-25 06:20:23 UTC (rev 75956)
@@ -18,7 +18,7 @@
manager="z3c.website.tool.IToolManager"
template="search.pt"
layer="z3c.website.layer.IWebSiteBrowserLayer"
- permission="z3c.website.ManageContent"
+ permission="zope.Public"
weight="1"
/>
@@ -41,7 +41,7 @@
template="samples.pt"
layer="z3c.website.layer.IWebSiteBrowserLayer"
permission="zope.Public"
- weight="3"
+ weight="2"
/>
<viewlet
Modified: z3c.website/trunk/src/z3c/website/tool/content.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/content.pt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/content.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,7 +1,7 @@
<div class="naviBoxContainer">
<div class="naviBox">
<div class="naviBoxHeader">
- <img src="content.gif" alt="navigation" height="32" width="32"
+ <img src="content.gif" alt="navigation" height="24" width="24"
tal:attributes="src context/++resource++img/content.gif" />
<tal:block i18n:translate="">Content</tal:block>
</div>
Modified: z3c.website/trunk/src/z3c/website/tool/content.py
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/content.py 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/content.py 2007-05-25 06:20:23 UTC (rev 75956)
@@ -22,15 +22,19 @@
from zope.app.container.interfaces import IContainer
from zope.viewlet import viewlet
+from z3c.website import interfaces
import z3c.website.layer
class Content(viewlet.ViewletBase):
"""Content tool."""
+ res = None
def items(self):
- res = []
- append = res.append
+ if self.res is not None:
+ return self.res
+ self.res = []
+ append = self.res.append
try:
if IContainer.providedBy(self.context):
# get childs if we stay at a container
@@ -48,4 +52,13 @@
except KeyError:
# site does not exist right now
pass
- return res
+ return self.res
+
+ def render(self, *args, **kw):
+ """See zope.contentprovider.interfaces.IContentProvider"""
+ if len(self.items()) == 0:
+ return u''
+ if interfaces.ISamples.providedBy(self.context) or \
+ interfaces.ISample.providedBy(self.context):
+ return u''
+ return self.index(*args, **kw)
Modified: z3c.website/trunk/src/z3c/website/tool/edit.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/edit.pt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/edit.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,7 +1,7 @@
<div class="naviBoxContainer">
<div class="naviBox">
<div class="naviBoxHeader">
- <img src="edit.gif" alt="edit" height="32" width="32"
+ <img src="edit.gif" alt="edit" height="24" width="24"
tal:attributes="src context/++resource++img/edit.gif" />
<tal:block i18n:translate="">Manage</tal:block>
</div>
Modified: z3c.website/trunk/src/z3c/website/tool/samples.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/samples.pt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/samples.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,9 +1,9 @@
<div class="naviBoxContainer">
<div class="naviBox">
<div class="naviBoxHeader">
- <img src="content.gif" alt="navigation" height="32" width="32"
- tal:attributes="src context/++resource++img/content.gif" />
- <tal:block i18n:translate="">Content</tal:block>
+ <img src="samples.gif" alt="navigation" height="24" width="24"
+ tal:attributes="src context/++resource++img/samples.gif" />
+ <tal:block i18n:translate="">Samples</tal:block>
</div>
<div class="naviBoxBody">
<div tal:repeat="sample view/samples">
Modified: z3c.website/trunk/src/z3c/website/tool/search.pt
===================================================================
--- z3c.website/trunk/src/z3c/website/tool/search.pt 2007-05-25 06:17:22 UTC (rev 75955)
+++ z3c.website/trunk/src/z3c/website/tool/search.pt 2007-05-25 06:20:23 UTC (rev 75956)
@@ -1,18 +1,21 @@
<div class="naviBoxContainer">
<div class="naviBox">
<div class="naviBoxHeader">
- <img src="search.gif" alt="search" height="32" width="32"
+ <img src="search.gif" alt="search" height="24" width="24"
tal:attributes="src context/++resource++img/search.gif" />
- <tal:block i18n:translate="">Search</tal:block>
+ <tal:block i18n:translate="">
+ Search
+ </tal:block>
</div>
<div class="naviBoxBody">
- <form action="#">
- <div id="searchForm">
- <input type="text" id="liveSearch" />
- <input type="image" id="btnSearch" src="" alt="Search button"
+ <form id="webSiteLiveSearch" name="webSiteLiveSearch" action="./searchResult.html" method="post"
+ tal:attributes="action string:${context/@@siteURL}/searchResult.html">
+ <input id="webSiteLiveSearchInput" type="text" name="webSiteLiveSearchInput" />
+ <input type="image" class="btnSearch" src="" alt="Search button" width="24" height="24"
tal:attributes="src context/++resource++img/btnSearch.gif" />
- </div>
- </form>
+ <div id="webSiteLiveSearchResultContainer" style="display: none;">
+ </div>
+ </form>
</div>
</div>
<div class="boxSpacer">
More information about the Checkins
mailing list