Seam SVN: r7432 - in trunk/examples/wiki: src/etc/i18n and 10 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-18 02:21:56 -0500 (Mon, 18 Feb 2008)
New Revision: 7432
Modified:
trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml
trunk/examples/wiki/src/etc/i18n/messages_en.properties
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregatorPreferences.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
trunk/examples/wiki/view/search_d.xhtml
trunk/examples/wiki/view/themes/default/css/template.css
trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
Log:
Fixed search URL rewritting and submit-on-enter on search page, JBSEAM-2626
Modified: trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml 2008-02-18 07:21:56 UTC (rev 7432)
@@ -52,7 +52,7 @@
<to last="true">/wiki.seam?nodeId=$1</to>
</rule>
- <!-- /search/foo -->
+ <!-- /search/Foo+Bar+No+Characters+Except+Space -->
<rule>
<from casesensitive="true">^/search/(.+)$</from>
<to last="true">/search_%{session-attribute:skin}.seam?query=$1</to>
@@ -64,13 +64,13 @@
<to last="true">/userInfo_%{session-attribute:skin}.seam?username=$1</to>
</rule>
- <!-- /tag/Foo Bar-->
+ <!-- /tag/Foo+Bar-->
<rule>
<from casesensitive="true">^/tag/(.+)$</from>
<to last="true">/tagDisplay_%{session-attribute:skin}.seam?tag=$1</to>
</rule>
- <!-- /service/Feed/atom (/Area/Foo) (/Node/Bar) (/Comments/exclude/) (/Tag/foobar) (/Aggregate/My Aggregate) -->
+ <!-- /service/Feed/atom (/Area/Foo) (/Node/Bar) (/Comments/exclude/) (/Tag/Foo+Bar) (/Aggregate/My Aggregate) -->
<rule>
<from casesensitive="true">^/service/Feed/atom(?:/Area/([A-Z0-9]+[A-Za-z0-9]*))?(?:/Node/([A-Z0-9]+[A-Za-z0-9]*))?(?:/Comments/([a-z]+))?(?:/Tag/(.+))?(?:/Aggregate/(.+))?$</from>
<to last="true">/servlets/feeds/atom.seam?areaName=$1&nodeName=$2&comments=$3&tag=$4&aggregate=$5</to>
@@ -82,7 +82,7 @@
<to last="true">/servlets/files/download.seam?fileId=$1</to>
</rule>
- <!-- /Foo (/Bar) (/Year/2007 (/Month/08) (/Day/23) (/Page/3) (/Tag/foobar) (/Category/foobar) -->
+ <!-- /Foo (/Bar) (/Year/2007 (/Month/08) (/Day/23) (/Page/3) (/Tag/Foo+Bar) (/Category/FooBar) -->
<rule>
<from casesensitive="true">^/([A-Z0-9]+[A-Za-z0-9]*)(?:/([A-Z0-9]+[A-Za-z0-9]*))?(?:/Year/([0-9]{4}))?(?:/Month/([0-9]{2}))?(?:/Day/([0-9]{2}))?(?:/Page/([0-9]+))?(?:/Tag/(.+))?(?:/Category/(.+))?$</from>
<to>/wiki.seam?areaName=$1&nodeName=$2&year=$3&month=$4&day=$5&page=$6&tag=$7&category=$8</to>
@@ -107,11 +107,11 @@
</rule>
<rule>
<from casesensitive="true">^/cgi-bin/blosxom.cgi/([0-9]{4})/([0-9]{2})/?$</from>
- <to last="true" type="permanent-redirect">%{scheme}://%{server-name}%{context-path}/Bloggers/Everyone/$1/$2</to>
+ <to last="true" type="permanent-redirect">%{scheme}://%{server-name}%{context-path}/Bloggers/Everyone/Year/$1/Month/$2</to>
</rule>
<rule>
<from casesensitive="true">^/cgi-bin/blosxom.cgi/([0-9]{4})/([0-9]{2})/([0-9]{2})/?$</from>
- <to last="true" type="permanent-redirect">%{scheme}://%{server-name}%{context-path}/Bloggers/Everyone/$1/$2/$3</to>
+ <to last="true" type="permanent-redirect">%{scheme}://%{server-name}%{context-path}/Bloggers/Everyone/Year/$1/Month/$2/Day/$3</to>
</rule>
<rule>
<from casesensitive="true">^/cgi-bin/blosxom.cgi/index.rss$</from>
Modified: trunk/examples/wiki/src/etc/i18n/messages_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-02-18 07:21:56 UTC (rev 7432)
@@ -199,8 +199,7 @@
lacewiki.label.search.Terms=Terms
lacewiki.label.search.ExactPhrase=Exact Phrase
lacewiki.label.search.Results=Results
-lacewiki.button.search.Find=<u>F</u>ind
-lacewiki.button.search.Find.accesskey=F
+lacewiki.button.search.Find=Find
lacewiki.label.search.Exclude=Exclude
lacewiki.label.search.AtAnyTime=at any time
lacewiki.label.search.Last7Days=last 7 days
@@ -578,7 +577,7 @@
lacewiki.label.tagEdit.NoTags=No tags defined.
lacewiki.label.tagEdit.NoPopularTags=No popular tags available.
lacewiki.button.tagEdit.Add=Add
-lacewiki.msg.tagEdit.TagCantContainAmpersand=Tag can not contain an ampersand.
+lacewiki.msg.tagEdit.TagCantContainSpecialCharacters=Tag can only contain alphanumeric characters.
# Owner Selector
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java 2008-02-18 07:21:56 UTC (rev 7432)
@@ -73,12 +73,12 @@
}
public void addNewTag() {
- if (newTag.contains("&")) {
+ if (!newTag.matches("[\\w\\s]+")) {
facesMessages.addToControlFromResourceBundleOrDefault(
"newTag",
FacesMessage.SEVERITY_WARN,
- "lacewiki.msg.tagEdit.TagCantContainAmpersand",
- "Tag can not contain an ampersand."
+ "lacewiki.msg.tagEdit.TagCantContainSpecialCharacters",
+ "Tag can only contain alphanumeric characters."
);
} else if (newTag.length() > 0) {
tags.add(newTag);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/model/FeedEntry.java 2008-02-18 07:21:56 UTC (rev 7432)
@@ -156,11 +156,12 @@
}
public String getDescriptionValueStrippedNoNewlines() {
+ if (getDescriptionValue() == null) return null;
return stripHTMLTags(getDescriptionValue()).replaceAll("(\n|\r)", " ");
}
public boolean isTeaserMarkerPresent() {
- return getDescriptionValueStripped().contains(END_TEASER_MARKER);
+ return getDescriptionValueStripped() != null && getDescriptionValueStripped().contains(END_TEASER_MARKER);
}
public String getTeaserStripped() {
@@ -202,6 +203,7 @@
}
private String stripHTMLTags(String original) {
+ if (original == null) return null;
// Hm, that should be enough to make stuff XSS-safe?
return original.replaceAll("\\<([a-zA-Z]|/){1}?.*?\\>","");
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java 2008-02-18 07:21:56 UTC (rev 7432)
@@ -6,6 +6,7 @@
*/
package org.jboss.seam.wiki.core.renderer;
+import org.jboss.seam.Component;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.In;
@@ -43,7 +44,8 @@
public String renderSearchURL(String search) {
if (search == null || search.length() == 0) return "";
StringBuilder url = new StringBuilder();
- url.append(basePath).append("/search/").append(encodeURL(search));
+ String skin = Component.getInstance("skin") != null ? (String)Component.getInstance("skin") : "d";
+ url.append(basePath).append("/search_").append(skin).append(".seam?query=").append(encodeURL(search));
return url.toString();
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregatorPreferences.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregatorPreferences.java 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregatorPreferences.java 2008-02-18 07:21:56 UTC (rev 7432)
@@ -12,6 +12,7 @@
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Range;
+import org.hibernate.validator.Pattern;
/**
* @author Christian Bauer
@@ -59,6 +60,7 @@
visibility = {PreferenceVisibility.INSTANCE},
editorIncludeName = "NumberRange"
)
+ @Pattern(regex="^[a-zA-Z0-9]+[a-zA-Z0-9\\s]*")
@Length(min = 0, max = 255)
private String aggregateId;
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-02-18 07:21:56 UTC (rev 7432)
@@ -238,6 +238,7 @@
by STICKY desc, LAST_POST desc
]]></sql-query>
+ <!-- TODO: Optimize this with native SQL -->
<query name="forumTopicsReplies"><![CDATA[
select
t.id,
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-02-18 07:21:56 UTC (rev 7432)
@@ -194,6 +194,7 @@
// TODO: Ouch...
public static String removeMacros(String string) {
+ if (string == null) return null;
String REGEX_MACRO = Pattern.quote("[") + "<=[a-z]{1}?[a-zA-Z0-9]+?" + Pattern.quote("]");
return string.replaceAll(REGEX_MACRO, "");
Modified: trunk/examples/wiki/view/search_d.xhtml
===================================================================
--- trunk/examples/wiki/view/search_d.xhtml 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/view/search_d.xhtml 2008-02-18 07:21:56 UTC (rev 7432)
@@ -78,16 +78,16 @@
</h:selectOneMenu>
</h:panelGrid>
- <a:commandLink id="find" styleClass="buttonNonpersistent sessionEventTrigger"
+ <a:commandButton id="find" styleClass="commandButtonNonpersistent sessionEventTrigger"
reRender="workspaceSwitcher, searchControl, searchPager, searchResult"
status="globalStatus"
action="#{wikiSearch.search()}"
oncomplete="onAjaxRequestComplete()"
- tabindex="1" accesskey="#{messages['lacewiki.button.search.Find.accesskey']}">
- <h:outputText escape="false" styleClass="buttonLabel" value="#{messages['lacewiki.button.search.Find']}"/>
+ tabindex="1"
+ value="#{messages['lacewiki.button.search.Find']}">
+ <s:defaultAction/>
+ </a:commandButton>
- </a:commandLink>
-
</h:panelGrid>
<s:div id="searchOptions">
Modified: trunk/examples/wiki/view/themes/default/css/template.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/template.css 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/view/themes/default/css/template.css 2008-02-18 07:21:56 UTC (rev 7432)
@@ -449,6 +449,20 @@
padding-bottom: 2px;
}
+.commandButtonNonpersistent {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ background: #fff url(../img/btn.nonpersistent.bg.gif) 0 0 repeat-x;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ margin: 0 5px 0 5px;
+ color: #fff;
+ font-weight: bold;
+ font-size: 11px;
+ border: none;
+}
+
.linkNavigation {
text-decoration:none;
font-size: 85%;
Modified: trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-18 07:21:56 UTC (rev 7432)
@@ -468,6 +468,20 @@
font-size: 85%;
}
+.commandButtonNonpersistent {
+ font-family: "Lucida Sans", Arial, Helvetica, sans-serif;
+ background: #fff url(../img/btn.nonpersistent.bg.gif) 0 0 repeat-x;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ margin: 0 5px 0 5px;
+ color: #fff;
+ font-weight: bold;
+ font-size: 11px;
+ border: none;
+}
+
.linkNavigation {
text-decoration:none;
font-size: 85%;
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-16 15:37:41 UTC (rev 7431)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-18 07:21:56 UTC (rev 7432)
@@ -538,6 +538,20 @@
font-size: 11px;
}
+.commandButtonNonpersistent {
+ font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif;
+ background: #fff url(../img/btn.nonpersistent.bg.gif) 0 0 repeat-x;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ margin: 0 5px 0 5px;
+ color: #fff;
+ font-weight: bold;
+ font-size: 11px;
+ border: none;
+}
+
/* Generic Lists
----------------------------------------------- */
16 years, 10 months
Seam SVN: r7431 - in trunk/examples/wiki: src/main/org/jboss/seam/wiki/core/action and 10 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-16 10:37:41 -0500 (Sat, 16 Feb 2008)
New Revision: 7431
Added:
trunk/examples/wiki/view/themes/inrelationto/mailtemplates/resetPassword.xhtml
Modified:
trunk/examples/wiki/src/etc/i18n/messages_tags_en.properties
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregator.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsAggregator.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsPreferences.java
trunk/examples/wiki/view/includes/tagEditor.xhtml
trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml
trunk/examples/wiki/view/tagDisplay_d.xhtml
trunk/examples/wiki/view/themes/default/css/template.css
trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
Log:
Implemented tag cloud
Modified: trunk/examples/wiki/src/etc/i18n/messages_tags_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/i18n/messages_tags_en.properties 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/src/etc/i18n/messages_tags_en.properties 2008-02-16 15:37:41 UTC (rev 7431)
@@ -2,6 +2,7 @@
tags.preferences.LinkToCurrentDocument=Link to current (aggregator) document
tags.preferences.MaxNumberOfTags=Maximum number of tags displayed
tags.preferences.MinimumCount=Minimum number of occurences of a tag
+tags.preferences.Cloud=Display tags as cloud (not list)
tags.label.Tags=Tags
tags.label.All=All...
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/TagEditor.java 2008-02-16 15:37:41 UTC (rev 7431)
@@ -88,7 +88,7 @@
public List<DisplayTagCount> getPopularTags() {
// Load 6 most popular tags
- if (popularTags == null) popularTags = tagDAO.findTagCounts(wikiRoot, null, 6, 1l);
+ if (popularTags == null) popularTags = tagDAO.findTagCounts(wikiRoot, null, 12, 1l);
// Filter out the ones we already have
List<DisplayTagCount> filtered = new ArrayList<DisplayTagCount>();
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java 2008-02-16 15:37:41 UTC (rev 7431)
@@ -231,8 +231,10 @@
if (startedTx) userTx.commit();
} catch (Exception ex) {
try {
- if (startedTx && userTx.getStatus() != javax.transaction.Status.STATUS_MARKED_ROLLBACK)
+ if (startedTx && userTx.getStatus() != javax.transaction.Status.STATUS_MARKED_ROLLBACK) {
+ log.error("error serving feed, setting transaction to rollback only");
userTx.setRollbackOnly();
+ }
} catch (Exception rbEx) {
rbEx.printStackTrace();
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregator.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregator.java 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/feedAggregator/FeedAggregator.java 2008-02-16 15:37:41 UTC (rev 7431)
@@ -58,9 +58,12 @@
log.debug("aggregating under subscribable identifier: "+ aggregateId);
}
+ int numberOfEntries =
+ prefs.getNumberOfFeedEntries() != null ? prefs.getNumberOfFeedEntries().intValue() : 10;
+
feedEntries =
feedAggregatorDAO.getLatestFeedEntries(
- prefs.getNumberOfFeedEntries().intValue(),
+ numberOfEntries,
validURLs.toArray(new URL[validURLs.size()]),
aggregateId
);
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsAggregator.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsAggregator.java 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsAggregator.java 2008-02-16 15:37:41 UTC (rev 7431)
@@ -41,6 +41,21 @@
prefs.getMaxNumberOfTags() != null ? prefs.getMaxNumberOfTags().intValue() : 0,
prefs.getMinimumCount() != null ? prefs.getMinimumCount() : 1l
);
+ for (DisplayTagCount tagCount : tagsSortedByCount) {
+ if (tagCount.getCount() < lowestTagCount) lowestTagCount = tagCount.getCount();
+ if (tagCount.getCount() > highestTagCount) highestTagCount= tagCount.getCount();
+ }
}
+ private long highestTagCount = 0l;
+ private long lowestTagCount = 0l;
+ public long getHighestTagCount() {
+ return highestTagCount;
+ }
+
+ public long getLowestTagCount() {
+ return lowestTagCount;
+ }
+
+
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsPreferences.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsPreferences.java 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/tags/TagsPreferences.java 2008-02-16 15:37:41 UTC (rev 7431)
@@ -41,6 +41,12 @@
@Range(min = 1l, max = 99l)
private Long minimumCount;
+ @PreferenceProperty(
+ description = "#{messages['tags.preferences.Cloud']}",
+ visibility = {PreferenceVisibility.INSTANCE}
+ )
+ private Boolean cloud;
+
public Boolean getLinkToCurrentDocument() {
return linkToCurrentDocument;
}
@@ -52,4 +58,8 @@
public Long getMinimumCount() {
return minimumCount;
}
+
+ public Boolean getCloud() {
+ return cloud;
+ }
}
Modified: trunk/examples/wiki/view/includes/tagEditor.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/tagEditor.xhtml 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/view/includes/tagEditor.xhtml 2008-02-16 15:37:41 UTC (rev 7431)
@@ -8,43 +8,50 @@
xmlns:s="http://jboss.com/products/seam/taglib">
<a:region>
- <s:decorate id="removeTagsDecorate" template="formFieldDecorate.xhtml">
- <ui:define name="label">#{messages['lacewiki.label.tagEdit.RemoveTags']}</ui:define>
+ <s:div id="removeTags" styleClass="entry">
+ <s:div styleClass="label">
+ <h:outputText value="#{messages['lacewiki.label.tagEdit.RemoveTags']}:"/>
+ </s:div>
+ <s:div styleClass="multiLineInput">
+ <s:fragment rendered="#{empty tagEditor.tags}">
+ <h:outputText value="#{messages['lacewiki.label.tagEdit.NoTags']}"/>
+ </s:fragment>
+ <ui:repeat var="tag" value="#{tagEditor.tagsAsList}">
+ <s:span styleClass="undecoratedLink">
+ <a:commandLink tabindex="1" oncomplete="onAjaxRequestComplete()" status="globalStatus"
+ action="#{tagEditor.removeTag(tag)}"
+ reRender="removeTags, popularTags, newTagDecorate">
+ <h:outputText styleClass="noWrapWhitespace" value="#{tag}"/>
+ </a:commandLink>
+ </s:span>
+ <h:outputText rendered="#{not wiki:isLastItemInList(tagEditor.tagsAsList, tag)}" value=" | "/>
+ </ui:repeat>
+ </s:div>
+ </s:div>
- <s:fragment rendered="#{empty tagEditor.tags}">
- <h:outputText value="#{messages['lacewiki.label.tagEdit.NoTags']}"/>
- </s:fragment>
- <ui:repeat var="tag" value="#{tagEditor.tagsAsList}">
- <s:span styleClass="undecoratedLink">
- <a:commandLink tabindex="1" oncomplete="onAjaxRequestComplete()" status="globalStatus"
- action="#{tagEditor.removeTag(tag)}"
- reRender="removeTagsDecorate, popularTagsDecorate, newTagDecorate">
- <h:outputText value="#{tag}"/>
- </a:commandLink>
- </s:span>
- <h:outputText rendered="#{not wiki:isLastItemInList(tagEditor.tagsAsList, tag)}" value=" | "/>
- </ui:repeat>
+ <s:div id="popularTags" styleClass="entry">
+ <s:div styleClass="label">
+ <h:outputText value="#{messages['lacewiki.label.tagEdit.AddPopularTags']}:"/>
+ </s:div>
+ <s:div styleClass="multiLineInput">
+ <s:fragment rendered="#{empty tagEditor.popularTags}">
+ <h:outputText value="#{messages['lacewiki.label.tagEdit.NoPopularTags']}"/>
+ </s:fragment>
+ <s:div>
+ <ui:repeat var="tagCount" value="#{tagEditor.popularTags}">
+ <s:span styleClass="undecoratedLink">
+ <a:commandLink tabindex="1" oncomplete="onAjaxRequestComplete()" status="globalStatus"
+ action="#{tagEditor.addTag(tagCount.tag)}"
+ reRender="removeTags, popularTags, newTagDecorate">
+ <h:outputText styleClass="noWrapWhitespace" value="#{tagCount.tag}"/>
+ </a:commandLink>
+ </s:span>
+ <h:outputText rendered="#{not wiki:isLastItemInList(tagEditor.popularTags, tagCount)}" value=" | "/>
+ </ui:repeat>
+ </s:div>
+ </s:div>
+ </s:div>
- </s:decorate>
-
- <s:decorate id="popularTagsDecorate" template="formFieldDecorate.xhtml">
- <ui:define name="label">#{messages['lacewiki.label.tagEdit.AddPopularTags']}</ui:define>
-
- <s:fragment rendered="#{empty tagEditor.popularTags}">
- <h:outputText value="#{messages['lacewiki.label.tagEdit.NoPopularTags']}"/>
- </s:fragment>
- <ui:repeat var="tagCount" value="#{tagEditor.popularTags}">
- <s:span styleClass="undecoratedLink">
- <a:commandLink tabindex="1" oncomplete="onAjaxRequestComplete()" status="globalStatus"
- action="#{tagEditor.addTag(tagCount.tag)}"
- reRender="removeTagsDecorate, popularTagsDecorate, newTagDecorate">
- <h:outputText value="#{tagCount.tag}"/>
- </a:commandLink>
- </s:span>
- <h:outputText rendered="#{not wiki:isLastItemInList(tagEditor.popularTags, tagCount)}" value=" | "/>
- </ui:repeat>
- </s:decorate>
-
<s:decorate id="newTagDecorate" template="formFieldDecorate.xhtml">
<ui:define name="label">#{messages['lacewiki.label.tagEdit.NewTag']}</ui:define>
<h:panelGroup>
@@ -53,7 +60,7 @@
<a:commandLink tabindex="1" styleClass="buttonNonpersistent" oncomplete="onAjaxRequestComplete()"
status="globalStatus"
action="#{tagEditor.addNewTag}"
- reRender="removeTagsDecorate, popularTagsDecorate, newTagDecorate">
+ reRender="removeTags, popularTags, newTagDecorate">
<h:outputText styleClass="buttonLabel" value="#{messages['lacewiki.button.tagEdit.Add']}"/>
</a:commandLink>
Modified: trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml 2008-02-16 15:37:41 UTC (rev 7431)
@@ -40,7 +40,7 @@
<h:column>
<s:div styleClass="feedEntryInfo smallFont">
- <s:span rendered="#{not preferences.get('FeedAggregator', currentMacro).hideDate}">
+ <s:span rendered="#{not preferences.get('FeedAggregator', currentMacro).hideDate}" styleClass="noWrapWhitespace">
<h:outputText value="#{feDTO.feedEntry.publishedDate}" rendered="#{empty feDTO.feedEntry.updatedDate}">
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
@@ -50,13 +50,13 @@
<h:outputText value=" #{preferences.get('Wiki').timeZone}"/>
</s:span>
- <s:span styleClass="undecoratedLink"
+ <s:span styleClass="undecoratedLink noWrapWhitespace"
rendered="#{not preferences.get('FeedAggregator', currentMacro).hideAuthor}">
<h:outputText value=", #{messages['feedAggregator.label.By']} "/>
<h:outputText styleClass="feedEntryAuthor" value="#{wiki:escapeAtSymbol(feDTO.feedEntry.author)}"/>
</s:span>
- <s:span styleClass="undecoratedLink"
+ <s:span styleClass="undecoratedLink noWrapWhitespace"
rendered="#{not preferences.get('FeedAggregator', currentMacro).hideFeedInfo}">
<h:outputText value=" #{messages['feedAggregator.label.On']} "/>
<h:outputLink value="#{feDTO.feed.link}">
Modified: trunk/examples/wiki/view/tagDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/tagDisplay_d.xhtml 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/view/tagDisplay_d.xhtml 2008-02-16 15:37:41 UTC (rev 7431)
@@ -70,15 +70,15 @@
<f:facet name="header">
<h:outputText value="#{messages['lacewiki.label.tagDisplay.InDirectory']}"/>
</f:facet>
- <h:graphicImage value="#{themePath}/img/icon.dir.gif"
- width="18" height="20" style="vertical-align: middle; margin-right: 5px;"/>
- <s:link value="#{wiki:truncateString(file.parent.name, 20, '...')}" propagation="none"
- view="/dirDisplay_#{skin}.xhtml"
- rendered="#{s:hasPermission('Node','read',file.parent)}" tabindex="1">
- <f:param name="directoryId" value="#{file.parent.id}"/>
- </s:link>
+ <s:fragment rendered="#{s:hasPermission('Node','read',file.parent)}">
+ <h:graphicImage value="#{themePath}/img/icon.dir.gif"
+ width="18" height="20" style="vertical-align: middle; margin-right: 5px;"/>
+ <h:outputLink value="#{wikiURLRenderer.renderURL(file.parent)}" tabindex="1">
+ <h:outputText value="#{wiki:truncateString(file.parent.name, 20, '...')}"/>
+ </h:outputLink>
+ </s:fragment>
<h:outputText value="#{wiki:truncateString(file.parent.name, 20, '...')}"
- rendered="#{!s:hasPermission('Node','read',file)}"/>
+ rendered="#{!s:hasPermission('Node','read',file.parent)}"/>
</h:column>
<h:column>
<f:facet name="header">
Modified: trunk/examples/wiki/view/themes/default/css/template.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/template.css 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/view/themes/default/css/template.css 2008-02-16 15:37:41 UTC (rev 7431)
@@ -604,10 +604,19 @@
text-align: left;
}
+.entry .multiLineInput {
+ text-align: left;
+ margin-left: 155px;
+}
+
.wideLabels .entry .label {
width: 220px;
}
+.wideLabels .entry .multiLineInput {
+ margin-left: 240px;
+}
+
.errorEntry {
background-color: #ffeeee;
}
Modified: trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-16 15:37:41 UTC (rev 7431)
@@ -615,10 +615,19 @@
text-align: left;
}
+.entry .multiLineInput {
+ text-align: left;
+ margin-left: 155px;
+}
+
.wideLabels .entry .label {
width: 220px;
}
+.wideLabels .entry .multiLineInput {
+ margin-left: 240px;
+}
+
.errorEntry {
background-color: #ffeeee;
}
Copied: trunk/examples/wiki/view/themes/inrelationto/mailtemplates/resetPassword.xhtml (from rev 7424, trunk/examples/wiki/view/themes/default/mailtemplates/resetPassword.xhtml)
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/mailtemplates/resetPassword.xhtml (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/mailtemplates/resetPassword.xhtml 2008-02-16 15:37:41 UTC (rev 7431)
@@ -0,0 +1,49 @@
+<m:message xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:m="http://jboss.com/products/seam/mail"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <m:header name="X-Sent-From" value="JBoss Seam" />
+ <m:header name="Precedence" value="list"/>
+ <m:from name="Seam Wiki" address="do-not-reply(a)jboss.com" />
+ <m:to name="#{resetPasswordOfUser.fullname}">#{resetPasswordOfUser.email}</m:to>
+ <m:subject>[LaceWiki] Password Reset Request</m:subject>
+ <m:body>
+ <html>
+ <body>
+ <p>Hello #{resetPasswordOfUser.fullname},</p>
+
+ <p>
+ you (or someone else) requested a password reset on LaceWiki. You need to click the following link to confirm the
+ validity of your e-mail address and to enter a new password:</p>
+
+ <h:outputLink value="#{preferences.get('Wiki').baseUrl}/resetPassword.seam?activationCode=#{resetPasswordOfUser.activationCode}">Click this link to reset the password of the account '#{resetPasswordOfUser.username}'</h:outputLink>
+
+ <p>
+ If you did not request a password reset, or if you do not reset your password, your account will still be active
+ with your old password.
+ </p>
+
+ <p>
+ Regards,<br/>
+ LaceWiki
+ </p>
+ </body>
+ </html>
+ <f:facet name="alternative">
+ <h:outputText>
+Hello #{resetPasswordOfUser.fullname},
+
+you (or someone else) requested a password reset on LaceWiki. You need to use the following link to confirm the
+validity of your e-mail address and to enter a new password for the account '#{resetPasswordOfUser.username}':
+
+#{preferences.get('Wiki').baseUrl}/resetPassword.seam?activationCode=#{resetPasswordOfUser.activationCode}
+
+If you did not request a password reset, or if you do not reset your password, your account will still
+be active with your old password.
+
+Regards,
+LaceWiki
+ </h:outputText>
+ </f:facet>
+ </m:body>
+</m:message>
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-16 15:30:10 UTC (rev 7430)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-16 15:37:41 UTC (rev 7431)
@@ -898,10 +898,19 @@
text-align: left;
}
+.entry .multiLineInput {
+ text-align: left;
+ margin-left: 155px;
+}
+
.wideLabels .entry .label {
width: 220px;
}
+.wideLabels .entry .multiLineInput {
+ margin-left: 240px;
+}
+
.errorEntry {
background-color: #ffeeee;
}
16 years, 10 months
Seam SVN: r7430 - in trunk/examples/wiki: src/test/org/jboss/seam/wiki/test/plugin and 1 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-16 10:30:10 -0500 (Sat, 16 Feb 2008)
New Revision: 7430
Modified:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumDAO.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumDAOTests.java
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumQueryTests.java
trunk/examples/wiki/view/plugins/tags/plugin.xhtml
Log:
Optimized execution plan of forum list SQL queries
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumDAO.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumDAO.java 2008-02-15 17:48:01 UTC (rev 7429)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumDAO.java 2008-02-16 15:30:10 UTC (rev 7430)
@@ -22,6 +22,9 @@
@In
EntityManager restrictedEntityManager;
+ @In
+ Integer currentAccessLevel;
+
public List<WikiMenuItem> findForumsMenuItems(WikiDirectory forumsDirectory) {
return getSession(true).getNamedQuery("forumsMenuItems")
.setParameter("parentDir", forumsDirectory)
@@ -70,7 +73,8 @@
// Add reply count to topic count to get total num of posts
getSession(true).getNamedQuery("forumReplyCount")
- .setParameter("parentDir", forumsDirectory)
+ .setParameter("parentDirId", forumsDirectory.getId())
+ .setParameter("readAccessLevel", currentAccessLevel)
.setComment("Finding reply count for all forums")
.setCacheable(true)
.setResultTransformer(
@@ -107,7 +111,8 @@
// Append last reply WikiComment
getSession(true).getNamedQuery("forumLastReply")
- .setParameter("parentDir", forumsDirectory)
+ .setParameter("parentDirId", forumsDirectory.getId())
+ .setParameter("readAccessLevel", currentAccessLevel)
.setComment("Finding last replies for all forums")
.setResultTransformer(
new ResultTransformer() {
@@ -184,6 +189,7 @@
getSession(true).getNamedQuery("forumTopics")
.setParameter("parentNodeId", forum.getId())
+ .setParameter("readAccessLevel", currentAccessLevel)
.setComment("Retrieving forum topics")
.setFirstResult(new Long(firstResult).intValue())
.setMaxResults(new Long(maxResults).intValue())
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-02-15 17:48:01 UTC (rev 7429)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-02-16 15:30:10 UTC (rev 7430)
@@ -38,25 +38,30 @@
by f.id
</query>
- <query name="forumReplyCount">
+ <sql-query name="forumReplyCount">
+ <return-scalar column="FORUM_ID" type="long"/>
+ <return-scalar column="REPLY_COUNT" type="long"/>
select
- f.id, count(distinct c)
+ dir0.NODE_ID as FORUM_ID, count(distinct c0.NODE_ID) as REPLY_COUNT
from
- WikiDirectory f, WikiDocument t, WikiComment c
- where
- f.parent = :parentDir
- and t.parent = f
- and (t.headerMacrosString like '%forumPosting%' or t.headerMacrosString like '%forumStickyPosting%')
- and c.nodeInfo.nsThread in (select c2.nodeInfo.nsThread from WikiComment c2 where c2.parent = t)
- group
- by f.id
- </query>
+ WIKI_DIRECTORY dir0
+ inner join WIKI_NODE dir1 on dir0.NODE_ID=dir1.NODE_ID
+ and dir1.READ_ACCESS_LEVEL <= :readAccessLevel and dir1.PARENT_NODE_ID = :parentDirId
+ inner join WIKI_NODE doc1 on doc1.PARENT_NODE_ID = dir0.NODE_ID
+ and doc1.READ_ACCESS_LEVEL <= :readAccessLevel
+ inner join WIKI_DOCUMENT doc0 on doc0.NODE_ID=doc1.NODE_ID
+ and (doc0.HEADER_MACROS like '%forumPosting%' or doc0.HEADER_MACROS like '%forumStickyPosting%')
+ inner join WIKI_NODE ct0 on ct0.PARENT_NODE_ID = doc0.NODE_ID
+ inner join WIKI_COMMENT ct1 on ct0.NODE_ID = ct1.NODE_ID
+ inner join WIKI_COMMENT c0 on c0.NS_THREAD in (ct1.NS_THREAD)
+ group by dir0.NODE_ID
+ </sql-query>
<query name="forumLastTopic">
select
f.id, t
from
- WikiDirectory f, WikiDocument t left join fetch t.parent left join fetch t.createdBy u left join fetch u.profile
+ WikiDirectory f, WikiDocument t left join fetch t.parent
where
f.parent = :parentDir
and t.parent = f
@@ -64,23 +69,61 @@
and t.createdOn = (select max(t2.createdOn) from WikiDocument t2 where t2 = t)
</query>
- <query name="forumLastReply">
+ <sql-query name="forumLastReply">
+ <return-scalar column="FORUM_ID" type="long"/>
+ <return class="org.jboss.seam.wiki.core.model.WikiComment"/>
select
- f.id, c
+ dir1.NODE_ID as FORUM_ID,
+
+ c1.NODE_ID as NODE_ID,
+ c1.OBJ_VERSION as OBJ_VERSION,
+ c1.RATING as RATING,
+ c1.AREA_NR as AREA_NR,
+ c1.NAME as NAME,
+ c1.WIKINAME as WIKINAME,
+ c1.CREATED_ON as CREATED_ON,
+ c1.CREATED_BY_USER_ID as CREATED_BY_USER_ID,
+ c1.LAST_MODIFIED_ON as LAST_MODIFIED_ON,
+ c1.LAST_MODIFIED_BY_USER_ID as LAST_MODIFIED_BY_USER_ID,
+ c1.WRITE_ACCESS_LEVEL as WRITE_ACCESS_LEVEL,
+ c1.READ_ACCESS_LEVEL as READ_ACCESS_LEVEL,
+ c1.WRITE_PROTECTED as WRITE_PROTECTED,
+ c1.PARENT_NODE_ID as PARENT_NODE_ID,
+
+ c0.SUBJECT as SUBJECT,
+ c0.FROM_USER_NAME as FROM_USER_NAME,
+ c0.FROM_USER_EMAIL as FROM_USER_EMAIL,
+ c0.FROM_USER_HOMEPAGE as FROM_USER_HOMEPAGE,
+ c0.USE_WIKI_TEXT as USE_WIKI_TEXT,
+ c0.NS_LEFT as NS_LEFT,
+ c0.NS_RIGHT as NS_RIGHT,
+ c0.NS_THREAD as NS_THREAD
from
- WikiDirectory f, WikiDocument t, WikiComment c left join fetch c.parent left join fetch c.createdBy u left join fetch u.profile
+ WIKI_DIRECTORY dir0
+ inner join WIKI_NODE dir1
+ on dir0.NODE_ID = dir1.NODE_ID
+ and dir1.PARENT_NODE_ID = :parentDirId
+ and dir1.READ_ACCESS_LEVEL <= :readAccessLevel,
+ WIKI_COMMENT c0
+ inner join WIKI_NODE c1 on c0.NODE_ID = c1.NODE_ID
where
- f.parent = :parentDir
- and t.parent = f
- and (t.headerMacrosString like '%forumPosting%' or t.headerMacrosString like '%forumStickyPosting%')
- and c.nodeInfo.nsThread in (select c2 from WikiComment c2 where c2.parent = t)
- and c.createdOn = (
- select max(c3.createdOn) from WikiDirectory f2, WikiDocument t2, WikiComment c3
- where f2.parent = :parentDir and t2.parent = f2
- and (t2.headerMacrosString like '%forumPosting%' or t2.headerMacrosString like '%forumStickyPosting%')
- and c3.nodeInfo.nsThread in (select c4.nodeInfo.nsThread from WikiComment c4 where c4.parent = t2)
+ c0.NODE_ID = (
+ select ct3.NODE_ID
+ from WIKI_COMMENT ct
+ inner join WIKI_NODE ct1 on ct.NODE_ID = ct1.NODE_ID
+ inner join WIKI_COMMENT ct2 on ct2.NS_THREAD in (ct.NS_THREAD)
+ inner join WIKI_NODE ct3 on ct2.NODE_ID = ct3.NODE_ID,
+ WIKI_NODE doc0 inner join WIKI_DOCUMENT doc1
+ on doc0.NODE_ID = doc1.NODE_ID
+ and (doc1.HEADER_MACROS like '%forumPosting%' or doc1.HEADER_MACROS like '%forumStickyPosting%')
+ where
+ doc0.PARENT_NODE_ID= dir0.NODE_ID
+ and doc0.READ_ACCESS_LEVEL <= :readAccessLevel
+ and ct1.PARENT_NODE_ID = doc0.NODE_ID
+ order by ct3.CREATED_ON desc
+ limit 1
)
- </query>
+ </sql-query>
<query name="forumUnreadTopics"><![CDATA[
select
@@ -136,8 +179,6 @@
and (t.headerMacrosString like '%forumPosting%' or t.headerMacrosString like '%forumStickyPosting%')
</query>
-
- <!-- TODO: HQL doesn't support CASE...WHEN or arbitrary OUTER JOINs -->
<!-- TODO: We could optimize this a little if we'd also retrieve the CREATED_BY_USER_ID guy but
we'll hit the 2nd level cache anyway or we load them in batches... -->
<sql-query name="forumTopics">
@@ -180,17 +221,18 @@
from
WIKI_DOCUMENT doc0 inner join WIKI_FILE doc1 on doc0.NODE_ID=doc1.NODE_ID inner join WIKI_NODE doc2 on doc0.NODE_ID=doc2.NODE_ID
- left outer join WIKI_NODE c0
- on c0.NODE_ID = (
- select ct3.NODE_ID from WIKI_COMMENT ct
- inner join WIKI_NODE ct1 on ct.NODE_ID = ct1.NODE_ID
- inner join WIKI_COMMENT ct2 on ct2.NS_THREAD in (ct.NS_THREAD)
- inner join WIKI_NODE ct3 on ct2.NODE_ID = ct3.NODE_ID
- where ct1.PARENT_NODE_ID = doc0.NODE_ID order by ct3.CREATED_ON desc
- limit 1
- )
+ left outer join WIKI_NODE c0
+ on c0.NODE_ID = (
+ select ct3.NODE_ID from WIKI_COMMENT ct
+ inner join WIKI_NODE ct1 on ct.NODE_ID = ct1.NODE_ID
+ inner join WIKI_COMMENT ct2 on ct2.NS_THREAD in (ct.NS_THREAD)
+ inner join WIKI_NODE ct3 on ct2.NODE_ID = ct3.NODE_ID
+ where ct1.PARENT_NODE_ID = doc0.NODE_ID order by ct3.CREATED_ON desc
+ limit 1
+ )
where
doc2.PARENT_NODE_ID = :parentNodeId
+ and doc2.READ_ACCESS_LEVEL <= :readAccessLevel
and (doc0.HEADER_MACROS like '%forumPosting%' or doc0.HEADER_MACROS like '%forumStickyPosting%')
order
by STICKY desc, LAST_POST desc
@@ -223,7 +265,6 @@
]]></query>
- <!-- TODO: HQL doesn't support FROM clause subselect -->
<sql-query name="forumPostersAndRatingPoints">
<return class="org.jboss.seam.wiki.core.model.User"/>
<return-scalar column="RATING_POINTS" type="long"/>
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumDAOTests.java
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumDAOTests.java 2008-02-15 17:48:01 UTC (rev 7429)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumDAOTests.java 2008-02-16 15:30:10 UTC (rev 7430)
@@ -30,6 +30,8 @@
@Test
public void findForumsGuest() throws Exception {
+ if (!database.equals(Database.mysql)) return;
+
new FacesRequest() {
protected void invokeApplication() throws Exception {
WikiNodeDAO nodeDAO = (WikiNodeDAO)getInstance(WikiNodeDAO.class);
@@ -47,6 +49,7 @@
@Test
public void findForumsMember() throws Exception {
+ if (!database.equals(Database.mysql)) return;
loginMember();
@@ -69,6 +72,7 @@
@Test
public void findForumInfoMember() throws Exception {
+ if (!database.equals(Database.mysql)) return;
loginMember();
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumQueryTests.java
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumQueryTests.java 2008-02-15 17:48:01 UTC (rev 7429)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/plugin/ForumQueryTests.java 2008-02-16 15:30:10 UTC (rev 7430)
@@ -29,6 +29,7 @@
@Test
public void findForums() throws Exception {
+ if (!database.equals(Database.mysql)) return;
loginMember();
Modified: trunk/examples/wiki/view/plugins/tags/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-15 17:48:01 UTC (rev 7429)
+++ trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-16 15:30:10 UTC (rev 7430)
@@ -13,29 +13,55 @@
<h:outputText value="#{messages['tags.label.Tags']}"/>
</s:div>
- <div class="boxContent">
+ <div class="boxContent" style="padding: 5px;">
- <h:dataTable value="#{tagsSortedByCount}" var="tagCount"
- columnClasses="defaultColumn, onePercentColumn"
- cellpadding="0" cellspacing="0" border="0">
- <h:column>
- <s:span rendered="#{param.tag != tagCount.tag and preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
- <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}/Tag/#{wiki:encodeURL(tagCount.tag)}">#{tagCount.tag}</h:outputLink>
+ <s:fragment rendered="#{not preferences.get('Tags', currentMacro).cloud}">
+
+ <h:dataTable value="#{tagsSortedByCount}" var="tagCount"
+ rendered="#{not preferences.get('Tags', currentMacro).cloud}"
+ columnClasses="defaultColumn, onePercentColumn"
+ cellpadding="0" cellspacing="0" border="0">
+ <h:column>
+ <s:span rendered="#{param.tag != tagCount.tag and preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}/Tag/#{wiki:encodeURL(tagCount.tag)}">#{tagCount.tag}</h:outputLink>
+ </s:span>
+ <s:span rendered="#{param.tag != tagCount.tag and not preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tagCount.tag)}">
+ <h:outputText value="#{tagCount.tag}"/>
+ </h:outputLink>
+ </s:span>
+ <s:span rendered="#{param.tag == tagCount.tag}">
+ <h:outputText value="> #{tagCount.tag} <"/>
+ </s:span>
+ </h:column>
+ <h:column>
+ <h:outputText value="(#{tagCount.count})"/>
+ </h:column>
+ </h:dataTable>
+
+ </s:fragment>
+
+ <s:fragment rendered="#{preferences.get('Tags', currentMacro).cloud}">
+
+ <ui:repeat var="tagCount" value="#{tagsSortedByCount}">
+ <s:span styleClass="tagCloudItem noWrapWhitespace" style="font-size: #{50+(100/tagsAggregator.highestTagCount*tagCount.count)}%;">
+ <s:span rendered="#{param.tag != tagCount.tag and preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}/Tag/#{wiki:encodeURL(tagCount.tag)}">#{tagCount.tag}</h:outputLink>
+ </s:span>
+ <s:span rendered="#{param.tag != tagCount.tag and not preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tagCount.tag)}">
+ <h:outputText value="#{tagCount.tag}"/>
+ </h:outputLink>
+ </s:span>
+ <s:span rendered="#{param.tag == tagCount.tag}">
+ <h:outputText value="> #{tagCount.tag} <"/>
+ </s:span>
</s:span>
- <s:span rendered="#{param.tag != tagCount.tag and not preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
- <h:outputLink value="#{wikiURLRenderer.renderTagURL(tagCount.tag)}">
- <h:outputText value="#{tagCount.tag}"/>
- </h:outputLink>
- </s:span>
- <s:span rendered="#{param.tag == tagCount.tag}">
- <h:outputText value="> #{tagCount.tag} <"/>
- </s:span>
- </h:column>
- <h:column>
- <h:outputText value="(#{tagCount.count})"/>
- </h:column>
- </h:dataTable>
+ <h:outputText value="   "/>
+ </ui:repeat>
+ </s:fragment>
+
<s:span styleClass="undecoratedLink defaultColumn"
rendered="#{preferences.get('Tags', currentMacro).linkToCurrentDocument and not empty param.tag}">
<h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}">
16 years, 10 months
Seam SVN: r7429 - in trunk/examples/wiki: src/etc/i18n and 11 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-15 12:48:01 -0500 (Fri, 15 Feb 2008)
New Revision: 7429
Modified:
trunk/examples/wiki/src/etc/WEB-INF/pages.xml
trunk/examples/wiki/src/etc/i18n/messages_en.properties
trunk/examples/wiki/src/etc/i18n/messages_forum_en.properties
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome.java
trunk/examples/wiki/view/docEdit_d.xhtml
trunk/examples/wiki/view/includes/searchControl.xhtml
trunk/examples/wiki/view/includes/wikiTextEditor.xhtml
trunk/examples/wiki/view/plugins/tags/plugin.xhtml
trunk/examples/wiki/view/themes/default/js/lacewiki.js
trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js
trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js
Log:
Button for manual preview, force validation for comments/forum postings
Modified: trunk/examples/wiki/src/etc/WEB-INF/pages.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-02-15 17:48:01 UTC (rev 7429)
@@ -30,6 +30,9 @@
<rule if-outcome="redirectToDocumentNoConversation">
<redirect url="#{wikiURLRenderer.renderURL(documentHome.instance)}"/>
</rule>
+ <rule if-outcome="redirectToComment">
+ <redirect url="#{wikiURLRenderer.renderURL(documentHome.instance)}#comment#{commentHome.instance.id}"/>
+ </rule>
</navigation>
</page>
Modified: trunk/examples/wiki/src/etc/i18n/messages_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-02-15 17:48:01 UTC (rev 7429)
@@ -218,7 +218,7 @@
# Wiki Text Editor
lacewiki.label.wikiTextEditor.CharactersLeft=chars left
-lacewiki.msg.wikiTextEditor.EditThisTextPreviewUpdatesAutomatically=Click HELP for text formatting instructions. Then edit this text, this live preview updates if you stop typing for 3 seconds.
+lacewiki.msg.wikiTextEditor.EditThisText=Click HELP for text formatting instructions. Then edit this text and check the preview.
lacewiki.msg.wikiTextEditor.FormatSelection=Format selected text...
lacewiki.msg.wikiTextEditor.FormatInline=-------- Inline --------
lacewiki.msg.wikiTextEditor.FormatMonospace=Monospace/Code
@@ -237,6 +237,8 @@
lacewiki.msg.wikiTextEditor.FormatHeadline2=Headline 2
lacewiki.msg.wikiTextEditor.FormatHeadline3=Headline 3
lacewiki.msg.wikiTextEditor.FormatHeadline4=Headline 4
+lacewiki.button.wikiTextEditor.UpdatePreview=Update Pre<u>v</u>iew
+lacewiki.button.wikiTextEditor.UpdatePreview.accesskey=V
# Document Display
@@ -531,7 +533,7 @@
lacewiki.label.docEdit.PushOnFeeds=Push changes onto feeds
lacewiki.label.docEdit.PushOnParentFeeds=Push changes onto feeds of parent directories
lacewiki.label.docEdit.Content=Content
-lacewiki.label.docEdit.EnableLivePreview=Enable live preview
+lacewiki.label.docEdit.EnablePreview=Enable preview
lacewiki.label.docEdit.ShowPluginSettings=Show plugin settings in preview
lacewiki.label.docEdit.CreatedOn=Created on
lacewiki.label.docEdit.Options=Options
Modified: trunk/examples/wiki/src/etc/i18n/messages_forum_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/i18n/messages_forum_en.properties 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/etc/i18n/messages_forum_en.properties 2008-02-15 17:48:01 UTC (rev 7429)
@@ -72,8 +72,8 @@
forum.button.RemoveReply=Remove
forum.button.PreviousPosting=Pre<u>v</u>ious
forum.button.PreviousPosting.accesskey=V
-forum.button.NextPosting=<u>N</u>ext
-forum.button.NextPosting.accesskey=N
+forum.button.NextPosting=Ne<u>x</u>t
+forum.button.NextPosting.accesskey=X
forum.label.replyForm.Name=Name
forum.label.replyForm.Email=E-mail address (optional)
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -8,6 +8,7 @@
import org.jboss.seam.ScopeType;
import org.jboss.seam.Component;
+import org.jboss.seam.ui.validator.FormattedTextValidator;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
import org.jboss.seam.core.Events;
@@ -22,6 +23,8 @@
import org.jboss.seam.wiki.util.WikiUtil;
import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import javax.faces.application.FacesMessage;
+import javax.faces.validator.ValidatorException;
import java.util.Date;
@Name("commentHome")
@@ -93,7 +96,7 @@
comment.setSubject(documentHome.getInstance().getName());
// Default to help text
- comment.setContent(Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisTextPreviewUpdatesAutomatically"));
+ comment.setContent(Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisText"));
return comment;
}
@@ -108,6 +111,9 @@
@Override
public String persist() {
+
+ if (!validateContent()) return null;
+
String outcome = super.persist();
if (outcome != null) {
@@ -121,7 +127,7 @@
Events.instance().raiseEvent("Comment.persisted");
endConversation();
- return "redirectToDocumentNoConversation";
+ return "redirectToComment";
}
return null; // Prevent navigation
}
@@ -194,6 +200,22 @@
/* -------------------------- Internal Methods ------------------------------ */
+ protected boolean validateContent() {
+ FormattedTextValidator validator = new FormattedTextValidator();
+ try {
+ validator.validate(null, null, getInstance().getContent());
+ } catch (ValidatorException e) {
+ // TODO: Needs to use resource bundle, how?
+ getFacesMessages().addToControl(
+ getTextAreaId(),
+ FacesMessage.SEVERITY_WARN,
+ e.getFacesMessage().getSummary()
+ );
+ return false;
+ }
+ return true;
+ }
+
protected void endConversation() {
showForm = false;
Conversation.instance().end();
@@ -231,10 +253,14 @@
quoted.append(WikiUtil.formatDate(date)).append(":").append("_").append("<br/>\n\n");
quoted.append(text);
quoted.append("\n").append("</blockquote>").append("\n\n");
- quoted.append(Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisTextPreviewUpdatesAutomatically"));
+ quoted.append(Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisText"));
return quoted.toString();
}
+ protected String getTextAreaId() {
+ return "commentTextArea";
+ }
+
/* -------------------------- Public Features ------------------------------ */
public boolean isShowForm() {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeHome.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -129,6 +129,9 @@
public N afterNodeCreated(N node) {
+ if (parentNodeId == null)
+ throw new IllegalStateException("Missing parentNodeId parameter");
+
outjectCurrentLocation(node);
return node;
@@ -136,9 +139,6 @@
public N beforeNodeEditNew(N node) {
- if (parentNodeId == null)
- throw new IllegalStateException("Missing parentNodeId parameter");
-
getLog().debug("loading parent node with id: " + parentNodeId);
parentNode = findParentNode(parentNodeId);
if (parentNode == null)
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -18,6 +18,8 @@
import org.jboss.seam.wiki.core.model.Feed;
import org.jboss.seam.wiki.core.ui.FeedServlet;
+import java.io.Serializable;
+
/**
* Renders outgoing URLs in a unified fashion, see urlrewrite.xml for incoming URL GET request rewriting.
* <p>
@@ -30,7 +32,7 @@
@Name("wikiURLRenderer")
@Scope(ScopeType.CONVERSATION)
@AutoCreate
-public class WikiURLRenderer {
+public class WikiURLRenderer implements Serializable {
@In
String basePath;
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiTextEditor.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -17,10 +17,6 @@
/**
* Store UI status of wiki text editor.
* <p>
- * This is called via Javascript when the user changes some visual properties of the wiki text editor,
- * atm this is only resizing of the text area. We need to store the UI properties so that we can restore
- * the UI when the user exits the page and comes back later in the conversation. Or, when we reRender the
- * wiki text editor we need to apply these properties so it looks the same as before the reRender.
*
* @author Christian Bauer
*/
@@ -28,17 +24,6 @@
@Scope(ScopeType.CONVERSATION) // TODO: Should be PAGE but doesn't work with Seam remoting!
public class WikiTextEditor implements Serializable {
- private Map<String, String> textAreaRows = new HashMap<String, String>();
-
- @WebRemote
- public void setTextAreaRows(String editorId, String textAreaRows) {
- this.textAreaRows.put(editorId, textAreaRows);
- }
-
- public String getTextAreaRows(String editorId) {
- return textAreaRows.get(editorId);
- }
-
public void validate(String textEditorId, String value) {
if (value == null) return;
FormattedTextValidator validator = new FormattedTextValidator();
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/faqBrowser/FaqQuestionHome.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -54,7 +54,7 @@
}
@Override
public String getContentText() {
- return Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisTextPreviewUpdatesAutomatically");
+ return Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisText");
}
@Override
public void setOptions(WikiDocument newQuestion) {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ReplyHome.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -77,6 +77,10 @@
return "forumReplyFeedEntryManager";
}
+ protected String getTextAreaId() {
+ return "replyTextArea";
+ }
+
/* -------------------------- Messages ------------------------------ */
protected void createdMessage() {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome.java 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/TopicHome.java 2008-02-15 17:48:01 UTC (rev 7429)
@@ -1,6 +1,7 @@
package org.jboss.seam.wiki.plugin.forum;
import org.jboss.seam.ScopeType;
+import org.jboss.seam.ui.validator.FormattedTextValidator;
import org.jboss.seam.annotations.*;
import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.core.Conversation;
@@ -14,6 +15,8 @@
import org.jboss.seam.wiki.preferences.Preferences;
import static javax.faces.application.FacesMessage.SEVERITY_INFO;
+import javax.faces.application.FacesMessage;
+import javax.faces.validator.ValidatorException;
@Name("topicHome")
@Scope(ScopeType.CONVERSATION)
@@ -66,7 +69,7 @@
}
@Override
public String getContentText() {
- return Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisTextPreviewUpdatesAutomatically");
+ return Messages.instance().get("lacewiki.msg.wikiTextEditor.EditThisText");
}
@Override
public String[] getFooterMacrosAsString() {
@@ -88,6 +91,23 @@
}
@Override
+ protected boolean preparePersist() {
+ FormattedTextValidator validator = new FormattedTextValidator();
+ try {
+ validator.validate(null, null, getInstance().getContent());
+ } catch (ValidatorException e) {
+ // TODO: Needs to use resource bundle, how?
+ getFacesMessages().addToControl(
+ "topicTextArea",
+ FacesMessage.SEVERITY_WARN,
+ e.getFacesMessage().getSummary()
+ );
+ return false;
+ }
+ return super.preparePersist();
+ }
+
+ @Override
protected boolean beforePersist() {
// TODO: Use macro parameters for "sticky" and "notify" options instead of additional macros
if (isSticky()) {
Modified: trunk/examples/wiki/view/docEdit_d.xhtml
===================================================================
--- trunk/examples/wiki/view/docEdit_d.xhtml 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/docEdit_d.xhtml 2008-02-15 17:48:01 UTC (rev 7429)
@@ -194,7 +194,7 @@
oncomplete="onAjaxRequestComplete()"
reRender="contentPreview, docEditForm:contentTextEditor, pluginSwitch"/>
</h:selectBooleanCheckbox>
- <h:outputText value="#{messages['lacewiki.label.docEdit.EnableLivePreview']}"/>
+ <h:outputText value="#{messages['lacewiki.label.docEdit.EnablePreview']}"/>
</div>
</s:div>
Modified: trunk/examples/wiki/view/includes/searchControl.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/searchControl.xhtml 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/includes/searchControl.xhtml 2008-02-15 17:48:01 UTC (rev 7429)
@@ -16,7 +16,6 @@
<h:commandButton id="submitSearch"
styleClass="searchControlButton sessionEventTrigger" tabindex="61"
- accesskey="#{messages['lacewiki.button.searchControl.Find.accesskey']}"
action="search" value="#{messages['lacewiki.button.searchControl.Find']}">
<s:defaultAction/>
</h:commandButton>
Modified: trunk/examples/wiki/view/includes/wikiTextEditor.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-02-15 17:48:01 UTC (rev 7429)
@@ -72,7 +72,7 @@
<h:panelGrid columns="1" cellpadding="0" cellspacing="0" border="0">
- <h:panelGrid columns="2" cellpadding="0" cellspacing="0" border="0">
+ <h:panelGrid columns="3" cellpadding="0" cellspacing="0" border="0">
<s:fragment>
<select id="#{textEditorId}Formatter"
@@ -114,6 +114,24 @@
<ui:param name="helpDocument" value="Wiki Text Markup"/>
</ui:decorate>
+ <s:fragment>
+ <s:fragment rendered="#{not empty textPreviewId}">
+ <h:outputLink value="#"
+ tabindex="1" styleClass="buttonNonpersistent noWrapWhitespace"
+ accesskey="#{messages['lacewiki.button.wikiTextEditor.UpdatePreview.accesskey']}"
+ onclick="rememberCursorPosition('##{namingContainer}\\\\:#{textEditorId}TextArea'); #{textEditorId}UpdatePreview(); return false;">
+ <h:outputText styleClass="buttonLabel" escape="false" value="#{messages['lacewiki.button.wikiTextEditor.UpdatePreview']}"/>
+ </h:outputLink>
+
+ <a:jsFunction name="#{textEditorId}UpdatePreview"
+ action="#{wikiTextEditor.validate(textEditorId, valueBinding)}"
+ status="globalStatus"
+ reRender="#{textEditorId}MessageLabel, #{textPreviewId}"
+ eventsQueue="ajaxEventQueue"
+ oncomplete="onAjaxRequestComplete();setRememberedCursorPosition('##{namingContainer}\\\\:#{textEditorId}TextArea');"/>
+ </s:fragment>
+ </s:fragment>
+
</h:panelGrid>
<s:div id="#{textEditorId}TextAreaDiv" styleClass="textEditResizable">
@@ -122,9 +140,7 @@
styleClass="ajaxSupport"
tabindex="1"
cols="#{empty textEditorColumns ? '58' : textEditorColumns}"
- rows="#{not empty wikiTextEditor.getTextAreaRows(textEditorId)
- ? wikiTextEditor.getTextAreaRows(textEditorId)
- : textEditorRows}"
+ rows="#{textEditorRows}"
required="#{valueRequired}"
value="#{valueBinding}">
<a:support event="onkeyup"
Modified: trunk/examples/wiki/view/plugins/tags/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-15 17:48:01 UTC (rev 7429)
@@ -36,7 +36,8 @@
</h:column>
</h:dataTable>
- <s:span styleClass="undecoratedLink defaultColumn" rendered="#{preferences.get('Tags', currentMacro).linkToCurrentDocument}">
+ <s:span styleClass="undecoratedLink defaultColumn"
+ rendered="#{preferences.get('Tags', currentMacro).linkToCurrentDocument and not empty param.tag}">
<h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h:outputText value="#{messages['tags.label.All']}"/>
</h:outputLink>
Modified: trunk/examples/wiki/view/themes/default/js/lacewiki.js
===================================================================
--- trunk/examples/wiki/view/themes/default/js/lacewiki.js 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/themes/default/js/lacewiki.js 2008-02-15 17:48:01 UTC (rev 7429)
@@ -108,3 +108,31 @@
}
}
+var cursorPosition;
+var scrollPosition;
+function rememberCursorPosition(textAreaId) {
+ var textArea = jQuery(textAreaId)[0];
+ if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
+ cursorPosition = textArea.caretPos;
+ } else if (typeof(textArea.selectionStart) != "undefined") {
+ cursorPosition = textArea.selectionStart;
+ scrollPosition = textArea.scrollTop;
+ } else {
+ cursorPosition = textArea.value.length - 1;
+ }
+
+}
+function setRememberedCursorPosition(textAreaId) {
+ var textArea = jQuery(textAreaId)[0];
+ if(textArea.createTextRange) {
+ var range = textArea.createTextRange();
+ range.move("character", cursorPosition);
+ range.select();
+ } else if(textArea.selectionStart) {
+ textArea.focus();
+ textArea.setSelectionRange(cursorPosition, cursorPosition);
+ textArea.scrollTop = scrollPosition;
+ } else {
+ textArea.focus(cursorPosition);
+ }
+}
\ No newline at end of file
Modified: trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js 2008-02-15 17:48:01 UTC (rev 7429)
@@ -108,3 +108,31 @@
}
}
+var cursorPosition;
+var scrollPosition;
+function rememberCursorPosition(textAreaId) {
+ var textArea = jQuery(textAreaId)[0];
+ if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
+ cursorPosition = textArea.caretPos;
+ } else if (typeof(textArea.selectionStart) != "undefined") {
+ cursorPosition = textArea.selectionStart;
+ scrollPosition = textArea.scrollTop;
+ } else {
+ cursorPosition = textArea.value.length - 1;
+ }
+
+}
+function setRememberedCursorPosition(textAreaId) {
+ var textArea = jQuery(textAreaId)[0];
+ if(textArea.createTextRange) {
+ var range = textArea.createTextRange();
+ range.move("character", cursorPosition);
+ range.select();
+ } else if(textArea.selectionStart) {
+ textArea.focus();
+ textArea.setSelectionRange(cursorPosition, cursorPosition);
+ textArea.scrollTop = scrollPosition;
+ } else {
+ textArea.focus(cursorPosition);
+ }
+}
\ No newline at end of file
Modified: trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js 2008-02-15 14:42:21 UTC (rev 7428)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js 2008-02-15 17:48:01 UTC (rev 7429)
@@ -108,3 +108,31 @@
}
}
+var cursorPosition;
+var scrollPosition;
+function rememberCursorPosition(textAreaId) {
+ var textArea = jQuery(textAreaId)[0];
+ if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
+ cursorPosition = textArea.caretPos;
+ } else if (typeof(textArea.selectionStart) != "undefined") {
+ cursorPosition = textArea.selectionStart;
+ scrollPosition = textArea.scrollTop;
+ } else {
+ cursorPosition = textArea.value.length - 1;
+ }
+
+}
+function setRememberedCursorPosition(textAreaId) {
+ var textArea = jQuery(textAreaId)[0];
+ if(textArea.createTextRange) {
+ var range = textArea.createTextRange();
+ range.move("character", cursorPosition);
+ range.select();
+ } else if(textArea.selectionStart) {
+ textArea.focus();
+ textArea.setSelectionRange(cursorPosition, cursorPosition);
+ textArea.scrollTop = scrollPosition;
+ } else {
+ textArea.focus(cursorPosition);
+ }
+}
\ No newline at end of file
16 years, 10 months
Seam SVN: r7427 - trunk/src/remoting/org/jboss/seam/remoting/wrapper.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2008-02-15 07:47:48 -0500 (Fri, 15 Feb 2008)
New Revision: 7427
Modified:
trunk/src/remoting/org/jboss/seam/remoting/wrapper/BeanWrapper.java
Log:
JBSEAM-2567
Modified: trunk/src/remoting/org/jboss/seam/remoting/wrapper/BeanWrapper.java
===================================================================
--- trunk/src/remoting/org/jboss/seam/remoting/wrapper/BeanWrapper.java 2008-02-15 03:25:39 UTC (rev 7426)
+++ trunk/src/remoting/org/jboss/seam/remoting/wrapper/BeanWrapper.java 2008-02-15 12:47:48 UTC (rev 7427)
@@ -195,8 +195,15 @@
/** @todo This is a hack to get the "real" class - find out if there is
an API method in CGLIB that can be used instead */
if (cls.getName().contains("EnhancerByCGLIB"))
- cls = cls.getSuperclass();
+ {
+ cls = cls.getSuperclass();
+ }
+ if (cls.getName().contains("_$$_javassist_"))
+ {
+ cls=cls.getSuperclass();
+ }
+
String componentName = Seam.getComponentName(cls);
Component component = componentName != null ? Component.forName(componentName) : null;
16 years, 10 months
Seam SVN: r7426 - in trunk/src/main/org/jboss/seam: core and 2 other directories.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2008-02-14 22:25:39 -0500 (Thu, 14 Feb 2008)
New Revision: 7426
Added:
trunk/src/main/org/jboss/seam/security/PermissionResolver.java
Modified:
trunk/src/main/org/jboss/seam/Component.java
trunk/src/main/org/jboss/seam/core/Init.java
trunk/src/main/org/jboss/seam/init/ComponentDescriptor.java
trunk/src/main/org/jboss/seam/init/Initialization.java
Log:
scan for permission resolvers
Modified: trunk/src/main/org/jboss/seam/Component.java
===================================================================
--- trunk/src/main/org/jboss/seam/Component.java 2008-02-15 02:30:12 UTC (rev 7425)
+++ trunk/src/main/org/jboss/seam/Component.java 2008-02-15 03:25:39 UTC (rev 7426)
@@ -82,6 +82,7 @@
import org.jboss.seam.annotations.faces.Validator;
import org.jboss.seam.annotations.intercept.InterceptorType;
import org.jboss.seam.annotations.intercept.Interceptors;
+import org.jboss.seam.annotations.security.PermissionAction;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.annotations.web.RequestParameter;
import org.jboss.seam.async.AsynchronousInterceptor;
@@ -151,6 +152,7 @@
private String[] dependencies;
private boolean synchronize;
private long timeout;
+ private boolean secure;
private Set<Class> businessInterfaces;
@@ -235,6 +237,7 @@
initImports(applicationContext);
initSynchronize();
initStartup();
+ initSecurity();
checkScopeForComponentType();
checkSynchronizedForComponentType();
@@ -1051,7 +1054,8 @@
{
addInterceptor( new Interceptor( new ManagedEntityIdentityInterceptor(), this ) );
}
- if ( beanClassHasAnnotation(Restrict.class) )
+
+ if (secure)
{
if (beanClassHasAnnotation("javax.jws.WebService"))
{
@@ -1060,8 +1064,31 @@
else
{
addInterceptor( new Interceptor( new SecurityInterceptor(), this ) );
+ }
+ }
+ }
+
+ private void initSecurity()
+ {
+ if ( beanClassHasAnnotation(Restrict.class) )
+ {
+ secure = true;
+ }
+
+ if (!secure)
+ {
+ for (Method method : getBeanClass().getMethods())
+ {
+ for (Annotation annotation : method.getAnnotations())
+ {
+ if (annotation.annotationType().isAnnotationPresent(PermissionAction.class))
+ {
+ secure = true;
+ break;
+ }
+ }
}
- }
+ }
}
private static boolean hasAnnotation(Class clazz, Class annotationType)
Modified: trunk/src/main/org/jboss/seam/core/Init.java
===================================================================
--- trunk/src/main/org/jboss/seam/core/Init.java 2008-02-15 02:30:12 UTC (rev 7425)
+++ trunk/src/main/org/jboss/seam/core/Init.java 2008-02-15 03:25:39 UTC (rev 7426)
@@ -59,6 +59,7 @@
private Set<String> autocreateVariables = new HashSet<String>();
private Set<String> installedFilters = new HashSet<String>();
private Set<String> resourceProviders = new HashSet<String>();
+ private Set<String> permissionResolvers = new HashSet<String>();
private Set<String> hotDeployableComponents = new HashSet<String>();
@@ -456,6 +457,16 @@
{
return resourceProviders;
}
+
+ public void addPermissionResolver(String name)
+ {
+ permissionResolvers.add(name);
+ }
+
+ public Set<String> getPermissionResolvers()
+ {
+ return permissionResolvers;
+ }
public Set<String> getHotDeployableComponents()
{
Modified: trunk/src/main/org/jboss/seam/init/ComponentDescriptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/init/ComponentDescriptor.java 2008-02-15 02:30:12 UTC (rev 7425)
+++ trunk/src/main/org/jboss/seam/init/ComponentDescriptor.java 2008-02-15 03:25:39 UTC (rev 7426)
@@ -8,6 +8,7 @@
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Startup;
import org.jboss.seam.core.Init;
+import org.jboss.seam.security.PermissionResolver;
import org.jboss.seam.web.AbstractResource;
/**
@@ -193,8 +194,13 @@
public boolean isResourceProvider()
{
return AbstractResource.class.isAssignableFrom(componentClass);
- }
+ }
+ public boolean isPermissionResolver()
+ {
+ return PermissionResolver.class.isAssignableFrom(componentClass);
+ }
+
@Override
public String toString()
{
Modified: trunk/src/main/org/jboss/seam/init/Initialization.java
===================================================================
--- trunk/src/main/org/jboss/seam/init/Initialization.java 2008-02-15 02:30:12 UTC (rev 7425)
+++ trunk/src/main/org/jboss/seam/init/Initialization.java 2008-02-15 03:25:39 UTC (rev 7426)
@@ -925,6 +925,11 @@
init.addResourceProvider( componentDescriptor.getName() );
}
+
+ if ( componentDescriptor.isPermissionResolver() )
+ {
+ init.addPermissionResolver( componentDescriptor.getName() );
+ }
}
}
Added: trunk/src/main/org/jboss/seam/security/PermissionResolver.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/PermissionResolver.java (rev 0)
+++ trunk/src/main/org/jboss/seam/security/PermissionResolver.java 2008-02-15 03:25:39 UTC (rev 7426)
@@ -0,0 +1,6 @@
+package org.jboss.seam.security;
+
+public interface PermissionResolver
+{
+ boolean hasPermission(Object target, String action);
+}
16 years, 10 months
Seam SVN: r7425 - in trunk/examples/wiki: src/etc/WEB-INF and 38 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-14 21:30:12 -0500 (Thu, 14 Feb 2008)
New Revision: 7425
Added:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DefaultWikiLinkResolver.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/DefaultWikiTextRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/MacroWikiTextRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/NullWikiTextRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java
Removed:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiTextRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/MacroWikiTextRenderer.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/NullWikiTextRenderer.java
Modified:
trunk/examples/wiki/src/etc/META-INF/components-dev.xml
trunk/examples/wiki/src/etc/META-INF/components-prod.xml
trunk/examples/wiki/src/etc/META-INF/components-test.xml
trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml
trunk/examples/wiki/src/etc/WEB-INF/pages.xml
trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml
trunk/examples/wiki/src/etc/i18n/messages_en.properties
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedDAO.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiCommentFeedEntryManager.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiDocumentFeedEntryManager.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearchSupport.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml
trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/preferences/InstancePreferencesTests.java
trunk/examples/wiki/view/dirDisplay_d.xhtml
trunk/examples/wiki/view/dirDisplay_m.xhtml
trunk/examples/wiki/view/docDisplay_d.xhtml
trunk/examples/wiki/view/docDisplay_m.xhtml
trunk/examples/wiki/view/docEdit_d.xhtml
trunk/examples/wiki/view/includes/attachmentDisplay.xhtml
trunk/examples/wiki/view/includes/breadcrumb.xhtml
trunk/examples/wiki/view/includes/commentsDisplay.xhtml
trunk/examples/wiki/view/includes/mainMenuItem.xhtml
trunk/examples/wiki/view/includes/searchControl.xhtml
trunk/examples/wiki/view/includes/userControl.xhtml
trunk/examples/wiki/view/includes/userInfoLink.xhtml
trunk/examples/wiki/view/includes/wikiUploadImageEditor.xhtml
trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml
trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml
trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml
trunk/examples/wiki/view/plugins/dirMenu/dirMenuItem.xhtml
trunk/examples/wiki/view/plugins/dirMenu/plugin.xhtml
trunk/examples/wiki/view/plugins/docPager/plugin.xhtml
trunk/examples/wiki/view/plugins/faqBrowser/faqControls.xhtml
trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml
trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml
trunk/examples/wiki/view/plugins/forumList/forumListControls.xhtml
trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml
trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml
trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml
trunk/examples/wiki/view/plugins/forumTopics/topicControls.xhtml
trunk/examples/wiki/view/plugins/forumTopics/topicPager.xhtml
trunk/examples/wiki/view/plugins/forumTopics/topicTable.xhtml
trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml
trunk/examples/wiki/view/plugins/tags/plugin.xhtml
trunk/examples/wiki/view/tagDisplay_d.xhtml
trunk/examples/wiki/view/themes/default/css/searchControl.css
trunk/examples/wiki/view/themes/default/m/template.xhtml
trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplies.xhtml
trunk/examples/wiki/view/themes/default/template.xhtml
trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml
trunk/examples/wiki/view/themes/inrelationto/template.xhtml
trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
trunk/examples/wiki/view/themes/sfwkorg/m/template.xhtml
trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml
trunk/examples/wiki/view/themes/sfwkorg/template.xhtml
trunk/examples/wiki/view/uploadEdit_d.xhtml
trunk/examples/wiki/view/uploadEdit_m.xhtml
trunk/examples/wiki/view/userList_d.xhtml
Log:
Submit search form on Enter, nicer URLs for search and after editing, unified URL rendering
Modified: trunk/examples/wiki/src/etc/META-INF/components-dev.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/components-dev.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/META-INF/components-dev.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -59,11 +59,11 @@
</component>
<!-- Base path for links includes port number -->
- <factory name="basePath"
+ <factory name="basePath" scope="CONVERSATION" auto-create="true"
value="#{facesContext.externalContext.request.scheme}://#{facesContext.externalContext.request.serverName
}:#{facesContext.externalContext.request.serverPort}#{facesContext.externalContext.request.contextPath}"/>
- <factory name="themePathGetRequest" scope="CONVERSATION"
+ <factory name="themePathGetRequest" scope="CONVERSATION" auto-create="true"
value="#{servletContexts.request.scheme}://#{servletContexts.request.serverName
}:#{servletContexts.request.serverPort}#{servletContexts.request.contextPath}/themes/#{preferences.get('Wiki').themeName}"/>
Modified: trunk/examples/wiki/src/etc/META-INF/components-prod.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/components-prod.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/META-INF/components-prod.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -42,11 +42,11 @@
<persistence:entity-manager-factory name="wikiEntityManagerFactory" persistence-unit-name="wiki"/>
<!-- Base path for links includes port number -->
- <factory name="basePath"
+ <factory name="basePath" scope="CONVERSATION" auto-create="true"
value="#{facesContext.externalContext.request.scheme}://#{facesContext.externalContext.request.serverName
}:#{facesContext.externalContext.request.serverPort}#{facesContext.externalContext.request.contextPath}"/>
- <factory name="themePathGetRequest" scope="CONVERSATION"
+ <factory name="themePathGetRequest" scope="CONVERSATION" auto-create="true"
value="#{servletContexts.request.scheme}://#{servletContexts.request.serverName
}:#{servletContexts.request.serverPort}#{servletContexts.request.contextPath}/themes/#{preferences.get('Wiki').themeName}"/>
Modified: trunk/examples/wiki/src/etc/META-INF/components-test.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/components-test.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/META-INF/components-test.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -42,11 +42,11 @@
<transaction:ejb-transaction/>
<!-- Base path for links includes port number -->
- <factory name="basePath"
+ <factory name="basePath" scope="CONVERSATION" auto-create="true"
value="#{facesContext.externalContext.request.scheme}://#{facesContext.externalContext.request.serverName
}:#{facesContext.externalContext.request.serverPort}#{facesContext.externalContext.request.contextPath}"/>
- <factory name="themePathGetRequest" scope="CONVERSATION"
+ <factory name="themePathGetRequest" scope="CONVERSATION" auto-create="true"
value="#{servletContexts.request.scheme}://#{servletContexts.request.serverName
}:#{servletContexts.request.serverPort}#{servletContexts.request.contextPath}/themes/#{preferences.get('Wiki').themeName}"/>
Modified: trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml
===================================================================
--- trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/META-INF/wiki.taglib.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -13,48 +13,6 @@
</function>
<function>
- <function-name>renderTagURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderTagURL(java.lang.String)</function-signature>
- </function>
-
- <function>
- <function-name>renderUserInfoURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderUserInfoURL(org.jboss.seam.wiki.core.model.User)</function-signature>
- </function>
-
- <function>
- <function-name>renderAggregateFeedURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderAggregateFeedURL(java.lang.String)</function-signature>
- </function>
-
- <function>
- <function-name>renderFeedURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderFeedURL(org.jboss.seam.wiki.core.model.Feed,java.lang.String,java.lang.String)</function-signature>
- </function>
-
- <function>
- <function-name>renderURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderURL(org.jboss.seam.wiki.core.model.WikiNode)</function-signature>
- </function>
-
- <function>
- <function-name>renderPermURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderPermURL(org.jboss.seam.wiki.core.model.WikiNode)</function-signature>
- </function>
-
- <function>
- <function-name>renderWikiURL</function-name>
- <function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
- <function-signature>java.lang.String renderWikiURL(org.jboss.seam.wiki.core.model.WikiNode)</function-signature>
- </function>
-
- <function>
<function-name>showEmailAddress</function-name>
<function-class>org.jboss.seam.wiki.util.WikiUtil</function-class>
<function-signature>boolean showEmailAddress()</function-signature>
Modified: trunk/examples/wiki/src/etc/WEB-INF/pages.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/WEB-INF/pages.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -27,6 +27,9 @@
<param name="nodeId" value="#{documentHome.instance.id}"/>
</redirect>
</rule>
+ <rule if-outcome="redirectToDocumentNoConversation">
+ <redirect url="#{wikiURLRenderer.renderURL(documentHome.instance)}"/>
+ </rule>
</navigation>
</page>
@@ -68,7 +71,7 @@
<navigation>
<rule if-outcome="exitManaged">
<end-conversation before-redirect="true"/>
- <redirect view-id="/docDisplay_#{skin}"/>
+ <redirect url="#{wikiURLRenderer.renderURL(documentHome.instance)}"/>
</rule>
<rule if-outcome="exitUnmanaged">
<end-conversation before-redirect="true"/>
@@ -214,7 +217,7 @@
</rule>
<rule if-outcome="removed">
<end-conversation/>
- <redirect view-id="/wiki.xhtml"/>
+ <redirect url="#{wikiURLRenderer.renderURL(wikiStart)}"/>
</rule>
</navigation>
</page>
@@ -267,12 +270,12 @@
<!-- Go to start page on logout because the session has been invalidated -->
<rule if-outcome="loggedOut">
<end-conversation before-redirect="true"/>
- <redirect view-id="/wiki.xhtml"/>
+ <redirect url="#{wikiURLRenderer.renderURL(wikiStart)}"/>
</rule>
- <!-- 'search' is a POST submit, turn it into a bookmarkable GET -->
+ <!-- 'search' is a POST submit, turn it into a bookmarkable nice GET -->
<rule if-outcome="search">
- <redirect view-id="/search_#{skin}.xhtml"/>
+ <redirect url="#{wikiURLRenderer.renderSearchURL(wikiSearch.simpleQuery)}"/>
</rule>
<rule if-outcome="error">
Modified: trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml
===================================================================
--- trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/WEB-INF/urlrewrite.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -52,6 +52,12 @@
<to last="true">/wiki.seam?nodeId=$1</to>
</rule>
+ <!-- /search/foo -->
+ <rule>
+ <from casesensitive="true">^/search/(.+)$</from>
+ <to last="true">/search_%{session-attribute:skin}.seam?query=$1</to>
+ </rule>
+
<!-- /user/foo -->
<rule>
<from casesensitive="true">^/user/([a-zA-Z]?[a-zA-Z0-9]+)$</from>
Modified: trunk/examples/wiki/src/etc/i18n/messages_en.properties
===================================================================
--- trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/etc/i18n/messages_en.properties 2008-02-15 02:30:12 UTC (rev 7425)
@@ -342,8 +342,7 @@
# Search Control
lacewiki.label.searchControl.Search=Search...
-lacewiki.button.searchControl.Find=<u>F</u>ind
-lacewiki.button.searchControl.Find.accesskey=F
+lacewiki.button.searchControl.Find=Find
# Administration
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -19,7 +19,8 @@
import org.jboss.seam.wiki.core.action.prefs.UserManagementPreferences;
import org.jboss.seam.wiki.core.dao.UserDAO;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
-import org.jboss.seam.wiki.core.engine.MacroWikiTextRenderer;
+import org.jboss.seam.wiki.core.renderer.MacroWikiTextRenderer;
+import org.jboss.seam.wiki.core.renderer.WikiURLRenderer;
import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.util.Hash;
import org.jboss.seam.wiki.util.WikiUtil;
@@ -130,6 +131,7 @@
public void createHomeDirectory(User user) {
WikiNodeDAO nodeDAO = (WikiNodeDAO)Component.getInstance(WikiNodeDAO.class);
+ WikiURLRenderer urlRenderer = (WikiURLRenderer)Component.getInstance(WikiURLRenderer.class);
// Create home directory
WikiDirectory memberArea = (WikiDirectory)Component.getInstance("memberArea");
@@ -145,7 +147,7 @@
// Create feed for home directory
WikiFeed feed = new WikiFeed();
- feed.setLink(WikiUtil.renderURL(homeDirectory));
+ feed.setLink(urlRenderer.renderURL(homeDirectory));
feed.setDirectory(homeDirectory);
feed.setAuthor(homeDirectory.getCreatedBy().getFullname());
feed.setTitle(homeDirectory.getName());
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -121,6 +121,7 @@
Events.instance().raiseEvent("Comment.persisted");
endConversation();
+ return "redirectToDocumentNoConversation";
}
return null; // Prevent navigation
}
@@ -314,7 +315,7 @@
public String cancel() {
endConversation();
- return "redirectToDocument";
+ return "redirectToDocumentNoConversation";
}
@RequestParameter("showCommentForm")
Copied: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DefaultWikiLinkResolver.java (from rev 7424, trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java)
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DefaultWikiLinkResolver.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DefaultWikiLinkResolver.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -0,0 +1,252 @@
+package org.jboss.seam.wiki.core.action;
+
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
+import org.jboss.seam.wiki.core.model.*;
+import org.jboss.seam.wiki.core.engine.WikiLinkResolver;
+import org.jboss.seam.wiki.core.engine.WikiLink;
+import org.jboss.seam.wiki.util.WikiUtil;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * A default implementation of <tt>WikiLinkResolver</tt>.
+ *
+ * @author Christian Bauer
+ */
+@Name("wikiLinkResolver")
+@AutoCreate
+public class DefaultWikiLinkResolver implements WikiLinkResolver {
+
+ @Logger static Log log;
+
+ // Render these strings whenever [=>wiki://123] needs to be resolved but can't
+ public static final String BROKENLINK_URL = "FileNotFound";
+ public static final String BROKENLINK_DESCRIPTION = "?BROKEN LINK?";
+
+ @In
+ private WikiNodeDAO wikiNodeDAO;
+
+ @In
+ Map<String, LinkProtocol> linkProtocolMap;
+
+ public String convertToWikiProtocol(Set<WikiFile> linkTargets, Long currentAreaNumber, String wikiText) {
+ if (wikiText == null) return null;
+
+ log.debug("converting wiki text links to wiki protocol for storage, current area: " + currentAreaNumber);
+
+ StringBuffer replacedWikiText = new StringBuffer(wikiText.length());
+ Matcher matcher = Pattern.compile(REGEX_WIKILINK_FORWARD).matcher(wikiText);
+
+ // Replace with [Link Text=>wiki://<node id>] or leave as is if not found
+ while (matcher.find()) {
+ String linkText = matcher.group(2);
+
+ if (linkText.matches(REGEX_KNOWN_PROTOCOL) || linkText.matches(REGEX_CUSTOM_PROTOCOL)) continue;
+
+ log.debug("converting to wiki protocol: " + linkText);
+
+ WikiFile file = null;
+ String fragment = null;
+ Matcher linkTextMatcher = getCrossAreaMatcher(linkText);
+ if (linkTextMatcher != null) {
+ log.debug("link to different area: " + linkTextMatcher.group(1));
+ file = resolve(currentAreaNumber, linkTextMatcher.group(1), linkTextMatcher.group(2));
+ fragment = linkTextMatcher.group(3);
+ } else {
+ log.debug("link to current area");
+ linkTextMatcher = getAreaMatcher(linkText);
+ if (linkTextMatcher != null) {
+ file = resolve(currentAreaNumber, null, linkTextMatcher.group(1));
+ fragment = linkTextMatcher.group(2);
+ }
+ }
+
+ log.debug("resolved file: " + file);
+ log.debug("resolved fragment: " + fragment);
+
+ if (file != null) {
+ if (fragment == null) fragment = "";
+ log.debug("updating wiki text with wiki protocol link: " + "wiki://" + file.getId() + ""+fragment);
+ matcher.appendReplacement(replacedWikiText, "[$1=>wiki://" + file.getId() + ""+fragment+"]");
+ linkTargets.add(file);
+ }
+ }
+ matcher.appendTail(replacedWikiText);
+ log.debug("completed converting wiki text links to wiki protocol, ready for storing");
+ return replacedWikiText.toString();
+ }
+
+ public String convertFromWikiProtocol(Long currentAreaNumber, String wikiText) {
+ if (wikiText == null) return null;
+
+ log.debug("converting wiki protocol to wiki text, current area: " + currentAreaNumber);
+
+ StringBuffer replacedWikiText = new StringBuffer(wikiText.length());
+ Matcher matcher = Pattern.compile(REGEX_WIKILINK_REVERSE).matcher(wikiText);
+
+ // Replace with [Link Text=>Page Name] or replace with BROKENLINK "page name"
+ while (matcher.find()) {
+
+ String fileId = matcher.group(2);
+ String fragment = matcher.group(3);
+ log.debug("found file id: " + fileId);
+ log.debug("found fragment: " + fragment);
+ if (fragment == null) fragment = "";
+
+ // Find the node by PK
+ WikiFile file = wikiNodeDAO.findWikiFile(Long.valueOf(fileId));
+
+ // Node is in current area, just use its name
+ if (file != null && file.getAreaNumber().equals(currentAreaNumber)) {
+ matcher.appendReplacement(replacedWikiText, "[$1=>" + file.getName() + fragment +"]");
+
+ // Node is in different area, prepend the area name
+ } else if (file != null && !file.getAreaNumber().equals(currentAreaNumber)) {
+ WikiDirectory area = wikiNodeDAO.findArea(file.getAreaNumber());
+ matcher.appendReplacement(replacedWikiText, "[$1=>" + area.getName() + "|" + file.getName() + fragment +"]");
+
+ // Couldn't find it anymore, its a broken link
+ } else {
+ matcher.appendReplacement(replacedWikiText, "[$1=>" + BROKENLINK_DESCRIPTION + "]");
+ }
+ }
+ matcher.appendTail(replacedWikiText);
+ log.debug("completed converting wiki protocol to wiki text");
+ return replacedWikiText.toString();
+ }
+
+ public void resolveLinkText(Long currentAreaNumber, Map<String, WikiLink> links, String linkText) {
+
+ // Don't resolve twice
+ if (links.containsKey(linkText)) return;
+
+ log.debug("trying to resolve link text: " + linkText);
+
+ Matcher wikiProtocolMatcher = Pattern.compile(REGEX_WIKI_PROTOCOL).matcher(linkText.trim());
+ Matcher knownProtocolMatcher = Pattern.compile(REGEX_KNOWN_PROTOCOL).matcher(linkText.trim());
+ Matcher customProtocolMatcher = Pattern.compile(REGEX_CUSTOM_PROTOCOL).matcher(linkText.trim());
+
+ WikiLink wikiLink;
+
+ // Check if its a common protocol
+ if (knownProtocolMatcher.find()) {
+ wikiLink = new WikiLink(false, true);
+ wikiLink.setUrl(linkText);
+ wikiLink.setDescription(linkText);
+ log.debug("link resolved to known protocol: " + linkText);
+
+ // Check if it is a wiki protocol
+ } else if (wikiProtocolMatcher.find()) {
+
+ // Find the node by PK
+ WikiFile file = wikiNodeDAO.findWikiFile(Long.valueOf(wikiProtocolMatcher.group(1)));
+ String fragment = wikiProtocolMatcher.group(2);
+ if (file != null) {
+ wikiLink = new WikiLink(false, false);
+ wikiLink.setFile(file);
+ wikiLink.setFragment(fragment);
+ wikiLink.setDescription(file.getName());
+ log.debug("link text resolved to existing node: " + file + " and fragment: " + fragment);
+ } else {
+ // Can't do anything, [=>wiki://123] no longer exists
+ wikiLink = new WikiLink(true, false);
+ wikiLink.setUrl(BROKENLINK_URL);
+ wikiLink.setDescription(BROKENLINK_DESCRIPTION);
+ log.debug("link tet could not be resolved: " + linkText);
+ }
+
+ // Check if it is a custom protocol
+ } else if (customProtocolMatcher.find()) {
+
+ if (linkProtocolMap.containsKey(customProtocolMatcher.group(1))) {
+ LinkProtocol protocol = linkProtocolMap.get(customProtocolMatcher.group(1));
+ wikiLink = new WikiLink(false, true);
+ wikiLink.setUrl(protocol.getRealLink(customProtocolMatcher.group(2)));
+ wikiLink.setDescription(protocol.getPrefix() + "://" + customProtocolMatcher.group(2));
+ log.debug("link text resolved to custom protocol: " + linkText);
+ } else {
+ wikiLink = new WikiLink(true, false);
+ wikiLink.setUrl(BROKENLINK_URL);
+ wikiLink.setDescription(BROKENLINK_DESCRIPTION);
+ log.debug("link text resolved to non-existant custom protocol: " + linkText);
+ }
+
+ // It must be a stored clear text link, such as [=>Target Name] or [=>Area Name|Target Name]
+ // (This can happen if the string [foo=>bar] or [foo=>bar|baz] was stored in the database because the
+ // targets didn't exist at the time of saving)
+ } else {
+
+ // Try a WikiWord search in the current or named area
+ WikiFile file = null;
+ String fragment = null;
+ Matcher linkTextMatcher = getCrossAreaMatcher(linkText);
+ if (linkTextMatcher != null) {
+ file = resolve(currentAreaNumber, linkTextMatcher.group(1), linkTextMatcher.group(2));
+ fragment = linkTextMatcher.group(3);
+ } else {
+ linkTextMatcher = getAreaMatcher(linkText);
+ if (linkTextMatcher != null) {
+ file = resolve(currentAreaNumber, null, linkTextMatcher.group(1));
+ fragment = linkTextMatcher.group(2);
+ }
+ }
+
+ if (file!=null) {
+ wikiLink = new WikiLink(false, false);
+ wikiLink.setFile(file);
+ wikiLink.setFragment(fragment);
+ wikiLink.setDescription(file.getName());
+ // Indicate that caller should update the wiki text that contains this link
+ wikiLink.setRequiresUpdating(true);
+ log.debug("link text resolved (needs updating to wiki protocol): " + file + " and fragment: " + fragment);
+
+ } else {
+ /* TODO: Not sure we should actually implement this..., one of these things that the wiki "designers" got wrong
+ // OK, so it's not any recognized URL and we can't find a node with that wikiname
+ // Let's assume its a page name and render /Area/WikiLink (but encoded, so it gets transported fully)
+ // into the edit page when the user clicks on the link to create the document
+ try {
+ String encodedPagename = currentDirectory.getWikiname() + "/" + URLEncoder.encode(linkText, "UTF-8");
+ wikiLink = new WikiLink(null, true, encodedPagename, linkText);
+ } catch (UnsupportedEncodingException e) {
+ throw new RuntimeException(e); // Java is so great...
+ }
+ */
+ wikiLink = new WikiLink(true, false);
+ wikiLink.setUrl(BROKENLINK_URL);
+ wikiLink.setDescription(BROKENLINK_DESCRIPTION);
+ log.debug("could not resolve link: " + linkText);
+ }
+ }
+ links.put(linkText, wikiLink);
+ }
+
+ private Matcher getCrossAreaMatcher(String linkText) {
+ Matcher matcher = Pattern.compile(REGEX_WIKILINK_CROSSAREA).matcher(linkText);
+ return matcher.find() ? matcher : null;
+ }
+
+ private Matcher getAreaMatcher(String linkText) {
+ Matcher matcher = Pattern.compile(REGEX_NODE_NAME_FRAGMENT).matcher(linkText);
+ return matcher.find() ? matcher : null;
+ }
+
+ private WikiFile resolve(Long currentAreaNumber, String areaName, String nodeName) {
+ log.debug("trying to resolve, current area " + currentAreaNumber + ", search in area '" + areaName + "' for node name: " + nodeName);
+ if (areaName != null) {
+ WikiNode crossLinkArea = wikiNodeDAO.findArea(WikiUtil.convertToWikiName(areaName));
+ if (crossLinkArea != null)
+ return wikiNodeDAO.findWikiFileInArea(crossLinkArea.getAreaNumber(), WikiUtil.convertToWikiName(nodeName));
+ }
+ return wikiNodeDAO.findWikiFileInArea(currentAreaNumber, WikiUtil.convertToWikiName(nodeName));
+ }
+
+}
Property changes on: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DefaultWikiLinkResolver.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -19,7 +19,7 @@
import org.jboss.seam.wiki.core.feeds.FeedDAO;
import org.jboss.seam.wiki.core.feeds.FeedEntryManager;
import org.jboss.seam.wiki.core.engine.WikiLinkResolver;
-import org.jboss.seam.wiki.core.engine.MacroWikiTextRenderer;
+import org.jboss.seam.wiki.core.renderer.MacroWikiTextRenderer;
import org.jboss.seam.wiki.core.model.*;
import org.jboss.seam.wiki.preferences.Preferences;
Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiLinkResolver.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -1,250 +0,0 @@
-package org.jboss.seam.wiki.core.engine;
-
-import org.jboss.seam.annotations.AutoCreate;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Logger;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.log.Log;
-import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
-import org.jboss.seam.wiki.core.model.*;
-import org.jboss.seam.wiki.util.WikiUtil;
-
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * A default implementation of <tt>WikiLinkResolver</tt>.
- *
- * @author Christian Bauer
- */
-@Name("wikiLinkResolver")
-@AutoCreate
-public class DefaultWikiLinkResolver implements WikiLinkResolver {
-
- @Logger static Log log;
-
- // Render these strings whenever [=>wiki://123] needs to be resolved but can't
- public static final String BROKENLINK_URL = "FileNotFound";
- public static final String BROKENLINK_DESCRIPTION = "?BROKEN LINK?";
-
- @In
- private WikiNodeDAO wikiNodeDAO;
-
- @In
- Map<String, LinkProtocol> linkProtocolMap;
-
- public String convertToWikiProtocol(Set<WikiFile> linkTargets, Long currentAreaNumber, String wikiText) {
- if (wikiText == null) return null;
-
- log.debug("converting wiki text links to wiki protocol for storage, current area: " + currentAreaNumber);
-
- StringBuffer replacedWikiText = new StringBuffer(wikiText.length());
- Matcher matcher = Pattern.compile(REGEX_WIKILINK_FORWARD).matcher(wikiText);
-
- // Replace with [Link Text=>wiki://<node id>] or leave as is if not found
- while (matcher.find()) {
- String linkText = matcher.group(2);
-
- if (linkText.matches(REGEX_KNOWN_PROTOCOL) || linkText.matches(REGEX_CUSTOM_PROTOCOL)) continue;
-
- log.debug("converting to wiki protocol: " + linkText);
-
- WikiFile file = null;
- String fragment = null;
- Matcher linkTextMatcher = getCrossAreaMatcher(linkText);
- if (linkTextMatcher != null) {
- log.debug("link to different area: " + linkTextMatcher.group(1));
- file = resolve(currentAreaNumber, linkTextMatcher.group(1), linkTextMatcher.group(2));
- fragment = linkTextMatcher.group(3);
- } else {
- log.debug("link to current area");
- linkTextMatcher = getAreaMatcher(linkText);
- if (linkTextMatcher != null) {
- file = resolve(currentAreaNumber, null, linkTextMatcher.group(1));
- fragment = linkTextMatcher.group(2);
- }
- }
-
- log.debug("resolved file: " + file);
- log.debug("resolved fragment: " + fragment);
-
- if (file != null) {
- if (fragment == null) fragment = "";
- log.debug("updating wiki text with wiki protocol link: " + "wiki://" + file.getId() + ""+fragment);
- matcher.appendReplacement(replacedWikiText, "[$1=>wiki://" + file.getId() + ""+fragment+"]");
- linkTargets.add(file);
- }
- }
- matcher.appendTail(replacedWikiText);
- log.debug("completed converting wiki text links to wiki protocol, ready for storing");
- return replacedWikiText.toString();
- }
-
- public String convertFromWikiProtocol(Long currentAreaNumber, String wikiText) {
- if (wikiText == null) return null;
-
- log.debug("converting wiki protocol to wiki text, current area: " + currentAreaNumber);
-
- StringBuffer replacedWikiText = new StringBuffer(wikiText.length());
- Matcher matcher = Pattern.compile(REGEX_WIKILINK_REVERSE).matcher(wikiText);
-
- // Replace with [Link Text=>Page Name] or replace with BROKENLINK "page name"
- while (matcher.find()) {
-
- String fileId = matcher.group(2);
- String fragment = matcher.group(3);
- log.debug("found file id: " + fileId);
- log.debug("found fragment: " + fragment);
- if (fragment == null) fragment = "";
-
- // Find the node by PK
- WikiFile file = wikiNodeDAO.findWikiFile(Long.valueOf(fileId));
-
- // Node is in current area, just use its name
- if (file != null && file.getAreaNumber().equals(currentAreaNumber)) {
- matcher.appendReplacement(replacedWikiText, "[$1=>" + file.getName() + fragment +"]");
-
- // Node is in different area, prepend the area name
- } else if (file != null && !file.getAreaNumber().equals(currentAreaNumber)) {
- WikiDirectory area = wikiNodeDAO.findArea(file.getAreaNumber());
- matcher.appendReplacement(replacedWikiText, "[$1=>" + area.getName() + "|" + file.getName() + fragment +"]");
-
- // Couldn't find it anymore, its a broken link
- } else {
- matcher.appendReplacement(replacedWikiText, "[$1=>" + BROKENLINK_DESCRIPTION + "]");
- }
- }
- matcher.appendTail(replacedWikiText);
- log.debug("completed converting wiki protocol to wiki text");
- return replacedWikiText.toString();
- }
-
- public void resolveLinkText(Long currentAreaNumber, Map<String, WikiLink> links, String linkText) {
-
- // Don't resolve twice
- if (links.containsKey(linkText)) return;
-
- log.debug("trying to resolve link text: " + linkText);
-
- Matcher wikiProtocolMatcher = Pattern.compile(REGEX_WIKI_PROTOCOL).matcher(linkText.trim());
- Matcher knownProtocolMatcher = Pattern.compile(REGEX_KNOWN_PROTOCOL).matcher(linkText.trim());
- Matcher customProtocolMatcher = Pattern.compile(REGEX_CUSTOM_PROTOCOL).matcher(linkText.trim());
-
- WikiLink wikiLink;
-
- // Check if its a common protocol
- if (knownProtocolMatcher.find()) {
- wikiLink = new WikiLink(false, true);
- wikiLink.setUrl(linkText);
- wikiLink.setDescription(linkText);
- log.debug("link resolved to known protocol: " + linkText);
-
- // Check if it is a wiki protocol
- } else if (wikiProtocolMatcher.find()) {
-
- // Find the node by PK
- WikiFile file = wikiNodeDAO.findWikiFile(Long.valueOf(wikiProtocolMatcher.group(1)));
- String fragment = wikiProtocolMatcher.group(2);
- if (file != null) {
- wikiLink = new WikiLink(false, false);
- wikiLink.setFile(file);
- wikiLink.setFragment(fragment);
- wikiLink.setDescription(file.getName());
- log.debug("link text resolved to existing node: " + file + " and fragment: " + fragment);
- } else {
- // Can't do anything, [=>wiki://123] no longer exists
- wikiLink = new WikiLink(true, false);
- wikiLink.setUrl(BROKENLINK_URL);
- wikiLink.setDescription(BROKENLINK_DESCRIPTION);
- log.debug("link tet could not be resolved: " + linkText);
- }
-
- // Check if it is a custom protocol
- } else if (customProtocolMatcher.find()) {
-
- if (linkProtocolMap.containsKey(customProtocolMatcher.group(1))) {
- LinkProtocol protocol = linkProtocolMap.get(customProtocolMatcher.group(1));
- wikiLink = new WikiLink(false, true);
- wikiLink.setUrl(protocol.getRealLink(customProtocolMatcher.group(2)));
- wikiLink.setDescription(protocol.getPrefix() + "://" + customProtocolMatcher.group(2));
- log.debug("link text resolved to custom protocol: " + linkText);
- } else {
- wikiLink = new WikiLink(true, false);
- wikiLink.setUrl(BROKENLINK_URL);
- wikiLink.setDescription(BROKENLINK_DESCRIPTION);
- log.debug("link text resolved to non-existant custom protocol: " + linkText);
- }
-
- // It must be a stored clear text link, such as [=>Target Name] or [=>Area Name|Target Name]
- // (This can happen if the string [foo=>bar] or [foo=>bar|baz] was stored in the database because the
- // targets didn't exist at the time of saving)
- } else {
-
- // Try a WikiWord search in the current or named area
- WikiFile file = null;
- String fragment = null;
- Matcher linkTextMatcher = getCrossAreaMatcher(linkText);
- if (linkTextMatcher != null) {
- file = resolve(currentAreaNumber, linkTextMatcher.group(1), linkTextMatcher.group(2));
- fragment = linkTextMatcher.group(3);
- } else {
- linkTextMatcher = getAreaMatcher(linkText);
- if (linkTextMatcher != null) {
- file = resolve(currentAreaNumber, null, linkTextMatcher.group(1));
- fragment = linkTextMatcher.group(2);
- }
- }
-
- if (file!=null) {
- wikiLink = new WikiLink(false, false);
- wikiLink.setFile(file);
- wikiLink.setFragment(fragment);
- wikiLink.setDescription(file.getName());
- // Indicate that caller should update the wiki text that contains this link
- wikiLink.setRequiresUpdating(true);
- log.debug("link text resolved (needs updating to wiki protocol): " + file + " and fragment: " + fragment);
-
- } else {
- /* TODO: Not sure we should actually implement this..., one of these things that the wiki "designers" got wrong
- // OK, so it's not any recognized URL and we can't find a node with that wikiname
- // Let's assume its a page name and render /Area/WikiLink (but encoded, so it gets transported fully)
- // into the edit page when the user clicks on the link to create the document
- try {
- String encodedPagename = currentDirectory.getWikiname() + "/" + URLEncoder.encode(linkText, "UTF-8");
- wikiLink = new WikiLink(null, true, encodedPagename, linkText);
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException(e); // Java is so great...
- }
- */
- wikiLink = new WikiLink(true, false);
- wikiLink.setUrl(BROKENLINK_URL);
- wikiLink.setDescription(BROKENLINK_DESCRIPTION);
- log.debug("could not resolve link: " + linkText);
- }
- }
- links.put(linkText, wikiLink);
- }
-
- private Matcher getCrossAreaMatcher(String linkText) {
- Matcher matcher = Pattern.compile(REGEX_WIKILINK_CROSSAREA).matcher(linkText);
- return matcher.find() ? matcher : null;
- }
-
- private Matcher getAreaMatcher(String linkText) {
- Matcher matcher = Pattern.compile(REGEX_NODE_NAME_FRAGMENT).matcher(linkText);
- return matcher.find() ? matcher : null;
- }
-
- private WikiFile resolve(Long currentAreaNumber, String areaName, String nodeName) {
- log.debug("trying to resolve, current area " + currentAreaNumber + ", search in area '" + areaName + "' for node name: " + nodeName);
- if (areaName != null) {
- WikiNode crossLinkArea = wikiNodeDAO.findArea(WikiUtil.convertToWikiName(areaName));
- if (crossLinkArea != null)
- return wikiNodeDAO.findWikiFileInArea(crossLinkArea.getAreaNumber(), WikiUtil.convertToWikiName(nodeName));
- }
- return wikiNodeDAO.findWikiFileInArea(currentAreaNumber, WikiUtil.convertToWikiName(nodeName));
- }
-
-}
Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiTextRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiTextRenderer.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiTextRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -1,118 +0,0 @@
-package org.jboss.seam.wiki.core.engine;
-
-import org.jboss.seam.wiki.util.WikiUtil;
-
-import java.util.List;
-
-/**
- * Convenience class that renders some sensible defaults that apply for the wiki.
- *
- * @author Christian Bauer
- */
-public class DefaultWikiTextRenderer implements WikiTextRenderer {
-
- public static enum Headline {
- H1, H2, H3, H4;
- }
-
- public String renderInternalLink(WikiLink internalLink) {
- return !internalLink.isBroken() ?
- "<a href=\""
- + WikiUtil.renderURL(internalLink.getFile())
- + "\">"
- + internalLink.getDescription()
- + "</a>" : "[Broken Link]";
- }
-
- public String renderExternalLink(WikiLink externalLink) {
- return "<a href=\""
- + externalLink.getUrl()
- + "\">"
- + externalLink.getDescription()
- + "</a>";
- }
-
- public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) {
- return "[Attachment]";
- }
-
- public String renderThumbnailImageLink(WikiLink link) {
- return "[Embedded Image]";
- }
-
- public String renderMacro(WikiMacro macro) {
- return "[Macro]";
- }
-
- public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
- public void setExternalLinks(List<WikiLink> externalLinks) {}
-
- public String renderParagraphOpenTag() {
- return "<p class=\"wikiPara\">\n";
- }
-
- public String renderPreformattedOpenTag() {
- return "<pre class=\"wikiPreformatted\">\n";
- }
-
- public String renderBlockquoteOpenTag() {
- return "<blockquote class=\"wikiBlockquote\">\n";
- }
-
- public String renderHeadline1(String headline) {
- return "<h1 class=\"wikiHeadline1\" id=\""+getHeadlineId(Headline.H1, headline)+"\">"
- + getHeadlineLink(Headline.H1, headline)
- + "</h1>";
- }
-
- public String renderHeadline2(String headline) {
- return "<h2 class=\"wikiHeadline2\" id=\""+getHeadlineId(Headline.H2, headline)+"\">"
- + getHeadlineLink(Headline.H2, headline)
- + "</h2>";
- }
-
- public String renderHeadline3(String headline) {
- return "<h3 class=\"wikiHeadline3\" id=\""+getHeadlineId(Headline.H3, headline)+"\">"
- + getHeadlineLink(Headline.H3, headline)
- + "</h3>";
- }
-
- public String renderHeadline4(String headline) {
- return "<h4 class=\"wikiHeadline4\" id=\""+getHeadlineId(Headline.H4, headline)+"\">"
- + getHeadlineLink(Headline.H4, headline)
- + "</h4>";
- }
-
-
- public String renderOrderedListOpenTag() {
- return "<ol class=\"wikiOrderedList\">\n";
- }
-
- public String renderOrderedListItemOpenTag() {
- return "<li class=\"wikiOrderedListItem\">";
- }
-
- public String renderUnorderedListOpenTag() {
- return "<ul class=\"wikiUnorderedList\">\n";
- }
-
- public String renderUnorderedListItemOpenTag() {
- return "<li class=\"wikiUnorderedListItem\">";
- }
-
- public String renderEmphasisOpenTag() {
- return "<i class=\"wikiEmphasis\">";
- }
-
- public String renderEmphasisCloseTag() {
- return "</i>";
- }
-
- protected String getHeadlineId(Headline h, String headline) {
- return "";
- }
-
- protected String getHeadlineLink(Headline h, String headline) {
- return headline;
- }
-}
Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/MacroWikiTextRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/MacroWikiTextRenderer.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/MacroWikiTextRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -1,36 +0,0 @@
-package org.jboss.seam.wiki.core.engine;
-
-import java.util.Set;
-import java.util.LinkedHashSet;
-
-import antlr.RecognitionException;
-import antlr.ANTLRException;
-
-public class MacroWikiTextRenderer extends NullWikiTextRenderer {
-
- private Set<WikiMacro> macros = new LinkedHashSet<WikiMacro>();
-
- public String renderMacro(WikiMacro macro) {
- macros.add(macro);
- return null;
- }
-
- public Set<WikiMacro> getMacros() {
- return macros;
- }
-
- public static MacroWikiTextRenderer renderMacros(String wikiText) {
- WikiTextParser parser = new WikiTextParser(wikiText, false, false);
- MacroWikiTextRenderer renderer = new MacroWikiTextRenderer();
- try {
- parser.setRenderer(renderer).parse();
- } catch (RecognitionException rex) {
- // Swallowing, we don't really care if there was a parse error
- } catch (ANTLRException ex) {
- // All other errors are fatal;
- throw new RuntimeException(ex);
- }
- return renderer;
- }
-
-}
Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/NullWikiTextRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/NullWikiTextRenderer.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/NullWikiTextRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -1,33 +0,0 @@
-package org.jboss.seam.wiki.core.engine;
-
-import java.util.List;
-
-/**
- * Renders nothing for links and macros and unstyled HTML for anything else.
- *
- * @author Christian Bauer
- */
-public class NullWikiTextRenderer implements WikiTextRenderer {
-
- public String renderInternalLink(WikiLink internalLink) { return null; }
- public String renderExternalLink(WikiLink externalLink) { return null; }
- public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) { return null; }
- public String renderThumbnailImageLink(WikiLink link) { return null; }
- public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
- public void setExternalLinks(List<WikiLink> externalLinks) {}
- public String renderMacro(WikiMacro macro) { return null; }
- public String renderParagraphOpenTag() { return "<p>\n"; }
- public String renderPreformattedOpenTag() { return "<pre>\n"; }
- public String renderBlockquoteOpenTag() { return "<blockquote>\n"; }
- public String renderHeadline1(String headline) { return "<h1>"+headline+"</h1>"; }
- public String renderHeadline2(String headline) { return "<h2>"+headline+"</h2>"; }
- public String renderHeadline3(String headline) { return "<h3>"+headline+"</h3>"; }
- public String renderHeadline4(String headline) { return "<h4>"+headline+"</h4>"; }
- public String renderOrderedListOpenTag() { return "<ol>\n"; }
- public String renderOrderedListItemOpenTag() { return "<li>"; }
- public String renderUnorderedListOpenTag() { return "<ul>\n"; }
- public String renderUnorderedListItemOpenTag() { return "<li>"; }
- public String renderEmphasisOpenTag() { return "<i>"; }
- public String renderEmphasisCloseTag() { return "</i>"; }
-
-}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedDAO.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedDAO.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedDAO.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -13,7 +13,7 @@
import org.jboss.seam.annotations.Name;
import org.jboss.seam.log.Log;
import org.jboss.seam.wiki.core.model.*;
-import org.jboss.seam.wiki.util.WikiUtil;
+import org.jboss.seam.wiki.core.renderer.WikiURLRenderer;
import javax.persistence.EntityManager;
import javax.persistence.EntityNotFoundException;
@@ -159,9 +159,10 @@
/* ############################# FEED CUD ################################ */
public void createFeed(WikiDirectory dir) {
+ WikiURLRenderer urlRenderer = (WikiURLRenderer)Component.getInstance(WikiURLRenderer.class);
WikiFeed feed = new WikiFeed();
feed.setDirectory(dir);
- feed.setLink(WikiUtil.renderURL(dir));
+ feed.setLink(urlRenderer.renderURL(dir));
feed.setAuthor(dir.getCreatedBy().getFullname());
feed.setTitle(dir.getName());
feed.setDescription(dir.getDescription());
@@ -169,7 +170,8 @@
}
public void updateFeed(WikiDirectory dir) {
- dir.getFeed().setLink(WikiUtil.renderURL(dir));
+ WikiURLRenderer urlRenderer = (WikiURLRenderer)Component.getInstance(WikiURLRenderer.class);
+ dir.getFeed().setLink(urlRenderer.renderURL(dir));
dir.getFeed().setTitle(dir.getName());
dir.getFeed().setAuthor(dir.getCreatedBy().getFullname());
dir.getFeed().setDescription(dir.getDescription());
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/FeedEntryManager.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -2,13 +2,15 @@
import org.jboss.seam.wiki.core.model.FeedEntry;
import org.jboss.seam.wiki.core.engine.*;
-import org.jboss.seam.wiki.util.WikiUtil;
+import org.jboss.seam.wiki.core.renderer.DefaultWikiTextRenderer;
+import org.jboss.seam.wiki.core.renderer.WikiURLRenderer;
import org.jboss.seam.ui.validator.FormattedTextValidator;
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
import org.jboss.seam.log.Log;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.In;
import antlr.ANTLRException;
import antlr.RecognitionException;
@@ -18,6 +20,9 @@
@Logger
static Log log;
+ @In
+ protected WikiURLRenderer wikiURLRenderer;
+
public abstract FE createFeedEntry(M source);
public abstract void updateFeedEntry(FE feedEntry, M source);
public abstract String getFeedEntryTitle(M source);
@@ -32,7 +37,7 @@
public String renderInternalLink(WikiLink internalLink) {
return !internalLink.isBroken() ?
"<a href=\""
- + WikiUtil.renderURL(internalLink.getFile())
+ + wikiURLRenderer.renderURL(internalLink.getFile())
+ "\">"
+ internalLink.getDescription()
+ "</a>" : "[Broken Link]";
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiCommentFeedEntryManager.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiCommentFeedEntryManager.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiCommentFeedEntryManager.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -10,7 +10,6 @@
import org.jboss.seam.international.Messages;
import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.model.WikiCommentFeedEntry;
-import org.jboss.seam.wiki.util.WikiUtil;
@Name("wikiCommentFeedEntryManager")
public class WikiCommentFeedEntryManager extends FeedEntryManager<WikiComment, WikiCommentFeedEntry> {
@@ -19,7 +18,7 @@
WikiCommentFeedEntry fe = new WikiCommentFeedEntry();
- fe.setLink(WikiUtil.renderURL(comment));
+ fe.setLink(wikiURLRenderer.renderURL(comment));
fe.setTitle(getFeedEntryTitle(comment));
fe.setAuthor(comment.getCreatedBy().getFullname());
fe.setUpdatedDate(fe.getPublishedDate());
@@ -35,7 +34,7 @@
public void updateFeedEntry(WikiCommentFeedEntry fe, WikiComment comment) {
- fe.setLink(WikiUtil.renderURL(comment));
+ fe.setLink(wikiURLRenderer.renderURL(comment));
fe.setTitle(Messages.instance().get("lacewiki.label.comment.FeedEntryTitlePrefix") + " " + comment.getSubject());
fe.setAuthor(comment.getCreatedBy().getFullname());
fe.setUpdatedDate(comment.getLastModifiedOn());
@@ -51,7 +50,7 @@
StringBuilder desc = new StringBuilder();
desc.append(Messages.instance().get("lacewiki.msg.comment.FeedIntro"));
desc.append(" ");
- desc.append("<a href=\"").append(WikiUtil.renderURL(comment.getParentDocument())).append("\">");
+ desc.append("<a href=\"").append(wikiURLRenderer.renderURL(comment.getParentDocument())).append("\">");
desc.append("'").append(comment.getParentDocument().getName()).append("'");
desc.append("</a>.");
desc.append("<hr/>");
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiDocumentFeedEntryManager.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiDocumentFeedEntryManager.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/feeds/WikiDocumentFeedEntryManager.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -9,7 +9,6 @@
import org.jboss.seam.annotations.Name;
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiDocumentFeedEntry;
-import org.jboss.seam.wiki.util.WikiUtil;
@Name("wikiDocumentFeedEntryManager")
public class WikiDocumentFeedEntryManager extends FeedEntryManager<WikiDocument, WikiDocumentFeedEntry> {
@@ -18,7 +17,7 @@
WikiDocumentFeedEntry fe = new WikiDocumentFeedEntry();
- fe.setLink(WikiUtil.renderURL(document));
+ fe.setLink(wikiURLRenderer.renderURL(document));
fe.setTitle(getFeedEntryTitle(document));
fe.setAuthor(document.getCreatedBy().getFullname());
fe.setUpdatedDate(fe.getPublishedDate());
@@ -34,7 +33,7 @@
public void updateFeedEntry(WikiDocumentFeedEntry fe, WikiDocument document) {
- fe.setLink(WikiUtil.renderURL(document));
+ fe.setLink(wikiURLRenderer.renderURL(document));
fe.setTitle(getFeedEntryTitle(document));
fe.setAuthor(document.getCreatedBy().getFullname());
fe.setUpdatedDate(document.getLastModifiedOn());
Copied: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/DefaultWikiTextRenderer.java (from rev 7424, trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/DefaultWikiTextRenderer.java)
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/DefaultWikiTextRenderer.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/DefaultWikiTextRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -0,0 +1,123 @@
+package org.jboss.seam.wiki.core.renderer;
+
+import org.jboss.seam.wiki.core.engine.WikiTextRenderer;
+import org.jboss.seam.wiki.core.engine.WikiLink;
+import org.jboss.seam.wiki.core.engine.WikiMacro;
+import org.jboss.seam.Component;
+
+import java.util.List;
+
+/**
+ * Convenience class that renders some sensible defaults that apply for the wiki.
+ *
+ * @author Christian Bauer
+ */
+public class DefaultWikiTextRenderer implements WikiTextRenderer {
+
+ protected WikiURLRenderer wikiURLRenderer = (WikiURLRenderer) Component.getInstance(WikiURLRenderer.class);
+
+ public static enum Headline {
+ H1, H2, H3, H4;
+ }
+
+ public String renderInternalLink(WikiLink internalLink) {
+ return !internalLink.isBroken() ?
+ "<a href=\""
+ + wikiURLRenderer.renderURL(internalLink.getFile())
+ + "\">"
+ + internalLink.getDescription()
+ + "</a>" : "[Broken Link]";
+ }
+
+ public String renderExternalLink(WikiLink externalLink) {
+ return "<a href=\""
+ + externalLink.getUrl()
+ + "\">"
+ + externalLink.getDescription()
+ + "</a>";
+ }
+
+ public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) {
+ return "[Attachment]";
+ }
+
+ public String renderThumbnailImageLink(WikiLink link) {
+ return "[Embedded Image]";
+ }
+
+ public String renderMacro(WikiMacro macro) {
+ return "[Macro]";
+ }
+
+ public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
+ public void setExternalLinks(List<WikiLink> externalLinks) {}
+
+ public String renderParagraphOpenTag() {
+ return "<p class=\"wikiPara\">\n";
+ }
+
+ public String renderPreformattedOpenTag() {
+ return "<pre class=\"wikiPreformatted\">\n";
+ }
+
+ public String renderBlockquoteOpenTag() {
+ return "<blockquote class=\"wikiBlockquote\">\n";
+ }
+
+ public String renderHeadline1(String headline) {
+ return "<h1 class=\"wikiHeadline1\" id=\""+getHeadlineId(Headline.H1, headline)+"\">"
+ + getHeadlineLink(Headline.H1, headline)
+ + "</h1>";
+ }
+
+ public String renderHeadline2(String headline) {
+ return "<h2 class=\"wikiHeadline2\" id=\""+getHeadlineId(Headline.H2, headline)+"\">"
+ + getHeadlineLink(Headline.H2, headline)
+ + "</h2>";
+ }
+
+ public String renderHeadline3(String headline) {
+ return "<h3 class=\"wikiHeadline3\" id=\""+getHeadlineId(Headline.H3, headline)+"\">"
+ + getHeadlineLink(Headline.H3, headline)
+ + "</h3>";
+ }
+
+ public String renderHeadline4(String headline) {
+ return "<h4 class=\"wikiHeadline4\" id=\""+getHeadlineId(Headline.H4, headline)+"\">"
+ + getHeadlineLink(Headline.H4, headline)
+ + "</h4>";
+ }
+
+
+ public String renderOrderedListOpenTag() {
+ return "<ol class=\"wikiOrderedList\">\n";
+ }
+
+ public String renderOrderedListItemOpenTag() {
+ return "<li class=\"wikiOrderedListItem\">";
+ }
+
+ public String renderUnorderedListOpenTag() {
+ return "<ul class=\"wikiUnorderedList\">\n";
+ }
+
+ public String renderUnorderedListItemOpenTag() {
+ return "<li class=\"wikiUnorderedListItem\">";
+ }
+
+ public String renderEmphasisOpenTag() {
+ return "<i class=\"wikiEmphasis\">";
+ }
+
+ public String renderEmphasisCloseTag() {
+ return "</i>";
+ }
+
+ protected String getHeadlineId(Headline h, String headline) {
+ return "";
+ }
+
+ protected String getHeadlineLink(Headline h, String headline) {
+ return headline;
+ }
+}
Property changes on: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/DefaultWikiTextRenderer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Copied: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/MacroWikiTextRenderer.java (from rev 7424, trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/MacroWikiTextRenderer.java)
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/MacroWikiTextRenderer.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/MacroWikiTextRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -0,0 +1,38 @@
+package org.jboss.seam.wiki.core.renderer;
+
+import java.util.Set;
+import java.util.LinkedHashSet;
+
+import antlr.RecognitionException;
+import antlr.ANTLRException;
+import org.jboss.seam.wiki.core.engine.WikiMacro;
+import org.jboss.seam.wiki.core.engine.WikiTextParser;
+
+public class MacroWikiTextRenderer extends NullWikiTextRenderer {
+
+ private Set<WikiMacro> macros = new LinkedHashSet<WikiMacro>();
+
+ public String renderMacro(WikiMacro macro) {
+ macros.add(macro);
+ return null;
+ }
+
+ public Set<WikiMacro> getMacros() {
+ return macros;
+ }
+
+ public static MacroWikiTextRenderer renderMacros(String wikiText) {
+ WikiTextParser parser = new WikiTextParser(wikiText, false, false);
+ MacroWikiTextRenderer renderer = new MacroWikiTextRenderer();
+ try {
+ parser.setRenderer(renderer).parse();
+ } catch (RecognitionException rex) {
+ // Swallowing, we don't really care if there was a parse error
+ } catch (ANTLRException ex) {
+ // All other errors are fatal;
+ throw new RuntimeException(ex);
+ }
+ return renderer;
+ }
+
+}
Property changes on: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/MacroWikiTextRenderer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Copied: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/NullWikiTextRenderer.java (from rev 7424, trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/engine/NullWikiTextRenderer.java)
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/NullWikiTextRenderer.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/NullWikiTextRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -0,0 +1,37 @@
+package org.jboss.seam.wiki.core.renderer;
+
+import org.jboss.seam.wiki.core.engine.WikiTextRenderer;
+import org.jboss.seam.wiki.core.engine.WikiLink;
+import org.jboss.seam.wiki.core.engine.WikiMacro;
+
+import java.util.List;
+
+/**
+ * Renders nothing for links and macros and unstyled HTML for anything else.
+ *
+ * @author Christian Bauer
+ */
+public class NullWikiTextRenderer implements WikiTextRenderer {
+
+ public String renderInternalLink(WikiLink internalLink) { return null; }
+ public String renderExternalLink(WikiLink externalLink) { return null; }
+ public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) { return null; }
+ public String renderThumbnailImageLink(WikiLink link) { return null; }
+ public void setAttachmentLinks(List<WikiLink> attachmentLinks) {}
+ public void setExternalLinks(List<WikiLink> externalLinks) {}
+ public String renderMacro(WikiMacro macro) { return null; }
+ public String renderParagraphOpenTag() { return "<p>\n"; }
+ public String renderPreformattedOpenTag() { return "<pre>\n"; }
+ public String renderBlockquoteOpenTag() { return "<blockquote>\n"; }
+ public String renderHeadline1(String headline) { return "<h1>"+headline+"</h1>"; }
+ public String renderHeadline2(String headline) { return "<h2>"+headline+"</h2>"; }
+ public String renderHeadline3(String headline) { return "<h3>"+headline+"</h3>"; }
+ public String renderHeadline4(String headline) { return "<h4>"+headline+"</h4>"; }
+ public String renderOrderedListOpenTag() { return "<ol>\n"; }
+ public String renderOrderedListItemOpenTag() { return "<li>"; }
+ public String renderUnorderedListOpenTag() { return "<ul>\n"; }
+ public String renderUnorderedListItemOpenTag() { return "<li>"; }
+ public String renderEmphasisOpenTag() { return "<i>"; }
+ public String renderEmphasisCloseTag() { return "</i>"; }
+
+}
Property changes on: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/NullWikiTextRenderer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Added: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java (rev 0)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/renderer/WikiURLRenderer.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package org.jboss.seam.wiki.core.renderer;
+
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.AutoCreate;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.wiki.util.WikiUtil;
+import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
+import org.jboss.seam.wiki.core.model.WikiNode;
+import org.jboss.seam.wiki.core.model.User;
+import org.jboss.seam.wiki.core.model.Feed;
+import org.jboss.seam.wiki.core.ui.FeedServlet;
+
+/**
+ * Renders outgoing URLs in a unified fashion, see urlrewrite.xml for incoming URL GET request rewriting.
+ * <p>
+ * Note that some of the rendering is delegated into the domain model for subclasses of <tt>Node</tt>.
+ * </p>
+ *
+ * @author Christian Bauer
+ */
+
+@Name("wikiURLRenderer")
+(a)Scope(ScopeType.CONVERSATION)
+@AutoCreate
+public class WikiURLRenderer {
+
+ @In
+ String basePath;
+
+ @In("#{preferences.get('Wiki')}")
+ WikiPreferences prefs;
+
+ public String renderSearchURL(String search) {
+ if (search == null || search.length() == 0) return "";
+ StringBuilder url = new StringBuilder();
+ url.append(basePath).append("/search/").append(encodeURL(search));
+ return url.toString();
+ }
+
+ public String renderTagURL(String tag) {
+ if (tag == null || tag.length() == 0) return "";
+ StringBuilder url = new StringBuilder();
+ url.append(basePath).append("/tag/").append(encodeURL(tag));
+ return url.toString();
+ }
+
+ public String renderUserInfoURL(User user) {
+ if (user == null || user.getUsername() == null) return "";
+ StringBuilder url = new StringBuilder();
+ url.append(basePath).append("/user/").append(user.getUsername());
+ return url.toString();
+ }
+
+ public String renderAggregateFeedURL(String aggregateId) {
+ if (aggregateId == null) return "";
+ StringBuilder url = new StringBuilder();
+ url.append(basePath)
+ .append("/service/Feed/atom/Aggregate/")
+ .append(aggregateId);
+ return url.toString();
+ }
+
+ public String renderFeedURL(Feed feed, String tag, String comments) {
+ if (feed == null || feed.getId() == null) return "";
+ StringBuilder url = new StringBuilder();
+ url.append(basePath).append("/service/Feed/atom").append(feed.getURL());
+ if (comments != null && comments.length() >0) {
+ url.append("/Comments/").append(FeedServlet.Comments.valueOf(comments));
+ }
+ if (tag != null && tag.length() >0) url.append("/Tag/").append(encodeURL(tag));
+ return url.toString();
+ }
+
+ public String renderURL(WikiNode node) {
+ if (node == null || node.getId() == null) return "";
+ return prefs.isRenderPermlinks() ? renderPermURL(node) : renderWikiURL(node);
+ }
+
+ public String renderPermURL(WikiNode node) {
+ if (node == null || node.getId() == null) return "";
+ return basePath + "/" + node.getPermURL(prefs.getPermlinkSuffix());
+ }
+
+ public String renderWikiURL(WikiNode node) {
+ if (node == null || node.getId() == null) return "";
+ return basePath + "/" + node.getWikiURL();
+ }
+
+ private String encodeURL(String s) {
+ return WikiUtil.encodeURL(s);
+ }
+
+}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearchSupport.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearchSupport.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/search/WikiSearchSupport.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -5,7 +5,8 @@
import org.jboss.seam.wiki.core.model.WikiComment;
import org.jboss.seam.wiki.core.search.metamodel.SearchSupport;
import org.jboss.seam.wiki.core.search.metamodel.SearchableEntityHandler;
-import org.jboss.seam.wiki.util.WikiUtil;
+import org.jboss.seam.wiki.core.renderer.WikiURLRenderer;
+import org.jboss.seam.Component;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.highlight.*;
@@ -32,11 +33,12 @@
}
public SearchHit extractHit(Query query, WikiDocument doc) throws Exception {
+ WikiURLRenderer urlRenderer = (WikiURLRenderer) Component.getInstance(WikiURLRenderer.class);
return new SearchHit(
WikiDocument.class.getSimpleName(),
"icon.doc.gif",
escapeBestFragments(query, new NullFragmenter(), doc.getName(), 0, 0),
- WikiUtil.renderURL(doc),
+ urlRenderer.renderURL(doc),
escapeBestFragments(query, new SimpleFragmenter(100), doc.getContent(), 5, 350)
);
}
@@ -46,12 +48,13 @@
add(
new SearchableEntityHandler<WikiComment>() {
public SearchHit extractHit(Query query, WikiComment comment) throws Exception {
+ WikiURLRenderer urlRenderer = (WikiURLRenderer)Component.getInstance(WikiURLRenderer.class);
return new SearchHit(
WikiComment.class.getSimpleName(),
"icon.user.gif",
"(" + comment.getFromUserName() + ") "
+ escapeBestFragments(query, new NullFragmenter(), comment.getSubject(), 0, 0),
- WikiUtil.renderURL(comment),
+ urlRenderer.renderURL(comment),
escapeBestFragments(query, new SimpleFragmenter(100), comment.getContent(), 5, 350)
);
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FeedServlet.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -232,7 +232,7 @@
} catch (Exception ex) {
try {
if (startedTx && userTx.getStatus() != javax.transaction.Status.STATUS_MARKED_ROLLBACK)
- userTx.rollback();
+ userTx.setRollbackOnly();
} catch (Exception rbEx) {
rbEx.printStackTrace();
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/FileServlet.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -77,7 +77,7 @@
} catch (Exception ex) {
try {
if (startedTx && userTx.getStatus() != javax.transaction.Status.STATUS_MARKED_ROLLBACK)
- userTx.rollback();
+ userTx.setRollbackOnly();
} catch (Exception rbEx) {
rbEx.printStackTrace();
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/UIWikiFormattedText.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -18,6 +18,7 @@
import org.jboss.seam.wiki.core.engine.*;
import org.jboss.seam.wiki.core.model.WikiFile;
import org.jboss.seam.wiki.core.model.WikiUploadImage;
+import org.jboss.seam.wiki.core.renderer.DefaultWikiTextRenderer;
import org.jboss.seam.wiki.util.WikiUtil;
import javax.faces.component.UIComponent;
@@ -103,7 +104,7 @@
+ (
internalLink.isBroken()
? internalLink.getUrl()
- : WikiUtil.renderURL(internalLink.getFile())
+ : wikiURLRenderer.renderURL(internalLink.getFile())
)
+ (
internalLink.getFragment() != null
@@ -131,7 +132,7 @@
public String renderFileAttachmentLink(int attachmentNumber, WikiLink attachmentLink) {
return "<a href=\""
- + WikiUtil.renderURL(baseFile)
+ + wikiURLRenderer.renderURL(baseFile)
+ "#attachment" + attachmentNumber
+ "\" target=\""
+ (getAttributes().get(ATTR_INTERNAL_TARGET_FRAME) != null ? getAttributes().get(ATTR_INTERNAL_TARGET_FRAME) : "")
@@ -148,7 +149,7 @@
// Full size display, no thumbnail
//TODO: Make sure we really don't need this - but it messes up the comment form conversation:
//String imageUrl = WikiUtil.renderURL(image) + "&cid=" + Conversation.instance().getId();
- String imageUrl = WikiUtil.renderURL(image);
+ String imageUrl = wikiURLRenderer.renderURL(image);
return "<img src='"+ imageUrl + "'" +
" width='"+ image.getSizeX()+"'" +
" height='"+ image.getSizeY() +"'/>";
@@ -157,10 +158,10 @@
//TODO: Make sure we really don't need this - but it messes up the comment form conversation:
// String thumbnailUrl = WikiUtil.renderURL(image) + "&thumbnail=true&cid=" + Conversation.instance().getId();
- String thumbnailUrl = WikiUtil.renderURL(image) + "?thumbnail=true";
+ String thumbnailUrl = wikiURLRenderer.renderURL(image) + "?thumbnail=true";
return "<a href=\""
- + (link.isBroken() ? link.getUrl() : WikiUtil.renderURL(image))
+ + (link.isBroken() ? link.getUrl() : wikiURLRenderer.renderURL(image))
+ "\" target=\""
+ (getAttributes().get(ATTR_INTERNAL_TARGET_FRAME) != null ? getAttributes().get(ATTR_INTERNAL_TARGET_FRAME) : "")
+ "\" class=\""
@@ -240,7 +241,7 @@
}
protected String getHeadlineLink(Headline h, String headline) {
- return "<a href=\""+WikiUtil.renderURL(baseFile)+"#"+WikiTextRenderer.HEADLINE_ID_PREFIX+WikiUtil.convertToWikiName(headline)+"\">"
+ return "<a href=\""+ wikiURLRenderer.renderURL(baseFile)+"#"+WikiTextRenderer.HEADLINE_ID_PREFIX+WikiUtil.convertToWikiName(headline)+"\">"
+ headline
+"</a>";
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/WikiFormattedTextHandler.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -21,7 +21,7 @@
import org.jboss.seam.log.Logging;
import org.jboss.seam.ui.component.UILoadStyle;
import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
-import org.jboss.seam.wiki.core.engine.NullWikiTextRenderer;
+import org.jboss.seam.wiki.core.renderer.NullWikiTextRenderer;
import org.jboss.seam.wiki.core.engine.WikiMacro;
import org.jboss.seam.wiki.core.engine.WikiTextParser;
import org.jboss.seam.wiki.preferences.Preferences;
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/WikiUtil.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -10,7 +10,6 @@
import org.jboss.seam.security.Identity;
import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
import org.jboss.seam.wiki.core.model.*;
-import org.jboss.seam.wiki.core.ui.FeedServlet;
import org.jboss.seam.wiki.preferences.Preferences;
import javax.faces.context.FacesContext;
@@ -119,55 +118,6 @@
);
}
- public static String renderTagURL(String tag) {
- if (tag == null || tag.length() == 0) return "";
- StringBuilder url = new StringBuilder();
- url.append(Component.getInstance("basePath")).append("/tag/").append(encodeURL(tag));
- return url.toString();
- }
-
- public static String renderUserInfoURL(User user) {
- if (user == null || user.getUsername() == null) return "";
- StringBuilder url = new StringBuilder();
- url.append(Component.getInstance("basePath")).append("/user/").append(user.getUsername());
- return url.toString();
- }
-
- public static String renderAggregateFeedURL(String aggregateId) {
- if (aggregateId == null) return "";
- StringBuilder url = new StringBuilder();
- url.append(Component.getInstance("basePath"))
- .append("/service/Feed/atom/Aggregate/")
- .append(aggregateId);
- return url.toString();
- }
-
- public static String renderFeedURL(Feed feed, String tag, String comments) {
- if (feed == null || feed.getId() == null) return "";
- StringBuilder url = new StringBuilder();
- url.append(Component.getInstance("basePath")).append("/service/Feed/atom").append(feed.getURL());
- if (comments != null && comments.length() >0) {
- url.append("/Comments/").append(FeedServlet.Comments.valueOf(comments));
- }
- if (tag != null && tag.length() >0) url.append("/Tag/").append(encodeURL(tag));
- return url.toString();
- }
-
- public static String renderURL(WikiNode node) {
- if (node == null || node.getId() == null) return "";
- return Preferences.getInstance(WikiPreferences.class).isRenderPermlinks() ? renderPermURL(node) : renderWikiURL(node);
- }
-
- public static String renderPermURL(WikiNode node) {
- if (node == null || node.getId() == null) return "";
- return Component.getInstance("basePath") + "/" + node.getPermURL(Preferences.getInstance(WikiPreferences.class).getPermlinkSuffix());
- }
-
- public static String renderWikiURL(WikiNode node) {
- if (node == null || node.getId() == null) return "";
- return Component.getInstance("basePath") + "/" + node.getWikiURL();
- }
-
public static boolean showEmailAddress() {
if (Preferences.getInstance(WikiPreferences.class).isShowEmailToLoggedInOnly() && Identity.instance().isLoggedIn()) {
return true;
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -152,7 +152,7 @@
WEBSITE="http://a.really.long.url.so.we.can.see.how.the.layout.fits/foo/bar/baz/My..."
LOCATION="Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis."
OCCUPATION="Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.

Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum."
- SIGNATURE="My member signature

Lorem ipsum dolor sit amet, *consectetuer* adipiscing elit, /sed diam nonummy/ nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum."
+ SIGNATURE="My member signature

Lorem ipsum dolor sit amet, *consectetuer* adipiscing elit, _sed diam nonummy_ nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum."
IMAGE_DATA="[BINARY_DIR]/testimage_thumbnail.jpg"
IMAGE_CONTENT_TYPE="image/jpg"/>
Modified: trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/preferences/InstancePreferencesTests.java
===================================================================
--- trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/preferences/InstancePreferencesTests.java 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/src/test/org/jboss/seam/wiki/test/preferences/InstancePreferencesTests.java 2008-02-15 02:30:12 UTC (rev 7425)
@@ -7,26 +7,18 @@
package org.jboss.seam.wiki.test.preferences;
import org.dbunit.operation.DatabaseOperation;
-import org.jboss.seam.wiki.core.action.PreferenceEditor;
import org.jboss.seam.wiki.core.action.DocumentHome;
-import org.jboss.seam.wiki.core.action.prefs.DocumentEditorPreferences;
import org.jboss.seam.wiki.core.engine.WikiTextParser;
-import org.jboss.seam.wiki.core.engine.NullWikiTextRenderer;
+import org.jboss.seam.wiki.core.renderer.NullWikiTextRenderer;
import org.jboss.seam.wiki.core.engine.WikiMacro;
import org.jboss.seam.wiki.core.ui.UIWikiFormattedText;
import org.jboss.seam.wiki.preferences.Preferences;
-import org.jboss.seam.wiki.preferences.PreferenceValue;
-import org.jboss.seam.wiki.preferences.metamodel.PreferenceRegistry;
-import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
import org.jboss.seam.wiki.plugin.lastmodified.LastModifiedDocumentsPreferences;
-import org.jboss.seam.core.Events;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.contexts.Contexts;
import org.testng.annotations.Test;
-import java.util.List;
-
/**
* @author Christian Bauer
*/
Modified: trunk/examples/wiki/view/dirDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/dirDisplay_d.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -69,7 +69,7 @@
</s:fragment>
- <h:outputLink value="#{wiki:renderFeedURL(directoryHome.instance.feed, null, null)}"
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(directoryHome.instance.feed, null, null)}"
styleClass="linkNavigation" rendered="#{not empty directoryHome.instance.feed}">
<h:graphicImage styleClass="feedIcon" value="#{themePath}/img/icon.atom.gif" width="18" height="18"/>
<h:outputText value="#{messages['lacewiki.button.DirectoryFeed']}"/>
@@ -364,13 +364,13 @@
<s:div id="directoryMenu" styleClass="contextMenu">
<ul>
<li class="undecoratedLink noWrapWhitespace">
- <h:outputLink value="#{wiki:renderURL(node)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.View']}"/>
</h:outputLink>
</li>
<li class="undecoratedLink noWrapWhitespace">
- <h:outputLink value="#{wiki:renderURL(node)}" target="_blank">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}" target="_blank">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.ViewNewWindow']}"/>
</h:outputLink>
</li>
@@ -402,20 +402,20 @@
<s:fragment rendered="#{s:hasPermission('Node','read',node)}">
- <h:outputLink id="documentLink" value="#{wiki:renderURL(node)}" tabindex="1">
+ <h:outputLink id="documentLink" value="#{wikiURLRenderer.renderURL(node)}" tabindex="1">
<h:outputText value="#{wiki:truncateString(node.name, 40, '...')}"/>
</h:outputLink>
<s:div id="documentMenu" styleClass="contextMenu">
<ul>
<li class="undecoratedLink noWrapWhitespace">
- <h:outputLink value="#{wiki:renderURL(node)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.View']}"/>
</h:outputLink>
</li>
<li class="undecoratedLink noWrapWhitespace">
- <h:outputLink value="#{wiki:renderURL(node)}" target="_blank">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}" target="_blank">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.ViewNewWindow']}"/>
</h:outputLink>
</li>
@@ -456,20 +456,20 @@
<s:fragment rendered="#{node.isInstance('WikiUpload')}">
<s:fragment rendered="#{s:hasPermission('Node','read',node)}">
- <h:outputLink id="uploadLink" value="#{wiki:renderURL(node)}" tabindex="1">
+ <h:outputLink id="uploadLink" value="#{wikiURLRenderer.renderURL(node)}" tabindex="1">
<h:outputText value="#{wiki:truncateString(node.name, 30, '...')} (#{wiki:displayFilesize(node.filesize)}, #{node.contentType})"/>
</h:outputLink>
<s:div id="uploadMenu" styleClass="contextMenu">
<ul>
<li class="undecoratedLink noWrapWhitespace">
- <h:outputLink value="#{wiki:renderURL(node)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.View']}"/>
</h:outputLink>
</li>
<li class="undecoratedLink noWrapWhitespace">
- <h:outputLink value="#{wiki:renderURL(node)}" target="_blank">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}" target="_blank">
<h:outputText value="#{messages['lacewiki.button.dirDisplay.ViewNewWindow']}"/>
</h:outputLink>
</li>
@@ -514,7 +514,7 @@
<h:outputText value="#{messages['lacewiki.label.dirDisplay.Owner']}"/>
</f:facet>
<s:span styleClass="undecoratedLink" rendered="#{node.ownedByRegularUser}">
- <h:outputLink value="#{wiki:renderUserInfoURL(node.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(node.createdBy)}">
<h:outputText value="#{node.createdBy.fullname}"/>
</h:outputLink>
</s:span>
@@ -543,7 +543,7 @@
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
(<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(node.lastModifiedBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(node.lastModifiedBy)}">
<h:outputText value="#{node.lastModifiedBy.username}"/>
</h:outputLink>
</s:span>)
Modified: trunk/examples/wiki/view/dirDisplay_m.xhtml
===================================================================
--- trunk/examples/wiki/view/dirDisplay_m.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/dirDisplay_m.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -70,7 +70,7 @@
</s:fragment>
- <h:outputLink value="#{wiki:renderFeedURL(directoryHome.instance.feed, null, null)}"
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(directoryHome.instance.feed, null, null)}"
styleClass="linkNavigation" rendered="#{not empty directoryHome.instance.feed}">
<h:outputText value="#{messages['lacewiki.button.DirectoryFeed']}"/>
</h:outputLink>
@@ -161,7 +161,7 @@
</s:span>
<s:span rendered="#{node.isInstance('WikiDocument')}">
- <h:outputLink value="#{wiki:renderURL(node)}" rendered="#{s:hasPermission('Node','read',node)}" tabindex="2">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}" rendered="#{s:hasPermission('Node','read',node)}" tabindex="2">
<h:outputText value="#{wiki:truncateString(node.name, 40, '...')}"/>
</h:outputLink>
<h:outputText value="#{node.name}" rendered="#{!s:hasPermission('Node','read',node)}"/>
@@ -176,7 +176,7 @@
<h:outputText value=" (#{wiki:displayFilesize(node.filesize)}, #{node.contentType})"/>
</s:span>
<h:panelGroup rendered="#{node.isInstance('WikiUpload') and !s:hasPermission('Node', 'edit', node)}">
- <h:outputLink value="#{wiki:renderURL(node)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}">
<h:outputText value="#{wiki:truncateString(node.name, 30, '...')} (#{wiki:displayFilesize(node.filesize)}, #{node.contentType})"/>
</h:outputLink>
</h:panelGroup>
Modified: trunk/examples/wiki/view/docDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/docDisplay_d.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/docDisplay_d.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -15,7 +15,7 @@
<s:fragment rendered="#{not empty documentHome.instance.parent.feed}">
<link rel="alternate" type="application/atom+xml"
title="#{documentHome.instance.parent.name}"
- href="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}"/>
+ href="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}"/>
</s:fragment>
@@ -92,7 +92,7 @@
<s:div rendered="#{documentHome.instance.nameAsTitle}">
<h1 class="documentTitle">
- <h:outputLink value="#{wiki:renderURL(currentDocument)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h:outputText value="#{documentHome.instance.name}"/>
</h:outputLink>
</h1>
@@ -124,7 +124,7 @@
<s:div>
#{messages['lacewiki.label.docDisplay.Tags']}: 
<ui:repeat var="tag" value="#{documentHome.tagEditor.tagsAsList}">
- <h:outputLink value="#{wiki:renderTagURL(tag)}">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tag)}">
<h:outputText value="#{tag}"/>
</h:outputLink>
<h:outputText rendered="#{not wiki:isLastItemInList(documentHome.tagEditor.tagsAsList, tag)}" value=" | "/>
@@ -140,7 +140,7 @@
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
<h:outputText value=" #{preferences.get('Wiki').timeZone} ("/>
- <h:outputLink value="#{wiki:renderURL(documentHome.instance.createdBy.memberHome)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(documentHome.instance.createdBy.memberHome)}"
rendered="#{!empty documentHome.instance.createdBy.memberHome}">
<h:outputText value="#{documentHome.instance.createdBy.fullname}"/>
</h:outputLink>
@@ -154,7 +154,7 @@
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
<h:outputText value=" #{preferences.get('Wiki').timeZone} ("/>
- <h:outputLink value="#{wiki:renderURL(documentHome.instance.lastModifiedBy.memberHome)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(documentHome.instance.lastModifiedBy.memberHome)}"
rendered="#{!empty documentHome.instance.lastModifiedBy.memberHome}">
<h:outputText value="#{documentHome.instance.lastModifiedBy.fullname}"/>
</h:outputLink>
Modified: trunk/examples/wiki/view/docDisplay_m.xhtml
===================================================================
--- trunk/examples/wiki/view/docDisplay_m.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/docDisplay_m.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -117,7 +117,7 @@
enablePlugins="true"/>
<s:div rendered="#{documentHome.instance.nameAsTitle}">
- <h:outputLink value="#{wiki:renderURL(currentDocument)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h1 class="documentTitle">#{documentHome.instance.name}</h1>
</h:outputLink>
</s:div>
@@ -164,7 +164,7 @@
</h:column>
<h:column>
<h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(link.file)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(link.file)}">
<h:outputText value="#{link.file.name}"/>
 
<h:outputText value="(#{link.file.filename}, #{wiki:displayFilesize(link.file.filesize)}, #{link.file.contentType})"/>
@@ -180,7 +180,7 @@
<s:div>
#{messages['lacewiki.label.docDisplay.Tags']}: 
<ui:repeat var="tag" value="#{documentHome.tagEditor.tagsAsList}">
- <h:outputLink value="#{wiki:renderTagURL(tag)}">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tag)}">
<h:outputText value="#{tag}"/>
</h:outputLink>
<h:outputText rendered="#{not wiki:isLastItemInList(documentHome.tagEditor.tagsAsList, tag)}" value=" | "/>
@@ -216,7 +216,7 @@
<s:div rendered="#{currentDocument.name != c.subject}">
<h3>
- <h:outputLink value="#{wiki:renderURL(c)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(c)}">
<h:outputText value="#{c.subject}"/>
</h:outputLink>
</h3>
@@ -228,7 +228,7 @@
</h:outputText>
<s:div rendered="#{c.ownedByRegularUser}">
- <h:outputLink value="#{wiki:renderUserInfoURL(c.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(c.createdBy)}">
<h:outputText value="#{c.createdBy.fullname}"/>
</h:outputLink>
<s:fragment rendered="#{wiki:showEmailAddress()}">
Modified: trunk/examples/wiki/view/docEdit_d.xhtml
===================================================================
--- trunk/examples/wiki/view/docEdit_d.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/docEdit_d.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -367,7 +367,7 @@
<s:div rendered="#{documentHome.instance.nameAsTitle}">
<h1 class="documentTitle">
- <h:outputLink value="#{wiki:renderURL(currentDocument)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h:outputText value="#{documentHome.instance.name}"/>
</h:outputLink>
</h1>
Modified: trunk/examples/wiki/view/includes/attachmentDisplay.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/attachmentDisplay.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/attachmentDisplay.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -30,7 +30,7 @@
</h:column>
<h:column>
<h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(link.file)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(link.file)}">
<h:outputText value="#{link.file.name}"/>
 
<h:outputText value="(#{link.file.filename}, #{wiki:displayFilesize(link.file.filesize)}, #{link.file.contentType})"/>
Modified: trunk/examples/wiki/view/includes/breadcrumb.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/breadcrumb.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/breadcrumb.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -9,18 +9,18 @@
<h:panelGroup styleClass="breadcrumbPanel">
- <h:outputLink value="#{wiki:renderURL(wikiRoot)}" styleClass="itemLink breadcrumbRoot">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(wikiRoot)}" styleClass="itemLink breadcrumbRoot">
<h:outputText value="#{wiki:truncateString(wikiRoot.name, 25, '...')}"/>
</h:outputLink>
<h:outputText styleClass="itemSeparator breadcrumbRoot" value="·"/>
<ui:repeat var="node" value="#{breadcrumb}">
- <h:outputLink value="#{wiki:renderURL(node)}" styleClass="itemLink" rendered="#{node.isInstance('WikiDirectory')}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}" styleClass="itemLink" rendered="#{node.isInstance('WikiDirectory')}">
<h:outputText value="#{wiki:truncateString(node.name, 25, '...')}"/>
</h:outputLink>
- <h:outputLink value="#{wiki:renderURL(node)}" styleClass="itemText" rendered="#{!node.isInstance('WikiDirectory')}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(node)}" styleClass="itemText" rendered="#{!node.isInstance('WikiDirectory')}">
<h:outputText value="#{wiki:truncateString(node.name, 35, '...')}"/>
<h:outputText rendered="#{!empty param.day || !empty param.month || !empty param.year || !empty param.tag}" value=" (showing"/>
Modified: trunk/examples/wiki/view/includes/commentsDisplay.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/commentsDisplay.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/commentsDisplay.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -34,7 +34,7 @@
cellpadding="0" cellspacing="0" border="0">
<s:div styleClass="undecoratedLink largeFont" rendered="#{currentDocument.name != c.subject}">
- <h:outputLink value="#{wiki:renderURL(c)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(c)}">
<h:outputText value="#{c.subject}"/>
</h:outputLink>
</s:div>
@@ -52,14 +52,14 @@
</s:span>
<h:outputText value=" | "/>
<s:span styleClass="commentLink undecoratedLink">
- <h:outputLink value="#{wiki:renderURL(c)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(c)}">
<h:outputText value="#{messages['lacewiki.label.Link']}"/>
</h:outputLink>
</s:span>
</s:div>
<s:div rendered="#{c.ownedByRegularUser}">
<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(c.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(c.createdBy)}">
<h:outputText value="#{c.createdBy.fullname}"/>
</h:outputLink>
</s:span>
@@ -86,7 +86,7 @@
<s:fragment rendered="#{c.ownedByRegularUser and !empty c.createdBy.profile.imageContentType}">
<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(c.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(c.createdBy)}">
<s:graphicImage styleClass="commentAuthorPortraitImage" value="#{c.createdBy.profile.image}">
<s:transformImageSize width="30" maintainRatio="true"/>
</s:graphicImage>
Modified: trunk/examples/wiki/view/includes/mainMenuItem.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/mainMenuItem.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/mainMenuItem.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -12,7 +12,7 @@
<s:div styleClass="level#{childWrapper.level}Body">
<h:outputText styleClass="level#{childWrapper.level}Marker" value="·"/>
<h:outputLink styleClass="level#{childWrapper.level}Link"
- value="#{wiki:renderURL(childWrapper.wrappedNode)}">#{childWrapper.wrappedNode.name}</h:outputLink>
+ value="#{wikiURLRenderer.renderURL(childWrapper.wrappedNode)}">#{childWrapper.wrappedNode.name}</h:outputLink>
</s:div>
<s:div styleClass="level#{childWrapper.level}Children" style="padding-left: #{childWrapper.level*7}px;">
<ui:include src="mainMenuItem.xhtml">
Modified: trunk/examples/wiki/view/includes/searchControl.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/searchControl.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/searchControl.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -5,19 +5,22 @@
xmlns:f="http://java.sun.com/jsf/core"
xmlns:s="http://jboss.com/products/seam/taglib">
- <!-- TODO: This form doesn't work on a timeout session, not every page times it out... -->
+ <!-- TODO: This form doesn't work on a timed out session, not every page times it out/hides it... -->
<h:form id="searchControlForm" styleClass="sessionEventTrigger">
<h:panelGrid columns="2" styleClass="searchControlTable" cellpadding="0" cellspacing="0" border="0">
+
<h:inputText styleClass="searchControlInput" id="searchControlSearchString" value="#{wikiSearch.simpleQuery}"
onclick="clickClear(this, '#{messages['lacewiki.label.searchControl.Search']}')"
onblur="clickRecall(this, '#{messages['lacewiki.label.searchControl.Search']}')"
size="15" maxlength="1000" tabindex="60"/>
- <h:commandLink styleClass="searchControlLink sessionEventTrigger" tabindex="61"
+
+ <h:commandButton id="submitSearch"
+ styleClass="searchControlButton sessionEventTrigger" tabindex="61"
accesskey="#{messages['lacewiki.button.searchControl.Find.accesskey']}"
- action="search">
- <h:outputText escape="false" value="#{messages['lacewiki.button.searchControl.Find']}"/>
- <f:param name="conversationPropagation" value="none"/>
- </h:commandLink>
+ action="search" value="#{messages['lacewiki.button.searchControl.Find']}">
+ <s:defaultAction/>
+ </h:commandButton>
+
</h:panelGrid>
</h:form>
Modified: trunk/examples/wiki/view/includes/userControl.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/userControl.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/userControl.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -138,7 +138,7 @@
<h:outputLink styleClass="link" tabindex="70"
accesskey="#{messages['lacewiki.button.userControl.Home.accesskey']}"
- value="#{wiki:renderURL(currentUser.memberHome)}"
+ value="#{wikiURLRenderer.renderURL(currentUser.memberHome)}"
rendered="#{!empty currentUser.memberHome}">
<h:outputText styleClass="linkText" escape="false" value="#{messages['lacewiki.button.userControl.Home']}"/>
</h:outputLink>
Modified: trunk/examples/wiki/view/includes/userInfoLink.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/userInfoLink.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/userInfoLink.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -9,7 +9,7 @@
xmlns:s="http://jboss.com/products/seam/taglib">
<s:div styleClass="undecoratedLink" rendered="#{wiki:isRegularUser(user)}">
- <h:outputLink value="#{wiki:renderUserInfoURL(user)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(user)}">
<h:outputText value="#{user.fullname}"/>
</h:outputLink>
</s:div>
Modified: trunk/examples/wiki/view/includes/wikiUploadImageEditor.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/wikiUploadImageEditor.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/includes/wikiUploadImageEditor.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -36,7 +36,7 @@
</a:commandLink>
</a:region>
</h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(editor.instance)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(editor.instance)}">
<s:graphicImage value="#{editor.instance.data}" style="border: 1px solid black;">
<s:transformImageSize width="#{editor.imagePreviewSize}" maintainRatio="true"/>
</s:graphicImage>
Modified: trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/blogArchive/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -23,10 +23,10 @@
<h:panelGrid styleClass="smallFont" rendered="#{not empty currentDirectory.feed}" columns="2"
cellpadding="2" cellspacing="0" border="0">
- <h:outputLink value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}">
<h:graphicImage value="#{themePath}/img/icon.atom.ongrey.gif" width="18" height="18" alt="Atom"/>
</h:outputLink>
- <h:outputLink value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}">
<h:outputText value="#{messages['blogArchive.label.Subscribe']}"/>
</h:outputLink>
</h:panelGrid>
@@ -39,15 +39,15 @@
<div class="blogArchiveSelector boxContent">
<select id="blogArchiveCombo" class="blogArchiveCombo"
onchange="top.location.href = jQuery('#blogArchiveCombo')[0].options[jQuery('#blogArchiveCombo')[0].selectedIndex].value;">
- <option value="#{wiki:renderURL(currentDocument)}#{blogDirectory.tagUrl}">#{messages['blogArchive.label.AllEntries']} (#{blogDirectory.pager.numOfRecords})</option>
+ <option value="#{wikiURLRenderer.renderURL(currentDocument)}#{blogDirectory.tagUrl}">#{messages['blogArchive.label.AllEntries']} (#{blogDirectory.pager.numOfRecords})</option>
<ui:repeat var="beCount" value="#{blogDirectory.blogEntryCountsByYearAndMonth}">
<s:fragment rendered="#{blogDirectory.dateUrl != beCount.asString}">
- <option value="#{wiki:renderURL(currentDocument)}#{beCount.asString}#{blogDirectory.tagUrl}">
+ <option value="#{wikiURLRenderer.renderURL(currentDocument)}#{beCount.asString}#{blogDirectory.tagUrl}">
#{messages[wiki:concat('lacewiki.label.', converters.monthNames[beCount.month])]} #{beCount.year} (#{beCount.numOfEntries})
</option>
</s:fragment>
<s:fragment rendered="#{blogDirectory.dateUrl == beCount.asString}">
- <option value="#{wiki:renderURL(currentDocument)}#{beCount.asString}#{blogDirectory.tagUrl}" selected="true">
+ <option value="#{wikiURLRenderer.renderURL(currentDocument)}#{beCount.asString}#{blogDirectory.tagUrl}" selected="true">
#{messages[wiki:concat('lacewiki.label.', converters.monthNames[beCount.month])]} #{beCount.year} (#{beCount.numOfEntries})
</option>
</s:fragment>
Modified: trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -29,11 +29,11 @@
<h:outputText value=" #{preferences.get('Wiki').timeZone}"/>
<h:outputText value=", by "/>
<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderURL(blogEntry.entryDocument.createdBy.memberHome)}" target="_top"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(blogEntry.entryDocument.createdBy.memberHome)}" target="_top"
rendered="#{!empty blogEntry.entryDocument.createdBy.memberHome}">
<h:outputText value="#{blogEntry.entryDocument.createdBy.fullname}"/>
</h:outputLink>
- <h:outputLink value="#{wiki:renderUserInfoURL(blogEntry.entryDocument.createdBy)}" target="_top"
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(blogEntry.entryDocument.createdBy)}" target="_top"
rendered="#{empty blogEntry.entryDocument.createdBy.memberHome}">
<h:outputText value="#{blogEntry.entryDocument.createdBy.fullname}"/>
</h:outputLink>
@@ -61,7 +61,7 @@
<h:outputText rendered="#{blogEntry.entryDocument.tags.size()==1}" value="#{messages['blogDirectory.label.Tag']}: "/>
<h:outputText rendered="#{blogEntry.entryDocument.tags.size()>1}" value="#{messages['blogDirectory.label.Tags']}: "/>
<ui:repeat var="tag" value="#{blogEntry.entryDocument.tagsAsList}">
- <h:outputLink value="#{wiki:renderTagURL(tag)}">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tag)}">
<h:outputText value="#{tag}"/>
</h:outputLink>
<h:outputText rendered="#{not wiki:isLastItemInList(blogEntry.entryDocument.tagsAsList, tag)}" value=" | "/>
@@ -75,7 +75,7 @@
<h:panelGrid styleClass="blogEntryFooterTable" columns="5" cellpadding="0" cellspacing="0" border="0">
<s:div styleClass="blogEntryCommentCount undecoratedLink"
rendered="#{blogEntry.commentCount > 0 and blogEntry.entryDocument.enableComments}">
- <h:outputLink value="#{wiki:renderPermURL(blogEntry.entryDocument)}#comments" target="_top">
+ <h:outputLink value="#{wikiURLRenderer.renderPermURL(blogEntry.entryDocument)}#comments" target="_top">
<span class="blogEntryCommentCountText">
<h:outputText value="#{blogEntry.commentCount} "/>
<h:outputText value="#{blogEntry.commentCount>1
@@ -86,13 +86,13 @@
</s:div>
<s:div styleClass="blogEntryCommentLink undecoratedLink"
rendered="#{blogEntry.entryDocument.enableComments and blogEntry.entryDocument.enableCommentForm}">
- <h:outputLink target="_top" value="#{wiki:renderURL(blogEntry.entryDocument)}?showCommentForm=true#commentForm">
+ <h:outputLink target="_top" value="#{wikiURLRenderer.renderURL(blogEntry.entryDocument)}?showCommentForm=true#commentForm">
<h:outputText styleClass="blogEntryCommentLinkText" value="#{messages['lacewiki.label.commentForm.PostComment']}"/>
</h:outputLink>
</s:div>
<s:div styleClass="blogEntryAttachmentsLink undecoratedLink"
rendered="#{wiki:sizeOf(wikiTextAttachments) > 0}">
- <h:outputLink value="#{wiki:renderPermURL(blogEntry.entryDocument)}#attachments" target="_top">
+ <h:outputLink value="#{wikiURLRenderer.renderPermURL(blogEntry.entryDocument)}#attachments" target="_top">
<span class="blogEntryAttachmentsLinkText">
<h:outputText value="#{wiki:sizeOf(wikiTextAttachments)} "/>
<h:outputText value="#{wiki:sizeOf(wikiTextAttachments)>1
@@ -102,12 +102,12 @@
</h:outputLink>
</s:div>
<s:div styleClass="blogEntryPermLink undecoratedLink">
- <h:outputLink value="#{wiki:renderPermURL(blogEntry.entryDocument)}" target="_top">
+ <h:outputLink value="#{wikiURLRenderer.renderPermURL(blogEntry.entryDocument)}" target="_top">
<h:outputText styleClass="blogEntryPermLinkText" value="#{messages['lacewiki.label.PermLink']}"/>
</h:outputLink>
</s:div>
<s:div styleClass="blogEntryWikiLink undecoratedLink">
- <h:outputLink value="#{wiki:renderWikiURL(blogEntry.entryDocument)}" target="_top">
+ <h:outputLink value="#{wikiURLRenderer.renderWikiURL(blogEntry.entryDocument)}" target="_top">
<h:outputText styleClass="blogEntryWikiLinkText" value="#{messages['lacewiki.label.WikiLink']}"/>
</h:outputLink>
</s:div>
@@ -128,7 +128,7 @@
cellpadding="0" cellspacing="0" border="0">
<h:outputLink rendered="#{blogDirectory.pager.previousPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}#{blogDirectory.tagUrl}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}#{blogDirectory.dateUrl}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="#{themePath}/img/page.first.gif" width="13" height="11"/>
</div>
@@ -137,7 +137,7 @@
rendered="#{!blogDirectory.pager.previousPageAvailable}"/>
<h:outputLink rendered="#{blogDirectory.pager.previousPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.previousPage}#{blogDirectory.tagUrl}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.previousPage}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="#{themePath}/img/page.previous.gif" width="13" height="11"/>
</div>
@@ -160,7 +160,7 @@
</s:span>
<h:outputLink rendered="#{blogDirectory.pager.nextPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.nextPage}#{blogDirectory.tagUrl}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.nextPage}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="#{themePath}/img/page.next.gif" width="13" height="11"/>
</div>
@@ -169,7 +169,7 @@
rendered="#{!blogDirectory.pager.nextPageAvailable}"/>
<h:outputLink rendered="#{blogDirectory.pager.nextPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.lastPage}#{blogDirectory.tagUrl}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}#{blogDirectory.dateUrl}/Page/#{blogDirectory.pager.lastPage}#{blogDirectory.tagUrl}">
<div style="width:30px;">
<h:graphicImage value="#{themePath}/img/page.last.gif" width="13" height="11"/>
</div>
Modified: trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/blogRecentEntries/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -24,12 +24,12 @@
cellpadding="2" cellspacing="0" border="0">
<h:outputLink
target="_top"
- value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
+ value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}">
<h:graphicImage value="#{themePath}/img/icon.atom.ongrey.gif" width="18" height="18" alt="Atom"/>
</h:outputLink>
<h:outputLink
target="_top"
- value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
+ value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}">
<h:outputText value="#{messages['blogRecentEntries.label.Subscribe']}"/>
</h:outputLink>
</h:panelGrid>
@@ -54,7 +54,7 @@
columnClasses="blogRecentEntriesItem smallFont"
cellpadding="0" cellspacing="0" border="0">
<h:column>
- <h:outputLink styleClass="blogRecentEntriesItemLink" target="_top" value="#{wiki:renderURL(be.entryDocument)}">
+ <h:outputLink styleClass="blogRecentEntriesItemLink" target="_top" value="#{wikiURLRenderer.renderURL(be.entryDocument)}">
<h:outputText styleClass="blogRecentEntriesItemLinkText"
value="#{wiki:truncateString(be.entryDocument.name, preferences.get('Blog', currentMacro).recentEntriesTruncateTitle, '...')}"/>
</h:outputLink>
Modified: trunk/examples/wiki/view/plugins/dirMenu/dirMenuItem.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/dirMenu/dirMenuItem.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/dirMenu/dirMenuItem.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -21,7 +21,7 @@
</s:span>
<h:outputLink styleClass="level#{childWrapper.level}Link" target="_top"
- value="#{wiki:renderURL(childWrapper.wrappedNode)}">#{wiki:truncateString(childWrapper.wrappedNode.name, 40, '...')}</h:outputLink>
+ value="#{wikiURLRenderer.renderURL(childWrapper.wrappedNode)}">#{wiki:truncateString(childWrapper.wrappedNode.name, 40, '...')}</h:outputLink>
</h:panelGrid>
</s:div>
Modified: trunk/examples/wiki/view/plugins/dirMenu/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/dirMenu/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/dirMenu/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -19,11 +19,11 @@
<h:panelGrid rendered="#{not empty currentDirectory.feed}" columns="2" cellpadding="0" cellspacing="0" border="0">
<h:outputLink target="_top"
- value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
+ value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}">
<h:graphicImage value="#{themePath}/img/icon.atom.ongrey.gif" width="18" height="18" alt="Atom"/>
</h:outputLink>
<h:outputLink target="_top"
- value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}">
+ value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}">
<h:outputText value="#{messages['dirMenu.label.Subscribe']}"/>
</h:outputLink>
</h:panelGrid>
Modified: trunk/examples/wiki/view/plugins/docPager/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/docPager/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/docPager/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -11,7 +11,7 @@
cellpadding="0" cellspacing="0" border="0">
<s:div styleClass="undecoratedLink">
<s:fragment rendered="#{not empty docPager.previous}">
- <h:outputLink value="#{wiki:renderURL(docPager.previous)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(docPager.previous)}">
<h:graphicImage styleClass="docPagerButton" value="#{themePath}/img/left.gif" width="18" height="18"/>
<h:outputText styleClass="docPagerLabel"
rendered="#{not preferences.get('DocPager', currentMacro).showNames}"
@@ -24,7 +24,7 @@
</s:div>
<s:div styleClass="undecoratedLink">
<s:fragment rendered="#{not empty docPager.next}">
- <h:outputLink value="#{wiki:renderURL(docPager.next)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(docPager.next)}">
<h:outputText styleClass="docPagerLabel"
rendered="#{not preferences.get('DocPager', currentMacro).showNames}"
value="#{messages['lacewiki.label.Next']}"/>
Modified: trunk/examples/wiki/view/plugins/faqBrowser/faqControls.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/faqBrowser/faqControls.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/faqBrowser/faqControls.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -54,7 +54,7 @@
<s:span id="faqCategoryLink" styleClass="undecoratedLink">
<s:fragment rendered="#{faqBrowser.directorySelected}">
- <h:outputLink value="#{wiki:renderWikiURL(currentDocument)}/Category/#{faqBrowser.selectedDir.wrappedNode.wikiname}">
+ <h:outputLink value="#{wikiURLRenderer.renderWikiURL(currentDocument)}/Category/#{faqBrowser.selectedDir.wrappedNode.wikiname}">
<h:outputText value="Link"/>
</h:outputLink>
</s:fragment>
@@ -89,7 +89,7 @@
rowClasses="rowOdd, rowEven"
cellpadding="0" cellspacing="0" border="0">
<h:column>
- <h:outputLink value="#{wiki:renderURL(q)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(q)}">
<h:outputText value="#{q.name}"/>
</h:outputLink>
</h:column>
@@ -101,7 +101,7 @@
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
(<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(q.lastModifiedBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(q.lastModifiedBy)}">
<h:outputText value="#{q.lastModifiedBy.username}"/>
</h:outputLink>
</s:span>)
Modified: trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/feedAggregator/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -15,7 +15,7 @@
<h:panelGrid columns="2" cellpadding="0" cellspacing="0" border="0"
styleClass="feedAggregatorTitle">
- <h:outputLink value="#{wiki:renderAggregateFeedURL(preferences.get('FeedAggregator', currentMacro).aggregateId)}"
+ <h:outputLink value="#{wikiURLRenderer.renderAggregateFeedURL(preferences.get('FeedAggregator', currentMacro).aggregateId)}"
rendered="#{not empty preferences.get('FeedAggregator', currentMacro).aggregateId}"
style="margin-right:10px;">
<h:graphicImage value="#{themePath}/img/icon.atom.ongrey.gif" width="18" height="18" alt="Atom"
Modified: trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/feedTeasers/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -36,7 +36,7 @@
<!-- TODO: Fix this somehow... it was an ugly hack anyway
<s:div rendered="#{fe.document.enableComments and wiki:sizeOf(fe.document.comments) > 0}" styleClass="undecoratedLink">
- <h:outputLink target="_top" styleClass="feedTeaserComments" value="#{wiki:renderPermURL(fe.document)}#comments">
+ <h:outputLink target="_top" styleClass="feedTeaserComments" value="#{wikiURLRenderer.renderPermURL(fe.document)}#comments">
#{wiki:sizeOf(fe.document.comments)} 
<h:outputText value="#{wiki:sizeOf(fe.document.comments)>1
? messages['lacewiki.label.commentsDisplay.Comments']
Modified: trunk/examples/wiki/view/plugins/forumList/forumListControls.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumList/forumListControls.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumList/forumListControls.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -11,7 +11,7 @@
<s:fragment rendered="#{not forumListHome.managed}">
<s:div styleClass="forumsFeedLink undecoratedLink" rendered="#{not empty currentDirectory.feed}">
- <h:outputLink value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}"
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}"
tabindex="1">
<h:graphicImage value="#{themePath}/img/icon.atom.gif" width="18" height="18"/>
<h:outputText value="#{currentDocument.name} #{messages['forum.label.Feed']}"/>
@@ -53,7 +53,7 @@
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.NewForum']}"/>
</a:commandLink>
- <h:outputLink value="#{wiki:renderURL(currentDirectory)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory)}"
accesskey="#{messages['forum.button.Exit.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent sessionEventTrigger">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.Exit']}"/>
Modified: trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumList/forumListTable.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -29,7 +29,7 @@
<f:facet name="header"> </f:facet>
<h:panelGroup>
- <h:outputLink styleClass="undecoratedLink" value="#{wiki:renderURL(f.forum)}" tabindex="1">
+ <h:outputLink styleClass="undecoratedLink" value="#{wikiURLRenderer.renderURL(f.forum)}" tabindex="1">
<h:graphicImage value="#{themePath}/img/icon.posting_unread.gif" width="22" height="26"
rendered="#{f.unreadPostings}"/>
@@ -38,7 +38,7 @@
</h:outputLink>
<s:span styleClass="forumFeedLink undecoratedLink" rendered="#{not empty f.forum.feed}">
- <h:outputLink value="#{wiki:renderFeedURL(f.forum.feed, null, null)}"
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(f.forum.feed, null, null)}"
tabindex="1">
<h:graphicImage value="#{themePath}/img/icon.atom.gif" width="18" height="18"/>
</h:outputLink>
@@ -55,7 +55,7 @@
<h:column>
<f:facet name="header">#{messages['forum.label.Forum']}</f:facet>
<s:div styleClass="undecoratedLink forumTitle extraLargeFont">
- <h:outputLink styleClass="undecoratedLink" value="#{wiki:renderURL(f.forum)}" tabindex="1">
+ <h:outputLink styleClass="undecoratedLink" value="#{wikiURLRenderer.renderURL(f.forum)}" tabindex="1">
<h:outputText value="#{f.forum.name}"/>
</h:outputLink>
</s:div>
@@ -82,7 +82,7 @@
<f:facet name="header">#{messages['forum.label.NewestTopic']}</f:facet>
<s:fragment rendered="#{not empty f.lastTopic}">
<ui:include src="lastTopicPost.xhtml">
- <ui:param name="link" value="#{wiki:renderURL(f.lastTopic)}"/>
+ <ui:param name="link" value="#{wikiURLRenderer.renderURL(f.lastTopic)}"/>
<ui:param name="name" value="#{f.lastTopic.name}"/>
<ui:param name="createdOn" value="#{f.lastTopic.createdOn}"/>
<ui:param name="createdBy" value="#{f.lastTopic.createdBy}"/>
@@ -99,7 +99,7 @@
<f:facet name="header">#{messages['forum.label.LatestPost']}</f:facet>
<s:fragment rendered="#{f.lastPostLastTopic}">
<ui:include src="lastTopicPost.xhtml">
- <ui:param name="link" value="#{wiki:renderURL(f.lastTopic)}"/>
+ <ui:param name="link" value="#{wikiURLRenderer.renderURL(f.lastTopic)}"/>
<ui:param name="name" value="#{f.lastTopic.name}"/>
<ui:param name="createdOn" value="#{f.lastTopic.createdOn}"/>
<ui:param name="createdBy" value="#{f.lastTopic.createdBy}"/>
@@ -109,7 +109,7 @@
</s:fragment>
<s:fragment rendered="#{not empty f.lastComment and not f.lastPostLastTopic}">
<ui:include src="lastTopicPost.xhtml">
- <ui:param name="link" value="#{wiki:renderURL(f.lastComment)}"/>
+ <ui:param name="link" value="#{wikiURLRenderer.renderURL(f.lastComment)}"/>
<ui:param name="name" value="#{f.lastComment.subject}"/>
<ui:param name="createdOn" value="#{f.lastComment.createdOn}"/>
<ui:param name="createdBy" value="#{f.lastComment.createdBy}"/>
Modified: trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumPosting/forumPostingHeader.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -10,27 +10,27 @@
<h:panelGrid columns="2" styleClass="forumPostingHeaderInfoControls" columnClasses="forumPostingHeaderInfo, forumPostingHeaderControls"
cellpadding="0" cellspacing="0" border="0">
- <h:outputLink value="#{wiki:renderURL(currentDirectory.defaultFile)}" styleClass="extraExtraLargeFont">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory.defaultFile)}" styleClass="extraExtraLargeFont">
<h:outputText value="#{messages['forum.label.Forum']}: #{currentDirectory.name}"/>
</h:outputLink>
<h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(currentDirectory.parent)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory.parent)}"
accesskey="#{messages['forum.button.ForumList.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.ForumList']}"/>
</h:outputLink>
<s:fragment rendered="#{empty topicPage or topicPage == 0}">
- <h:outputLink value="#{wiki:renderURL(currentDirectory.defaultFile)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory.defaultFile)}"
accesskey="#{messages['forum.button.TopicList.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.TopicList']}"/>
</h:outputLink>
</s:fragment>
<s:fragment rendered="#{topicPage > 0}">
- <h:outputLink value="#{wiki:renderURL(currentDirectory.defaultFile)}/Page/#{topicPage}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory.defaultFile)}/Page/#{topicPage}"
accesskey="#{messages['forum.button.TopicList.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.TopicList']}"/>
@@ -38,21 +38,21 @@
</s:fragment>
<s:fragment rendered="#{s:hasPermission('Node', 'create', currentDirectory) and not replyHome.showForm}">
- <h:outputLink value="#{wiki:renderURL(currentDirectory.defaultFile)}?showTopicForm=true"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory.defaultFile)}?showTopicForm=true"
accesskey="#{messages['forum.button.NewTopic.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.NewTopic']}"/>
</h:outputLink>
</s:fragment>
- <h:outputLink value="#{wiki:renderURL(docPager.previous)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(docPager.previous)}"
rendered="#{not empty docPager.previous and docPager.previous.id != currentDirectory.defaultFile.id}"
accesskey="#{messages['forum.button.PreviousPosting.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.PreviousPosting']}"/>
</h:outputLink>
- <h:outputLink value="#{wiki:renderURL(docPager.next)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(docPager.next)}"
rendered="#{not empty docPager.next and docPager.next.id != currentDirectory.defaultFile.id}"
accesskey="#{messages['forum.button.NextPosting.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
@@ -75,7 +75,7 @@
</s:fragment>
<s:div styleClass="undecoratedLink largeFont" rendered="#{currentDocument.name != c.subject}">
- <h:outputLink styleClass="subjectLink" value="#{wiki:renderURL(currentDocument)}">
+ <h:outputLink styleClass="subjectLink" value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h:outputText value="#{currentDocument.name}"/>
</h:outputLink>
</s:div>
@@ -90,14 +90,14 @@
</s:span>
<h:outputText value=" | "/>
<s:span styleClass="commentLink undecoratedLink">
- <h:outputLink value="#{wiki:renderURL(c)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(c)}">
<h:outputText value="#{messages['lacewiki.label.Link']}"/>
</h:outputLink>
</s:span>
</s:div>
<s:div rendered="#{currentDocument.ownedByRegularUser}">
<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(currentDocument.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(currentDocument.createdBy)}">
<h:outputText value="#{currentDocument.createdBy.fullname}"/>
</h:outputLink>
</s:span>
@@ -115,7 +115,7 @@
<s:fragment rendered="#{currentDocument.ownedByRegularUser and !empty currentDocument.createdBy.profile.imageContentType}">
<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(currentDocument.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(currentDocument.createdBy)}">
<s:graphicImage styleClass="commentAuthorPortraitImage" value="#{currentDocument.createdBy.profile.image}">
<s:transformImageSize width="30" maintainRatio="true"/>
</s:graphicImage>
Modified: trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumReplies/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -31,7 +31,7 @@
<s:div>
#{messages['lacewiki.label.docDisplay.Tags']}: 
<ui:repeat var="tag" value="#{currentDocument.tagsAsList}">
- <h:outputLink value="#{wiki:renderTagURL(tag)}">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tag)}">
<h:outputText value="#{tag}"/>
</h:outputLink>
<h:outputText rendered="#{not wiki:isLastItemInList(currentDocument.tagsAsList, tag)}" value=" | "/>
Modified: trunk/examples/wiki/view/plugins/forumTopics/topicControls.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumTopics/topicControls.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumTopics/topicControls.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -17,7 +17,7 @@
<script type="text/javascript">stopSessionTimeoutCheck();</script>
<s:div styleClass="forumsFeedLink undecoratedLink" rendered="#{not empty currentDirectory.feed}">
- <h:outputLink value="#{wiki:renderFeedURL(currentDirectory.feed, null, null)}"
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(currentDirectory.feed, null, null)}"
tabindex="1">
<h:graphicImage value="#{themePath}/img/icon.atom.gif" width="18" height="18"/>
<h:outputText value="#{currentDocument.name} #{messages['forum.label.Feed']}"/>
@@ -33,14 +33,14 @@
<h:form>
<h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(currentDirectory.parent)}"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDirectory.parent)}"
accesskey="#{messages['forum.button.ForumList.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.ForumList']}"/>
</h:outputLink>
<s:fragment rendered="#{s:hasPermission('Node', 'create', currentDirectory)}">
- <h:outputLink value="#{wiki:renderURL(currentDocument)}?showTopicForm=true"
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}?showTopicForm=true"
accesskey="#{messages['forum.button.NewTopic.accesskey']}"
tabindex="1" styleClass="buttonNonpersistent">
<h:outputText styleClass="buttonLabel" escape="false" value="#{messages['forum.button.NewTopic']}"/>
Modified: trunk/examples/wiki/view/plugins/forumTopics/topicPager.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumTopics/topicPager.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumTopics/topicPager.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -12,14 +12,14 @@
cellpadding="0" cellspacing="0" border="0">
<h:outputLink rendered="#{forumQuery.pager.previousPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h:graphicImage value="#{themePath}/img/page.first.gif" width="13" height="11"/>
</h:outputLink>
<h:graphicImage value="#{themePath}/img/blank.gif" width="13" height="11"
rendered="#{!forumQuery.pager.previousPageAvailable}"/>
<h:outputLink rendered="#{forumQuery.pager.previousPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}/Page/#{forumQuery.pager.previousPage}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}/Page/#{forumQuery.pager.previousPage}">
<h:graphicImage value="#{themePath}/img/page.previous.gif" width="13" height="11"/>
</h:outputLink>
<h:graphicImage value="#{themePath}/img/blank.gif" width="13" height="11"
@@ -33,14 +33,14 @@
</s:span>
<h:outputLink rendered="#{forumQuery.pager.nextPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}/Page/#{forumQuery.pager.nextPage}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}/Page/#{forumQuery.pager.nextPage}">
<h:graphicImage value="#{themePath}/img/page.next.gif" width="13" height="11"/>
</h:outputLink>
<h:graphicImage value="#{themePath}/img/blank.gif" width="13" height="11"
rendered="#{!forumQuery.pager.nextPageAvailable}"/>
<h:outputLink rendered="#{forumQuery.pager.nextPageAvailable}" target="_top"
- value="#{wiki:renderURL(currentDocument)}/Page/#{forumQuery.pager.lastPage}">
+ value="#{wikiURLRenderer.renderURL(currentDocument)}/Page/#{forumQuery.pager.lastPage}">
<h:graphicImage value="#{themePath}/img/page.last.gif" width="13" height="11"/>
</h:outputLink>
<h:graphicImage value="#{themePath}/img/blank.gif" width="13" height="11"
Modified: trunk/examples/wiki/view/plugins/forumTopics/topicTable.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/forumTopics/topicTable.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/forumTopics/topicTable.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -34,7 +34,7 @@
<h:column>
<f:facet name="header">Topic</f:facet>
- <h:outputLink value="#{wiki:renderURL(t.topic)}" tabindex="1">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(t.topic)}" tabindex="1">
<h:outputText value="#{wiki:truncateString(t.topic.name, 60, '...')}"/>
</h:outputLink>
@@ -59,7 +59,7 @@
<f:facet name="header">Last Post</f:facet>
<s:fragment rendered="#{not empty t.lastComment}">
- <h:outputLink value="#{wiki:renderURL(t.lastComment)}" tabindex="1">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(t.lastComment)}" tabindex="1">
<h:outputText value="#{t.lastComment.createdOn}">
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
@@ -73,7 +73,7 @@
</s:fragment>
<s:fragment rendered="#{empty t.lastComment}">
- <h:outputLink value="#{wiki:renderURL(t.topic)}" tabindex="1">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(t.topic)}" tabindex="1">
<h:outputText value="#{t.topic.createdOn}">
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
Modified: trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/lastModifiedDocuments/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -27,7 +27,7 @@
<s:fragment rendered="#{preferences.get('LastModifiedDocuments', currentMacro).showUsernames}">
(<s:span styleClass="undecoratedLink" rendered="#{wiki:isRegularUser(doc.lastModifiedBy)}">
- <h:outputLink value="#{wiki:renderUserInfoURL(doc.lastModifiedBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(doc.lastModifiedBy)}">
<h:outputText value="#{doc.lastModifiedBy.username}"/>
</h:outputLink>
</s:span>
@@ -47,7 +47,7 @@
</s:div>
<s:div styleClass="lastModifiedTitle wrapWhitespace">
- <h:outputLink target="_top" value="#{wiki:renderURL(doc)}" styleClass="lastModifiedLink">
+ <h:outputLink target="_top" value="#{wikiURLRenderer.renderURL(doc)}" styleClass="lastModifiedLink">
<h:outputText value="#{wiki:truncateString(doc.name, preferences.get('LastModifiedDocuments', currentMacro).documentTitleLength, '...')}"/>
</h:outputLink>
</s:div>
Modified: trunk/examples/wiki/view/plugins/tags/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/plugins/tags/plugin.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -20,10 +20,10 @@
cellpadding="0" cellspacing="0" border="0">
<h:column>
<s:span rendered="#{param.tag != tagCount.tag and preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderURL(currentDocument)}/Tag/#{wiki:encodeURL(tagCount.tag)}">#{tagCount.tag}</h:outputLink>
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}/Tag/#{wiki:encodeURL(tagCount.tag)}">#{tagCount.tag}</h:outputLink>
</s:span>
<s:span rendered="#{param.tag != tagCount.tag and not preferences.get('Tags', currentMacro).linkToCurrentDocument}" styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderTagURL(tagCount.tag)}">
+ <h:outputLink value="#{wikiURLRenderer.renderTagURL(tagCount.tag)}">
<h:outputText value="#{tagCount.tag}"/>
</h:outputLink>
</s:span>
@@ -37,7 +37,7 @@
</h:dataTable>
<s:span styleClass="undecoratedLink defaultColumn" rendered="#{preferences.get('Tags', currentMacro).linkToCurrentDocument}">
- <h:outputLink value="#{wiki:renderURL(currentDocument)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(currentDocument)}">
<h:outputText value="#{messages['tags.label.All']}"/>
</h:outputLink>
</s:span>
Modified: trunk/examples/wiki/view/tagDisplay_d.xhtml
===================================================================
--- trunk/examples/wiki/view/tagDisplay_d.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/tagDisplay_d.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -44,7 +44,7 @@
rendered="#{file.isInstance('WikiUpload') and empty uploadTypes[file.contentType]}"/>
<s:span rendered="#{file.isInstance('WikiDocument')}">
- <h:outputLink value="#{wiki:renderURL(file)}" rendered="#{s:hasPermission('Node','read',file)}" tabindex="2">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(file)}" rendered="#{s:hasPermission('Node','read',file)}" tabindex="2">
<h:outputText value="#{wiki:truncateString(file.name, 40, '...')}"/>
</h:outputLink>
<h:outputText value="#{file.name}" rendered="#{!s:hasPermission('Node','read',file)}"/>
@@ -59,7 +59,7 @@
<h:outputText value=" (#{wiki:displayFilesize(file.filesize)}, #{file.contentType})"/>
</s:span>
<h:panelGroup rendered="#{file.isInstance('WikiUpload') and !s:hasPermission('Node', 'edit', file)}">
- <h:outputLink value="#{wiki:renderURL(file)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(file)}">
<h:outputText value="#{wiki:truncateString(file.name, 30, '...')} (#{wiki:displayFilesize(file.filesize)}, #{file.contentType})"/>
</h:outputLink>
</h:panelGroup>
@@ -85,7 +85,7 @@
<h:outputText value="#{messages['lacewiki.label.tagDisplay.Owner']}"/>
</f:facet>
<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(file.createdBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(file.createdBy)}">
<h:outputText value="#{file.createdBy.fullname}"/>
</h:outputLink>
</s:span>
@@ -106,7 +106,7 @@
<f:convertDateTime pattern="dd. MMM yyyy, HH:mm" timeZone="#{preferences.get('Wiki').timeZone}"/>
</h:outputText>
(<s:span styleClass="undecoratedLink">
- <h:outputLink value="#{wiki:renderUserInfoURL(file.lastModifiedBy)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(file.lastModifiedBy)}">
<h:outputText value="#{file.lastModifiedBy.username}"/>
</h:outputLink>
</s:span>)
Modified: trunk/examples/wiki/view/themes/default/css/searchControl.css
===================================================================
--- trunk/examples/wiki/view/themes/default/css/searchControl.css 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/default/css/searchControl.css 2008-02-15 02:30:12 UTC (rev 7425)
@@ -29,13 +29,15 @@
border: 0;
}
-#searchControl .searchControlLink{
+#searchControl .searchControlButton {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
font-size: 75%;
color: #C7B299;
- text-decoration: none;
- padding-left: 5px;
- padding-right: 5px;
margin-left: 5px;
margin-right: 5px;
+ text-decoration: none;
+ cursor: pointer;
+ background:none;
+ border: none;
}
Modified: trunk/examples/wiki/view/themes/default/m/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/m/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/default/m/template.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -79,7 +79,7 @@
<h:commandButton action="#{authenticator.logout}" value="#{messages['lacewiki.button.Logout']}"/>
- <h:outputLink styleClass="userControlLink" value="#{wiki:renderURL(currentUser.memberHome)}"
+ <h:outputLink styleClass="userControlLink" value="#{wikiURLRenderer.renderURL(currentUser.memberHome)}"
rendered="#{!empty currentUser.memberHome}">#{messages['lacewiki.button.Home']}</h:outputLink>
</h:panelGrid>
Modified: trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplies.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplies.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/default/mailtemplates/forumNotifyReplies.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -14,8 +14,8 @@
<p>Hello #{currentDocument.createdBy.firstname},</p>
<p>
- you received a <a href="#{wiki:renderURL(replyHome.instance)}">response</a>
- to <a href="#{wiki:renderURL(currentDocument)}">your posting</a> on the
+ you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">response</a>
+ to <a href="#{wikiURLRenderer.renderURL(currentDocument)}">your posting</a> on the
Lacewiki forum, posted by #{replyHome.instance.createdBy.fullname}:
</p>
@@ -31,7 +31,7 @@
enablePlugins="false"/>
<hr/>
- <h:outputLink value="#{wiki:renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
+ <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
</body>
</html>
@@ -46,7 +46,7 @@
Follow this link to read and reply:
-#{wiki:renderURL(replyHome.instance)}
+#{wikiURLRenderer.renderURL(replyHome.instance)}
</h:outputText>
</f:facet>
</m:body>
Modified: trunk/examples/wiki/view/themes/default/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/default/template.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -37,7 +37,7 @@
// ###################### Session timeout alert #################################
var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
- var timeoutURL = '#{wiki:renderURL(wikiStart)}';
+ var timeoutURL = '#{wikiURLRenderer.renderURL(wikiStart)}';
var timeoutMillis = '#{sessionTimeoutSeconds}'*1000+3000;
var sessionTimeoutInterval = null;
@@ -283,7 +283,7 @@
</ui:define>
<ui:define name="mainMenuFooter">
<s:div styleClass="feeds" rendered="#{preferences.get('Wiki').showSiteFeedInMenu}">
- <h:outputLink value="#{wiki:renderFeedURL(wikiRoot.feed, null, null)}">
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(wikiRoot.feed, null, null)}">
<h:graphicImage value="#{themePath}/img/icon.atom.gif" width="18" height="18"/>
<span class="feedText">#{messages['lacewiki.button.SiteFeed']}</span>
</h:outputLink>
Modified: trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-15 02:30:12 UTC (rev 7425)
@@ -932,7 +932,8 @@
.commentText {
padding-left: 5px;
- padding-right: 5px;
+ padding-right: 5px;
+ line-height: 160%;
}
.commentSignatureSeparator {
@@ -1497,15 +1498,20 @@
font-family: Andale Mono, Courier New, monospace;
}
-#searchControl .searchControlLink{
+#searchControl .searchControlButton {
+ font-family: "Lucida Sans", Arial, Helvetica, sans-serif;
font-weight: normal;
font-size: 85%;
color: #d75525;
text-decoration: none;
padding-left: 5px;
+ text-decoration: none;
+ cursor: pointer;
+ background:none;
+ border: none;
}
-#searchControl .searchControlLink:hover {
+#searchControl .searchControlButton:hover {
color: #666;
}
Modified: trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/inrelationto/m/template.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -80,7 +80,7 @@
<h:commandButton action="#{authenticator.logout}" value="#{messages['lacewiki.button.Logout']}"/>
- <h:outputLink styleClass="userControlLink" value="#{wiki:renderURL(currentUser.memberHome)}"
+ <h:outputLink styleClass="userControlLink" value="#{wikiURLRenderer.renderURL(currentUser.memberHome)}"
rendered="#{!empty currentUser.memberHome}">#{messages['lacewiki.button.Home']}</h:outputLink>
</h:panelGrid>
Modified: trunk/examples/wiki/view/themes/inrelationto/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -28,7 +28,7 @@
// ###################### Session timeout alert #################################
var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
- var timeoutURL = '#{wiki:renderURL(wikiStart)}';
+ var timeoutURL = '#{wikiURLRenderer.renderURL(wikiStart)}';
var timeoutMillis = '#{sessionTimeoutSeconds}'*1000+3000;
var sessionTimeoutInterval = null;
@@ -293,7 +293,7 @@
<ui:decorate template="../../includes/mainMenu.xhtml">
<ui:define name="mainMenuHeader">
<s:div styleClass="feeds" rendered="#{preferences.get('Wiki').showSiteFeedInMenu}">
- <h:outputLink value="#{wiki:renderFeedURL(wikiRoot.feed, null, null)}">
+ <h:outputLink value="#{wikiURLRenderer.renderFeedURL(wikiRoot.feed, null, null)}">
<h:graphicImage value="#{themePath}/img/icon.atom.gif" width="18" height="18"/>
<span class="feedText">#{messages['lacewiki.button.SiteFeed']}</span>
</h:outputLink>
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-15 02:30:12 UTC (rev 7425)
@@ -1451,16 +1451,18 @@
border: 0;
}
-#searchControl .searchControlLink{
+#searchControl .searchControlButton {
+ font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif;
font-size: 90%;
color: #fff;
- padding-left: 5px;
- padding-right: 5px;
- margin-left: 5px;
margin-right: 5px;
+ text-decoration: none;
+ cursor: pointer;
+ background:none;
+ border: none;
}
-#searchControl .searchControlLink:hover { color: #bbb; }
+#searchControl .searchControlButton:hover { color: #bbb; }
/* Main Menu
Modified: trunk/examples/wiki/view/themes/sfwkorg/m/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/m/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/sfwkorg/m/template.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -75,7 +75,7 @@
<h:commandButton action="#{authenticator.logout}" value="#{messages['lacewiki.button.Logout']}"/>
- <h:outputLink styleClass="userControlLink" value="#{wiki:renderURL(currentUser.memberHome)}"
+ <h:outputLink styleClass="userControlLink" value="#{wikiURLRenderer.renderURL(currentUser.memberHome)}"
rendered="#{!empty currentUser.memberHome}">#{messages['lacewiki.button.Home']}</h:outputLink>
</h:panelGrid>
Modified: trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/sfwkorg/mailtemplates/forumNotifyReply.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -14,8 +14,8 @@
<p>Hello #{currentDocument.createdBy.firstname},</p>
<p>
- you received a <a href="#{wiki:renderURL(replyHome.instance)}">response</a>
- to <a href="#{wiki:renderURL(currentDocument)}">your posting</a> on the
+ you received a <a href="#{wikiURLRenderer.renderURL(replyHome.instance)}">response</a>
+ to <a href="#{wikiURLRenderer.renderURL(currentDocument)}">your posting</a> on the
Seam community forum, posted by #{replyHome.instance.createdBy.fullname}:
</p>
@@ -31,7 +31,7 @@
enablePlugins="false"/>
<hr/>
- <h:outputLink value="#{wiki:renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
+ <h:outputLink value="#{wikiURLRenderer.renderURL(replyHome.instance)}">Click here</h:outputLink> to reply...
</body>
</html>
@@ -46,7 +46,7 @@
Follow this link to read and reply:
-#{wiki:renderURL(replyHome.instance)}
+#{wikiURLRenderer.renderURL(replyHome.instance)}
</h:outputText>
</f:facet>
</m:body>
Modified: trunk/examples/wiki/view/themes/sfwkorg/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -29,7 +29,7 @@
// ###################### Session timeout alert #################################
var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
- var timeoutURL = '#{wiki:renderURL(wikiStart)}';
+ var timeoutURL = '#{wikiURLRenderer.renderURL(wikiStart)}';
var timeoutMillis = '#{sessionTimeoutSeconds}'*1000+3000;
var sessionTimeoutInterval = null;
@@ -269,10 +269,10 @@
<ui:define name="mainMenuFooter">
<h:panelGrid columns="2" cellpadding="0" cellspacing="0" border="0" styleClass="feeds"
rendered="#{preferences.get('Wiki').showSiteFeedInMenu}">
- <h:outputLink styleClass="feedLink" value="#{wiki:renderFeedURL(wikiRoot.feed, null, null)}">
+ <h:outputLink styleClass="feedLink" value="#{wikiURLRenderer.renderFeedURL(wikiRoot.feed, null, null)}">
<h:graphicImage styleClass="feedIcon" value="#{themePath}/img/icon.atom.onbrown.gif" width="18" height="18"/>
</h:outputLink>
- <h:outputLink styleClass="feedLink" value="#{wiki:renderFeedURL(wikiRoot.feed, null, null)}">
+ <h:outputLink styleClass="feedLink" value="#{wikiURLRenderer.renderFeedURL(wikiRoot.feed, null, null)}">
<span class="feedText">#{messages['lacewiki.button.SiteFeed']}</span>
</h:outputLink>
</h:panelGrid>
@@ -289,11 +289,11 @@
<s:fragment rendered="#{not empty currentDocument and not empty currentDocument.id}">
- <h:outputLink styleClass="linkNavigation" value="#{wiki:renderPermURL(currentDocument)}" target="_top">
+ <h:outputLink styleClass="linkNavigation" value="#{wikiURLRenderer.renderPermURL(currentDocument)}" target="_top">
<h:outputText value="#{messages['lacewiki.label.PermLink']}"/>
</h:outputLink>
- <h:outputLink styleClass="linkNavigation" value="#{wiki:renderWikiURL(currentDocument)}" target="_top">
+ <h:outputLink styleClass="linkNavigation" value="#{wikiURLRenderer.renderWikiURL(currentDocument)}" target="_top">
<h:outputText value="#{messages['lacewiki.label.WikiLink']}"/>
</h:outputLink>
Modified: trunk/examples/wiki/view/uploadEdit_d.xhtml
===================================================================
--- trunk/examples/wiki/view/uploadEdit_d.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/uploadEdit_d.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -85,7 +85,7 @@
<div class="label">#{messages['lacewiki.label.uploadEdit.FileDetails']}:</div>
<div class="output">
<h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(uploadHome.instance)}" styleClass="sessionEventTrigger">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(uploadHome.instance)}" styleClass="sessionEventTrigger">
<h:outputText value="#{uploadHome.instance.filename}, #{wiki:displayFilesize(uploadHome.instance.filesize)}, #{uploadHome.instance.contentType}"/>
</h:outputLink>
</h:panelGroup>
Modified: trunk/examples/wiki/view/uploadEdit_m.xhtml
===================================================================
--- trunk/examples/wiki/view/uploadEdit_m.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/uploadEdit_m.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -34,7 +34,7 @@
<s:div rendered="#{uploadHome.managed}">
#{messages['lacewiki.label.uploadEdit.FileDetails']}: 
<h:panelGroup>
- <h:outputLink value="#{wiki:renderURL(uploadHome.instance)}">
+ <h:outputLink value="#{wikiURLRenderer.renderURL(uploadHome.instance)}">
<h:outputText value="#{uploadHome.instance.filename}, #{wiki:displayFilesize(uploadHome.instance.filesize)}, #{uploadHome.instance.contentType}"/>
</h:outputLink>
</h:panelGroup>
Modified: trunk/examples/wiki/view/userList_d.xhtml
===================================================================
--- trunk/examples/wiki/view/userList_d.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
+++ trunk/examples/wiki/view/userList_d.xhtml 2008-02-15 02:30:12 UTC (rev 7425)
@@ -151,7 +151,7 @@
<h:outputText value="#{u.username}"/>
</s:fragment>
<s:fragment rendered="#{not u.admin and not u.guest}">
- <h:outputLink value="#{wiki:renderUserInfoURL(u)}">
+ <h:outputLink value="#{wikiURLRenderer.renderUserInfoURL(u)}">
<h:outputText value="#{u.username}"/>
</h:outputLink>
<h:outputText rendered="#{!u.activated}" value=" (#{messages['lacewiki.label.userList.NotActivated']})"/>
16 years, 10 months
Seam SVN: r7424 - in trunk/examples/wiki: view/includes and 9 other directories.
by seam-commits@lists.jboss.org
Author: christian.bauer(a)jboss.com
Date: 2008-02-14 18:11:13 -0500 (Thu, 14 Feb 2008)
New Revision: 7424
Added:
trunk/examples/wiki/view/themes/default/js/lacewiki.js
trunk/examples/wiki/view/themes/inrelationto/js/jqueryPlugins.js
trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqueryPlugins.js
trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js
Removed:
trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css
trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css
trunk/examples/wiki/view/themes/inrelationto/css/userControl.css
trunk/examples/wiki/view/themes/inrelationto/js/interface.js
trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js
trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js
trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js
trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js
trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js
trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js
trunk/examples/wiki/view/themes/sfwkorg/css/mainMenu.css
trunk/examples/wiki/view/themes/sfwkorg/css/searchControl.css
trunk/examples/wiki/view/themes/sfwkorg/css/userControl.css
trunk/examples/wiki/view/themes/sfwkorg/js/interface.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqContextMenu.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqDimensions.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqHistoryRemote.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqModal.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqProgressBar.js
trunk/examples/wiki/view/themes/sfwkorg/js/jqTabs.js
Modified:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
trunk/examples/wiki/view/includes/wikiTextEditor.xhtml
trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml
trunk/examples/wiki/view/themes/default/js/jqModal.js
trunk/examples/wiki/view/themes/default/template.xhtml
trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
trunk/examples/wiki/view/themes/inrelationto/js/jquery.js
trunk/examples/wiki/view/themes/inrelationto/template.xhtml
trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
trunk/examples/wiki/view/themes/sfwkorg/js/jquery.js
trunk/examples/wiki/view/themes/sfwkorg/template.xhtml
Log:
UI and forum query performance optimizations
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/plugin/forum/ForumQueries.hbm.xml 2008-02-14 23:11:13 UTC (rev 7424)
@@ -181,12 +181,14 @@
from
WIKI_DOCUMENT doc0 inner join WIKI_FILE doc1 on doc0.NODE_ID=doc1.NODE_ID inner join WIKI_NODE doc2 on doc0.NODE_ID=doc2.NODE_ID
left outer join WIKI_NODE c0
- on c0.NODE_ID in (select c1.NODE_ID from WIKI_COMMENT c1 where c1.NS_THREAD in
- (select c2.NS_THREAD from WIKI_COMMENT c2 inner join WIKI_NODE c3 on c3.NODE_ID = c2.NODE_ID where c3.PARENT_NODE_ID = doc0.NODE_ID)
- )
- and c0.CREATED_ON = (select max(c5.CREATED_ON) from WIKI_COMMENT c4 inner join WIKI_NODE c5 on c4.NODE_ID = c5.NODE_ID where c4.NS_THREAD in
- (select c6.NS_THREAD from WIKI_COMMENT c6 inner join WIKI_NODE c7 on c6.NODE_ID = c7.NODE_ID where c7.PARENT_NODE_ID = doc0.NODE_ID)
- )
+ on c0.NODE_ID = (
+ select ct3.NODE_ID from WIKI_COMMENT ct
+ inner join WIKI_NODE ct1 on ct.NODE_ID = ct1.NODE_ID
+ inner join WIKI_COMMENT ct2 on ct2.NS_THREAD in (ct.NS_THREAD)
+ inner join WIKI_NODE ct3 on ct2.NODE_ID = ct3.NODE_ID
+ where ct1.PARENT_NODE_ID = doc0.NODE_ID order by ct3.CREATED_ON desc
+ limit 1
+ )
where
doc2.PARENT_NODE_ID = :parentNodeId
and (doc0.HEADER_MACROS like '%forumPosting%' or doc0.HEADER_MACROS like '%forumStickyPosting%')
Modified: trunk/examples/wiki/view/includes/wikiTextEditor.xhtml
===================================================================
--- trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/includes/wikiTextEditor.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
@@ -9,20 +9,6 @@
<!-- TODO: Most of this Javascript could be made generic and not rendered for each and every
text editor on the page (luckily we usually have just one)... -->
-<script type="text/javascript" src="#{basePath}/seam/resource/remoting/interface.js?wikiTextEditor"></script>
-<script type="text/javascript">
- Seam.Remoting.getContext().setConversationId('#{conversation.id}');
-
- /* Set text area resize on backing bean */
- var wikiTextEditor = Seam.Component.getInstance("wikiTextEditor");
- function storeTextAreaRows(editorId, textAreaRows) {
- /* TODO: Causes seam/hibernate passivation version mismatch errors if followed by an AJAX request, disabled.
- wikiTextEditor.setTextAreaRows(editorId, textAreaRows, noopCallback);
- */
- }
- function noopCallback() {}
-</script>
-
<s:div styleClass="entry" id="#{textEditorId}TextEditor">
<script type="text/javascript">
@@ -37,9 +23,6 @@
onResize: function(size) {
jQuery("##{namingContainer}\\:#{textEditorId}TextArea").css({ height: size.height-15 + "px" });
jQuery("##{namingContainer}\\:#{textEditorId}TextArea").css({ width: size.width-10 + "px" });
- },
- onStop: function() {
- storeTextAreaRows('#{textEditorId}', jQuery("##{namingContainer}\\:#{textEditorId}TextArea").attr('rows'));
}
});
jQuery("##{namingContainer}\\:#{textEditorId}TextEditResizeHandle").show();
Modified: trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml
===================================================================
--- trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/plugins/blogDirectory/plugin.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
@@ -58,13 +58,13 @@
<s:div rendered="#{preferences.get('Wiki').showTags and not blogEntry.entryDocument.macroPresent('hideTags') and not empty blogEntry.entryDocument.tags}"
styleClass="documentTags undecoratedLink">
<s:div>
- <h:outputText rendered="#{blogEntry.tags.size()==1}" value="#{messages['blogDirectory.label.Tag']}: "/>
- <h:outputText rendered="#{blogEntry.tags.size()>1}" value="#{messages['blogDirectory.label.Tags']}: "/>
- <ui:repeat var="tag" value="#{blogEntry.tagsAsList}">
+ <h:outputText rendered="#{blogEntry.entryDocument.tags.size()==1}" value="#{messages['blogDirectory.label.Tag']}: "/>
+ <h:outputText rendered="#{blogEntry.entryDocument.tags.size()>1}" value="#{messages['blogDirectory.label.Tags']}: "/>
+ <ui:repeat var="tag" value="#{blogEntry.entryDocument.tagsAsList}">
<h:outputLink value="#{wiki:renderTagURL(tag)}">
<h:outputText value="#{tag}"/>
</h:outputLink>
- <h:outputText rendered="#{not wiki:isLastItemInList(blogEntry.tagsAsList, tag)}" value=" | "/>
+ <h:outputText rendered="#{not wiki:isLastItemInList(blogEntry.entryDocument.tagsAsList, tag)}" value=" | "/>
</ui:repeat>
</s:div>
</s:div>
Modified: trunk/examples/wiki/view/themes/default/js/jqModal.js
===================================================================
--- trunk/examples/wiki/view/themes/default/js/jqModal.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/default/js/jqModal.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -4,60 +4,8 @@
* Copyright (c) 2007 Brice Burgess <bhb(a)iceburg.net>, http://www.iceburg.net
* Licensed under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
- *
- * $Version: 2007.02.25 +r9
+ *
+ * $Version: 2007.08.17 +r11
+ *
*/
-(function($) {
-$.fn.jqm=function(o){
-var _o = {
-zIndex: 3000,
-overlay: 50,
-overlayClass: 'jqmOverlay',
-closeClass: 'jqmClose',
-trigger: '.jqModal',
-ajax: false,
-target: false,
-modal: false,
-onShow: false,
-onHide: false,
-onLoad: false
-};
-return this.each(function(){if(this._jqm)return; s++; this._jqm=s;
-hash[s]={c:$.extend(_o, o),a:false,w:$(this).addClass('jqmID'+s),s:s};
-if(_o.trigger)$(this).jqmAddTrigger(_o.trigger);
-});}
-
-$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide'); return this;}
-$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow'); return this;}
-$.fn.jqmShow=function(t){return this.each(function(){if(!hash[this._jqm].a)$.jqm.open(this._jqm,t)});}
-$.fn.jqmHide=function(t){return this.each(function(){if(hash[this._jqm].a)$.jqm.close(this._jqm,t)});}
-
-$.jqm = {
-open:function(s,t){var h=hash[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;h.a=true;h.w.css('z-index',z);
- if(c.modal) {if(ma.length == 0)mf('bind');ma.push(s);o.css('cursor','wait');}
- else if(c.overlay > 0)h.w.jqmAddClose(o);
- else o=false;
-
- h.o=(o)?o.addClass(c.overlayClass).appendTo('body'):false;
- if(ie6){$('html,body').css('height','100%');if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}
-
- if(c.ajax) {var r=c.target,u=c.ajax;
- r=(r)?(typeof r == 'string')?$(r,h.w):$(r):h.w; u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
- r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));f(h);});}
- else if(cc)h.w.jqmAddClose($(cc,h.w));
-
- (c.onShow)?c.onShow(h):h.w.show();f(h);return false;
-},
-close:function(s){var h=hash[s];h.a=false;
- if(ma.length != 0){ma.pop();if(ma.length == 0)mf('unbind');}
- if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return false;
-}};
-var s=0,hash={},ma=[],ie6=$.browser.msie && typeof XMLHttpRequest == 'function',
-i=$('<iframe class="jqm"></iframe>').css({opacity:0}),
-f=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if($('iframe.jqm',h.w).length == 0)h.w.prepend(i);
- h.f=$(':input:visible',h.w)[0]||h.w[0];h.f.focus();},
-mf=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
-m=function(e) {var h=hash[ma[ma.length-1]], r=(!$(e.target).parents('.jqmID'+h.s).length == 0);if(!r)h.f.focus();return r;},
-hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});
- $(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(hash[this[i][s]])hash[this[i][s]].w[i](this);return false;});}});};
-})(jQuery);
\ No newline at end of file
+(function($){$.fn.jqm=function(o){var _o={zIndex:3000,overlay:50,overlayClass:'jqmOverlay',closeClass:'jqmClose',trigger:'.jqModal',ajax:false,target:false,modal:false,toTop:false,onShow:false,onHide:false,onLoad:false};return this.each(function(){if(this._jqm)return;s++;this._jqm=s;H[s]={c:$.extend(_o,o),a:false,w:$(this).addClass('jqmID'+s),s:s};if(_o.trigger)$(this).jqmAddTrigger(_o.trigger)})};$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide');return this};$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow');return this};$.fn.jqmShow=function(t){return this.each(function(){if(!H[this._jqm].a)$.jqm.open(this._jqm,t)})};$.fn.jqmHide=function(t){return this.each(function(){if(H[this._jqm].a)$.jqm.close(this._jqm,t)})};$.jqm={hash:{},open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;!
h.a=true;h.w.css('z-index',z);if(c.modal){if(!A[0])F('bind');A.push(s);o.css('cursor','wait')}else if(c.overlay>0)h.w.jqmAddClose(o);else o=false;h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):false;if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in{Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'")}}if(c.ajax){var r=c.target||h.w,u=c.ajax,r=(typeof r=='string')?$(r,h.w):$(r),u=(u.substr(0,1)=='@')?$(t).attr(u.substring(1)):u;r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h)})}else if(cc)h.w.jqmAddClose($(cc,h.w));if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);(c.onShow)?c.onShow(h):h.w.show();e(h);return false},close:function(s){var h=H[s];h.a=false;if(A[0]){A.pop();if(!A[0])F('unbind')}if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();if(!
h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove()}return fa
lse}};var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version=="6.0"),i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i);f(h)},f=function(h){try{$(':input:visible',h.w)[0].focus()}catch(e){}},F=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m)},m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return!r},hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});$(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in{jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return false})}})}})(jQuery);
Added: trunk/examples/wiki/view/themes/default/js/lacewiki.js
===================================================================
--- trunk/examples/wiki/view/themes/default/js/lacewiki.js (rev 0)
+++ trunk/examples/wiki/view/themes/default/js/lacewiki.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -0,0 +1,110 @@
+/* Cachable global scripts */
+
+// ###################### Log #################################
+
+function log(message) {
+ return; // Remove to enable logging
+ if (!log.window_ || log.window_.closed) {
+ var win = window.open("", null, "width=400,height=200," +
+ "scrollbars=yes,resizable=yes,status=no," +
+ "location=no,menubar=no,toolbar=no");
+ if (!win) return;
+ var doc = win.document;
+ doc.write("<html><head><title>Debug Log</title></head><body style='font-family: monospace'></body></html>");
+ doc.close();
+ log.window_ = win;
+ }
+ var logLine = log.window_.document.createElement("div");
+ logLine.appendChild(log.window_.document.createTextNode(message));
+ log.window_.document.body.appendChild(logLine);
+}
+
+// ###################### Seam Remoting #################################
+
+Seam.Remoting.displayLoadingMessage = function() {};
+Seam.Remoting.hideLoadingMessage = function() {};
+
+// ###################### jQuery Integration #################################
+
+jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
+
+function jsf(id) {
+ // Find the dynamic JSF client identifier by looking up
+ // the static identifier of its j4j proxy child element
+ if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
+ var realId = document.getElementById(id).title;
+ var element = document.getElementById(realId);
+ return jQuery(element);
+}
+
+// ###################### Form helpers #################################
+
+function onAjaxRequestComplete() {
+ resetSessionTimeoutCheck();
+ wrapBoxes();
+}
+
+function selectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).attr("checked", "true");
+}
+function deselectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).removeAttr("checked");
+}
+
+function clickClear(thisfield, defaulttext) {
+ if (thisfield.value == defaulttext) {
+ thisfield.value = "";
+ }
+}
+function clickRecall(thisfield, defaulttext) {
+ if (thisfield.value == '') {
+ thisfield.value = defaulttext;
+ }
+}
+
+function trimString(s) {
+ return s.replace(/(^\s+|\s+$)/g, "");
+}
+
+function stringEndsWith(s, suffix) {
+ return s.substring(s.length - suffix.length) == suffix;
+}
+
+function formatText(textArea, formatString) {
+ var inlinePlaceholder = "{i}";
+ var blockPlaceholder = "{b}";
+ var inline = formatString.indexOf(inlinePlaceholder) != -1;
+ var block = formatString.indexOf(blockPlaceholder) != -1;
+ if (!(inline || block)) return;
+ var prefix = formatString.substring(0, formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder));
+ var suffix = formatString.substring(formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder)+3, formatString.length);
+ if (block) {
+ prefix = "\n" + prefix;
+ suffix = suffix + "\n";
+ }
+
+ if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
+ var caretPos = textArea.caretPos;
+ caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? prefix + caretPos.text + suffix + ' ' : prefix + caretPos.text + suffix;
+ caretPos.select();
+ } else if (typeof(textArea.selectionStart) != "undefined") {
+ var begin = textArea.value.substr(0, textArea.selectionStart);
+ var selection = textArea.value.substr(textArea.selectionStart, textArea.selectionEnd - textArea.selectionStart);
+ var end = textArea.value.substr(textArea.selectionEnd);
+ var newCursorPos = textArea.selectionStart;
+ var scrollPos = textArea.scrollTop;
+ textArea.value = begin + prefix + selection + suffix + end;
+ if (textArea.setSelectionRange) {
+ if (selection.length == 0)
+ textArea.setSelectionRange(newCursorPos + prefix.length, newCursorPos + prefix.length);
+ else
+ textArea.setSelectionRange(newCursorPos, newCursorPos + prefix.length + selection.length + suffix.length);
+ textArea.focus();
+ }
+ textArea.scrollTop = scrollPos;
+ } else {
+ textArea.value += prefix + suffix;
+ textArea.focus(textArea.value.length - 1);
+ }
+}
+
Modified: trunk/examples/wiki/view/themes/default/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/default/template.xhtml 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/default/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
@@ -20,6 +20,8 @@
<link href="#{themePath}/css/mainMenu.css" rel="stylesheet" type="text/css"/>
<ui:insert name="includeHeaders"/>
+ <script type="text/javascript" src="#{basePath}/seam/resource/remoting/resource/remote.js"></script>
+ <script type="text/javascript" src="#{basePath}/seam/resource/remoting/interface.js?httpSessionChecker"></script>
<script type="text/javascript" src="#{themePath}/js/jquery.js"></script>
<script type="text/javascript" src="#{themePath}/js/interface.js"></script>
<script type="text/javascript" src="#{themePath}/js/jqModal.js"></script>
@@ -28,29 +30,10 @@
<script type="text/javascript" src="#{themePath}/js/jqProgressBar.js"></script>
<script type="text/javascript" src="#{themePath}/js/jqDimensions.js"></script>
<script type="text/javascript" src="#{themePath}/js/jqContextMenu.js"></script>
- <script type="text/javascript" src="#{basePath}/seam/resource/remoting/resource/remote.js"></script>
- <script type="text/javascript" src="#{basePath}/seam/resource/remoting/interface.js?httpSessionChecker"></script>
+ <script type="text/javascript" src="#{themePath}/js/lacewiki.js"></script>
<script type="text/javascript">
- // ###################### Seam Remoting #################################
-
- Seam.Remoting.displayLoadingMessage = function() {};
- Seam.Remoting.hideLoadingMessage = function() {};
-
- // ###################### jQuery Integration #################################
-
- jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
-
- function jsf(id) {
- // Find the dynamic JSF client identifier by looking up
- // the static identifier of its j4j proxy child element
- if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
- var realId = document.getElementById(id).title;
- var element = document.getElementById(realId);
- return jQuery(element);
- }
-
// ###################### Session timeout alert #################################
var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
@@ -85,77 +68,7 @@
}
}
- // ###################### Form helpers #################################
- function onAjaxRequestComplete() {
- resetSessionTimeoutCheck();
- wrapBoxes();
- }
-
- function selectCheckBoxes(styleClass) {
- jQuery("."+styleClass).attr("checked", "true");
- }
- function deselectCheckBoxes(styleClass) {
- jQuery("."+styleClass).removeAttr("checked");
- }
-
- function clickClear(thisfield, defaulttext) {
- if (thisfield.value == defaulttext) {
- thisfield.value = "";
- }
- }
- function clickRecall(thisfield, defaulttext) {
- if (thisfield.value == '') {
- thisfield.value = defaulttext;
- }
- }
-
- function trimString(s) {
- return s.replace(/(^\s+|\s+$)/g, "");
- }
-
- function stringEndsWith(s, suffix) {
- return s.substring(s.length - suffix.length) == suffix;
- }
-
- function formatText(textArea, formatString) {
- var inlinePlaceholder = "{i}";
- var blockPlaceholder = "{b}";
- var inline = formatString.indexOf(inlinePlaceholder) != -1;
- var block = formatString.indexOf(blockPlaceholder) != -1;
- if (!(inline || block)) return;
- var prefix = formatString.substring(0, formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder));
- var suffix = formatString.substring(formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder)+3, formatString.length);
- if (block) {
- prefix = "\n" + prefix;
- suffix = suffix + "\n";
- }
-
- if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
- var caretPos = textArea.caretPos;
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? prefix + caretPos.text + suffix + ' ' : prefix + caretPos.text + suffix;
- caretPos.select();
- } else if (typeof(textArea.selectionStart) != "undefined") {
- var begin = textArea.value.substr(0, textArea.selectionStart);
- var selection = textArea.value.substr(textArea.selectionStart, textArea.selectionEnd - textArea.selectionStart);
- var end = textArea.value.substr(textArea.selectionEnd);
- var newCursorPos = textArea.selectionStart;
- var scrollPos = textArea.scrollTop;
- textArea.value = begin + prefix + selection + suffix + end;
- if (textArea.setSelectionRange) {
- if (selection.length == 0)
- textArea.setSelectionRange(newCursorPos + prefix.length, newCursorPos + prefix.length);
- else
- textArea.setSelectionRange(newCursorPos, newCursorPos + prefix.length + selection.length + suffix.length);
- textArea.focus();
- }
- textArea.scrollTop = scrollPos;
- } else {
- textArea.value += prefix + suffix;
- textArea.focus(textArea.value.length - 1);
- }
- }
-
// ###################### Popups #################################
function deleteConfirmation(message, deleteFunction) {
@@ -254,23 +167,6 @@
jsf("messageBoxContainer_").hide(); // Hide server messages
}
- function log(message) {
- return; // Remove to enable logging
- if (!log.window_ || log.window_.closed) {
- var win = window.open("", null, "width=400,height=200," +
- "scrollbars=yes,resizable=yes,status=no," +
- "location=no,menubar=no,toolbar=no");
- if (!win) return;
- var doc = win.document;
- doc.write("<html><head><title>Debug Log</title></head><body style='font-family: monospace'></body></html>");
- doc.close();
- log.window_ = win;
- }
- var logLine = log.window_.document.createElement("div");
- logLine.appendChild(log.window_.document.createTextNode(message));
- log.window_.document.body.appendChild(logLine);
- }
-
// ###################### Design #################################
function highlightStars(item, range, end) {
Modified: trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/css/inrelationto.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1407,3 +1407,193 @@
}
.userInfoEntryLink:hover {color: #666}
+
+
+/* User Control
+----------------------------------------------- */
+
+.userControlPanel {
+ text-align:right;
+ font-size: 85%;
+ padding-top: 3px;
+ padding-right: 18px;
+}
+
+.loginForm {
+ display: inline;
+}
+
+.userControlPanel .label {
+ color: #FFCFB8;
+ text-decoration: none;
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+.userControlPanel .link {
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+.userControlPanel .linkText {
+ color: #fff;
+ text-decoration: none;
+}
+
+.userControlPanel .input {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 100%;
+ padding: 1px;
+ margin: 0;
+ border: 0;
+}
+
+.resetPasswordForm {
+ display: inline;
+}
+
+.resetPasswordRequestForm {
+ display: inline;
+}
+
+.resetPasswordRequestFormFields {
+}
+
+.resetPasswordRequestFormFields .entry .label {
+ white-space: nowrap;
+}
+
+.resetPasswordRequestFormControls {
+}
+
+
+/* Search Control
+----------------------------------------------- */
+
+#searchControl {
+ padding-left: 10px;
+ padding-top: 12px;
+}
+
+#searchControl .searchControlTable {
+}
+
+#searchControl .searchControlLabel{
+ color: #ffcfb8;
+ font-weight: normal;
+ font-size: 80%;
+ text-decoration: none;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+#searchControl .searchControlInput {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 85%;
+ padding: 1px;
+ width: 75px;
+ margin: 0;
+ border: 1px solid #ffb398;
+ font-family: Andale Mono, Courier New, monospace;
+}
+
+#searchControl .searchControlLink{
+ font-weight: normal;
+ font-size: 85%;
+ color: #d75525;
+ text-decoration: none;
+ padding-left: 5px;
+}
+
+#searchControl .searchControlLink:hover {
+ color: #666;
+}
+
+
+
+/* Main Menu
+----------------------------------------------- */
+
+/* Main menu
+----------------------------------------------- */
+
+.mainMenuContainer {
+ background-color: white;
+}
+
+.mainMenuHeader {
+ background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
+ height: 30px;
+ margin-top: 5px;
+}
+
+.mainMenuFooter {
+ background: #d6d5c8 url(../img/th.bg.gif) 0 0 repeat-x;
+ height: 35px;
+ margin-top: 5px;
+}
+
+#mainMenu .level1 {
+}
+
+#mainMenu .level1Body {
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 10px;
+}
+
+#mainMenu .level1Marker {
+ display: none;
+}
+
+#mainMenu .level1Link {
+ font-weight: bold;
+ color: #d75525;
+ font-size: 100%;
+ text-decoration: none;
+}
+
+#mainMenu .level1Link:hover {color: #666}
+
+#mainMenu .level1Children {
+ margin-left: 10px;
+}
+
+#mainMenu .level2 {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+#mainMenu .level2Marker {
+ display: none;
+}
+
+#mainMenu .level2Link {
+ font-size: 85%;
+ font-weight: bold;
+ color: #d75525;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+#mainMenu .level2Link:hover {color: #666}
+
+#mainMenu .level3 {}
+
+#mainMenu .level3Marker {
+ padding-left: 2px;
+ padding-right: 2px;
+ font-size: 80%;
+ color: #d75525;
+}
+
+#mainMenu .level3Link {
+ font-size: 80%;
+ color: #d75525;
+ text-decoration: none;
+ white-space: nowrap;
+}
+
+#mainMenu .level3Link:hover {color: #666}
+
+
Deleted: trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/css/mainMenu.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,83 +0,0 @@
-/* Main menu
------------------------------------------------ */
-
-.mainMenuContainer {
- background-color: white;
-}
-
-.mainMenuHeader {
- background: #fff url(../img/th.bg.inverse.gif) 0 0 repeat-x;
- height: 30px;
- margin-top: 5px;
-}
-
-.mainMenuFooter {
- background: #d6d5c8 url(../img/th.bg.gif) 0 0 repeat-x;
- height: 35px;
- margin-top: 5px;
-}
-
-#mainMenu .level1 {
-}
-
-#mainMenu .level1Body {
- padding-top: 3px;
- padding-bottom: 3px;
- padding-left: 10px;
-}
-
-#mainMenu .level1Marker {
- display: none;
-}
-
-#mainMenu .level1Link {
- font-weight: bold;
- color: #d75525;
- font-size: 100%;
- text-decoration: none;
-}
-
-#mainMenu .level1Link:hover {color: #666}
-
-#mainMenu .level1Children {
- margin-left: 10px;
-}
-
-#mainMenu .level2 {
- padding-top: 2px;
- padding-bottom: 2px;
-}
-
-#mainMenu .level2Marker {
- display: none;
-}
-
-#mainMenu .level2Link {
- font-size: 85%;
- font-weight: bold;
- color: #d75525;
- text-decoration: none;
- white-space: nowrap;
-}
-
-#mainMenu .level2Link:hover {color: #666}
-
-#mainMenu .level3 {}
-
-#mainMenu .level3Marker {
- padding-left: 2px;
- padding-right: 2px;
- font-size: 80%;
- color: #d75525;
-}
-
-#mainMenu .level3Link {
- font-size: 80%;
- color: #d75525;
- text-decoration: none;
- white-space: nowrap;
-}
-
-#mainMenu .level3Link:hover {color: #666}
-
-
Deleted: trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/css/searchControl.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,38 +0,0 @@
-#searchControl {
- padding-left: 10px;
- padding-top: 12px;
-}
-
-#searchControl .searchControlTable {
-}
-
-#searchControl .searchControlLabel{
- color: #ffcfb8;
- font-weight: normal;
- font-size: 80%;
- text-decoration: none;
- padding-left: 5px;
- padding-right: 5px;
-}
-
-#searchControl .searchControlInput {
- background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
- font-size: 85%;
- padding: 1px;
- width: 75px;
- margin: 0;
- border: 1px solid #ffb398;
- font-family: Andale Mono, Courier New, monospace;
-}
-
-#searchControl .searchControlLink{
- font-weight: normal;
- font-size: 85%;
- color: #d75525;
- text-decoration: none;
- padding-left: 5px;
-}
-
-#searchControl .searchControlLink:hover {
- color: #666;
-}
Deleted: trunk/examples/wiki/view/themes/inrelationto/css/userControl.css
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/css/userControl.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/css/userControl.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,53 +0,0 @@
-.userControlPanel {
- text-align:right;
- font-size: 85%;
- padding-top: 3px;
- padding-right: 18px;
-}
-
-.loginForm {
- display: inline;
-}
-
-.userControlPanel .label {
- color: #FFCFB8;
- text-decoration: none;
- margin-left: 10px;
- margin-right: 5px;
-}
-
-.userControlPanel .link {
- margin-left: 10px;
- margin-right: 5px;
-}
-
-.userControlPanel .linkText {
- color: #fff;
- text-decoration: none;
-}
-
-.userControlPanel .input {
- background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
- font-size: 100%;
- padding: 1px;
- margin: 0;
- border: 0;
-}
-
-.resetPasswordForm {
- display: inline;
-}
-
-.resetPasswordRequestForm {
- display: inline;
-}
-
-.resetPasswordRequestFormFields {
-}
-
-.resetPasswordRequestFormFields .entry .label {
- white-space: nowrap;
-}
-
-.resetPasswordRequestFormControls {
-}
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/interface.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/interface.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/interface.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,8 +0,0 @@
-/*
- * Interface elements for jQuery - 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}('4.1h={5m:k(e){d x=0;d y=0;d 27=1g;d L=e.1d;8(4(e).H(\'15\')==\'1b\'){21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';27=1P}d 7=e;2W(7){x+=7.4Q+(7.2a&&!4.3T.4T?G(7.2a.3v)||0:0);y+=7.4Z+(7.2a&&!4.3T.4T?G(7.2a.3z)||0:0);7=7.4S}7=e;2W(7&&7.3m&&7.3m.3s()!=\'16\'){x-=7.2c||0;y-=7.1S||0;7=7.34}8(27){L.15=\'1b\';L.I=33;L.1t=21}u{x:x,y:y}},5j:k(7){d x=0,y=0;2W(7){x+=7.4Q||0;y+=7.4Z||0;7=7.4S}u{x:x,y:y}},3C:k(e){d w=4.H(e,\'C\');d h=4.H(e,\'B\');d 1F=0;d 1K=0;d L=e.1d;8(4(e).H(\'15\')!=\'1b\'){1F=e.3X;1K=e.3N}J{21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';1F=e.3X;1K=e.3N;L.15=\'1b\';L.I=33;L.1t=21}u{w:w,h:h,1F:1F,1K:1K}},5u:k(7){u{1F:7.3X||0,1K:7.3N||0!
}},5h:k(e){d h,w,2p;8(e){w=e.2v;h=e.2I}J{2p=K.1k;w=3E.3I||35.3I||(2p&&2p.2v)||K.16.2v;h=3E.40||35.40||(2p&&2p.2I)||K.16.2I}u{w:w,h:h}},4t:k(e){d t,l,w,h,2i,2b;8(e&&e.38.3s()!=\'16\'){t=e.1S;l=e.2c;w=e.3Y;h=e.3D;2i=0;2b=0}J{8(K.1k&&K.1k.1S){t=K.1k.1S;l=K.1k.2c;w=K.1k.3Y;h=K.1k.3D}J 8(K.16){t=K.16.1S;l=K.16.2c;w=K.16.3Y;h=K.16.3D}2i=35.3I||K.1k.2v||K.16.2v||0;2b=35.40||K.1k.2I||K.16.2I||0}u{t:t,l:l,w:w,h:h,2i:2i,2b:2b}},4e:k(e,28){d 7=4(e);d t=7.H(\'2H\')||\'\';d r=7.H(\'2C\')||\'\';d b=7.H(\'2O\')||\'\';d l=7.H(\'2B\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},59:k(e,28){d 7=4(e);d t=7.H(\'48\')||\'\';d r=7.H(\'44\')||\'\';d b=7.H(\'43\')||\'\';d l=7.H(\'49\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},61:k(e,28){d 7=4(e);d t=7.H(\'3z\')||\'\';d r=7.H(\'4k\')||\'\';d b=7.H(\'4m\')||\'\';d l=7.H(\'3v\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)||0};J u{t:t,r:r,b:b,l:l}},2y:k(2F){d x=2F.5Z||(2F.5x+(K.1k.2c||K!
.16.2c))||0;d y=2F.5Y||(2F.64+(K.1k.1S||K.16.1S))||0;u{x:x,y:y}},3V:k(
1n,3R){3R(1n);1n=1n.4g;2W(1n){4.1h.3V(1n,3R);1n=1n.6e}},6a:k(1n){4.1h.3V(1n,k(7){Z(d 1I 1u 7){8(1m 7[1I]===\'k\'){7[1I]=W}}})},5U:k(7,2S){d 1y=$.1h.4t();d 3x=$.1h.3C(7);8(!2S||2S==\'5F\')$(7).H({E:1y.t+((14.1M(1y.h,1y.2b)-1y.t-3x.1K)/2)+\'V\'});8(!2S||2S==\'5H\')$(7).H({F:1y.l+((14.1M(1y.w,1y.2i)-1y.l-3x.1F)/2)+\'V\'})},5D:k(7,4Y){d 57=$(\'4j[@36*="3r"]\',7||K),3r;57.2h(k(){3r=A.36;A.36=4Y;A.1d.5I="5J:5Q.5R.5L(36=\'"+3r+"\')"})}};[].46||(5N.5M.46=k(v,n){n=(n==W)?0:n;d m=A.1x;Z(d i=n;i<m;i++)8(A[i]==v)u i;u-1});4.4f=k(e){8(/^5K$|^5O$|^5P$|^5S$|^5B$|^5A$|^5z$|^5y$|^5C$|^16$|^5G$|^5E$|^5T$|^69$|^68$|^67$|^66$/i.2Z(e.38))u 1g;J u 1P};4.P.6b=k(e,1B){d c=e.4g;d 1z=c.1d;1z.I=1B.I;1z.2H=1B.1q.t;1z.2B=1B.1q.l;1z.2O=1B.1q.b;1z.2C=1B.1q.r;1z.E=1B.E+\'V\';1z.F=1B.F+\'V\';e.34.4c(c,e);e.34.6c(e)};4.P.65=k(e){8(!4.4f(e))u 1g;d t=4(e);d L=e.1d;d 27=1g;d U={};U.I=t.H(\'I\');8(t.H(\'15\')==\'1b\'){21=t.H(\'1t\');L.1t=\'2j\';L.15=\'\';27=1P}U.X=4.1h.3C(e);U.1q=4.1h.4e(e);d 3L=e.2a?e.2a.45:t.H!
(\'5X\');U.E=G(t.H(\'E\'))||0;U.F=G(t.H(\'F\'))||0;d 4l=\'5W\'+G(14.5V()*4z);d 1R=K.60(/^4j$|^63$|^62$|^6f$|^5v$|^5a$|^3Z$|^5g$|^5d$|^5b$|^5f$|^5e$|^5c$|^58$/i.2Z(e.38)?\'5w\':e.38);4.1I(1R,\'5r\',4l);1R.4L=\'5q\';d 12=1R.1d;d E=0;d F=0;8(U.I==\'2K\'||U.I==\'2t\'){E=U.E;F=U.F}12.15=\'1b\';12.E=E+\'V\';12.F=F+\'V\';12.I=U.I!=\'2K\'&&U.I!=\'2t\'?\'2K\':U.I;12.2U=\'2j\';12.B=U.X.1K+\'V\';12.C=U.X.1F+\'V\';12.2H=U.1q.t;12.2C=U.1q.r;12.2O=U.1q.b;12.2B=U.1q.l;8(4.3T.5s){12.45=3L}J{12.5t=3L}e.34.4c(1R,e);L.2H=\'2f\';L.2C=\'2f\';L.2O=\'2f\';L.2B=\'2f\';L.I=\'2t\';L.5p=\'1b\';L.E=\'2f\';L.F=\'2f\';8(27){L.15=\'1b\';L.1t=21}1R.5o(e);12.15=\'2w\';u{U:U,5i:4(1R)}};4.P.2z={5k:[0,M,M],5l:[4n,M,M],5n:[4q,4q,6d],6D:[0,0,0],7s:[0,0,M],7r:[4h,42,42],7q:[0,M,M],7o:[0,0,2l],7p:[0,2l,2l],7t:[3U,3U,3U],7u:[0,7y,0],7x:[7w,7v,4i],7n:[2l,0,2l],7m:[7e,4i,47],7d:[M,4o,0],7c:[7A,50,7b],7f:[2l,0,0],7g:[7l,7k,7j],7h:[7i,0,3n],7z:[M,0,M],7L:[M,7T,0],7U:[0,1N,0],7Q:[75,0,7S],7V:[4n,4a,4o],7P:[7F,7E,4a],7N!
:[4b,M,M],7B:[4d,7C,4d],7G:[3n,3n,3n],7H:[M,7J,7D],7I:[M,M,4b],7K:[0,M
,0],7M:[M,0,M],7O:[1N,0,0],7R:[0,0,1N],7a:[1N,1N,0],78:[M,4h,0],6z:[M,30,6y],6x:[1N,0,1N],6v:[M,0,0],6w:[30,30,30],6A:[M,M,M],6B:[M,M,0]};4.P.1V=k(1o,4p){8(4.P.2z[1o])u{r:4.P.2z[1o][0],g:4.P.2z[1o][1],b:4.P.2z[1o][2]};J 8(Y=/^23\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.3i(1o))u{r:G(Y[1]),g:G(Y[2]),b:G(Y[3])};J 8(Y=/23\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.3i(1o))u{r:1i(Y[1])*2.55,g:1i(Y[2])*2.55,b:1i(Y[3])*2.55};J 8(Y=/^#([a-20-24-9])([a-20-24-9])([a-20-24-9])$/.3i(1o))u{r:G("2e"+Y[1]+Y[1]),g:G("2e"+Y[2]+Y[2]),b:G("2e"+Y[3]+Y[3])};J 8(Y=/^#([a-20-24-9]{2})([a-20-24-9]{2})([a-20-24-9]{2})$/.3i(1o))u{r:G("2e"+Y[1]),g:G("2e"+Y[2]),b:G("2e"+Y[3])};J u 4p==1P?1g:{r:M,g:M,b:M}};4.P.4O={4m:1,3v:1,4k:1,3z:1,6F:1,6E:1,B:1,F:1,79:1,6C:1,2O:1,2B:1,2C:1,2H:1,2u:1,3p:1,2M:1,3o:1,1D:1,6u:1,6t:1,43:1,49:1,44:1,48:1,6l:1,6k:1,E:1,C:1,3k:1};4.P.4B={6j:1,6h:1,6i:1,6m:1,6n:1,1o:1,6g:1};4.P.2A=[\!
'6s\',\'6r\',\'6q\',\'6o\'];4.P.3w={\'3y\':[\'2L\',\'4w\'],\'3t\':[\'2L\',\'3B\'],\'3h\':[\'3h\',\'\'],\'3q\':[\'3q\',\'\']};4.4P.2R({6p:k(1C,2k,11,3a){u A.2G(k(){d 3u=4.2k(2k,11,3a);d e=2N 4.53(A,3u,1C)})},3A:k(2k,3a){u A.2G(k(){d 3u=4.2k(2k,3a);d e=2N 4.3A(A,3u)})},3d:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l)})},6G:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l);8(A.2G&&A.2G[\'P\'])A.2G.P=[]})}});4.2R({3A:k(N,D){d z=A,4R;z.1l=k(){8(4.4y(D.32))D.32.1H(N)};z.2x=4C(k(){z.1l()},D.1J);N.1G=z},11:{4N:k(p,n,51,54,1J){u((-14.6H(p*14.70)/2)+0.5)*54+51}},53:k(N,D,1C){d z=A,4R;d y=N.1d;d 4G=4.H(N,"2U");d 2g=4.H(N,"15");d O={};z.3j=(2N 4F()).4r();D.11=D.11&&4.11[D.11]?D.11:\'4N\';z.2T=k(S,1a){8(4.P.4O[S]){8(1a==\'2X\'||1a==\'2V\'||1a==\'4A\'){8(!N.1T)N.1T={};d r=1i(4.1Y(N,S));N.1T[S]=r&&r>-4z?r:(1i(4.H(N,S))||0);1a=1a==\'4A\'?(2g==\'1b\'?\'2X\':\'2V\'):1a;D[1a]=1P;O[S]=1a==\'2X\'?[0,N.1T[S]]:[N.1T[S],0];8(S!=\'1D\')y[S]=O[S][0]+(S!=\'3k\'&&S!=\'3H\'?\'V\':\'\');J 4.1I(y,"1D",O[S][0])}J{O[S]=[1i(4.1Y(N,S!
)),1i(1a)||0]}}J 8(4.P.4B[S])O[S]=[4.P.1V(4.1Y(N,S)),4.P.1V(1a)];J 8(/
^3h$|3q$|2L$|3t$|3y$/i.2Z(S)){d m=1a.1Q(/\\s+/g,\' \').1Q(/23\\s*\\(\\s*/g,\'23(\').1Q(/\\s*,\\s*/g,\',\').1Q(/\\s*\\)/g,\')\').4x(/([^\\s]+)/g);2n(S){R\'3h\':R\'3q\':R\'3y\':R\'3t\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];Z(d i=0;i<4.P.2A.1x;i++){d 1A=4.P.3w[S][0]+4.P.2A[i]+4.P.3w[S][1];O[1A]=S==\'3t\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),1i(m[i])]}19;R\'2L\':Z(d i=0;i<m.1x;i++){d 3M=1i(m[i]);d 2Y=!6Z(3M)?\'4w\':(!/6Y|1b|2j|6W|6X|71|72|77|76|74|73/i.2Z(m[i])?\'3B\':1g);8(2Y){Z(d j=0;j<4.P.2A.1x;j++){1A=\'2L\'+4.P.2A[j]+2Y;O[1A]=2Y==\'3B\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),3M]}}J{y[\'6V\']=m[i]}}19}}J{y[S]=1a}u 1g};Z(p 1u 1C){8(p==\'1d\'){d 1w=4.3J(1C[p]);Z(2s 1u 1w){A.2T(2s,1w[2s])}}J 8(p==\'4L\'){8(K.31)Z(d i=0;i<K.31.1x;i++){d 2m=K.31[i].2m||K.31[i].6U||W;8(2m){Z(d j=0;j<2m.1x;j++){8(2m[j].6M==\'.\'+1C[p]){d 26=2N 6L(\'\\.\'+1C[p]+\' {\');d 1E=2m[j].1d.6K;d 1w=4.3J(1E.1Q(26,\'\').1Q(/}/g,\'\'));Z(2s 1u 1w){A.2T(2s,1w[2s])}}}}}}J{!
A.2T(p,1C[p])}}y.15=2g==\'1b\'?\'2w\':2g;y.2U=\'2j\';z.1l=k(){d t=(2N 4F()).4r();8(t>D.1J+z.3j){4U(z.2x);z.2x=W;Z(p 1u O){8(p=="1D")4.1I(y,"1D",O[p][1]);J 8(1m O[p][1]==\'3Z\')y[p]=\'23(\'+O[p][1].r+\',\'+O[p][1].g+\',\'+O[p][1].b+\')\';J y[p]=O[p][1]+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}8(D.2V||D.2X)Z(d p 1u N.1T)8(p=="1D")4.1I(y,p,N.1T[p]);J y[p]="";y.15=D.2V?\'1b\':(2g!=\'1b\'?2g:\'2w\');y.2U=4G;N.1G=W;8(4.4y(D.32))D.32.1H(N)}J{d n=t-A.3j;d 2J=n/D.1J;Z(p 1u O){8(1m O[p][1]==\'3Z\'){y[p]=\'23(\'+G(4.11[D.11](2J,n,O[p][0].r,(O[p][1].r-O[p][0].r),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].g,(O[p][1].g-O[p][0].g),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].b,(O[p][1].b-O[p][0].b),D.1J))+\')\'}J{d 3Q=4.11[D.11](2J,n,O[p][0],(O[p][1]-O[p][0]),D.1J);8(p=="1D")4.1I(y,"1D",3Q);J y[p]=3Q+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}}}};z.2x=4C(k(){z.1l()},13);N.1G=z},3F:k(N,1l){8(1l)N.1G.3j-=6I;J{3E.4U(N.1G.2x);N.1G=W;4.6J(N,"P")}}});4.3J=k(1E){d 1w={};8(1m 1E==\'3W\'){1E=1E.3s().4W(\';\');Z(d i=0;i<1E.!
1x;i++){26=1E[i].4W(\':\');8(26.1x==2){1w[4.4V(26[0].1Q(/\\-(\\w)/g,k(
m,c){u c.6N()}))]=4.4V(26[1])}}}u 1w};4.6={o:W,17:W,T:W,1c:W,X:W,I:W,2d:k(e){4.6.T=(A.37)?A.37:A;4.6.1c=4.1h.2y(e);4.6.X={C:G(4(4.6.T).H(\'C\'))||0,B:G(4(4.6.T).H(\'B\'))||0};4.6.I={E:G(4(4.6.T).H(\'E\'))||0,F:G(4(4.6.T).H(\'F\'))||0};4(K).1L(\'3f\',4.6.3G).1L(\'3e\',4.6.3P);8(1m 4.6.T.f.4H===\'k\'){4.6.T.f.4H.1H(4.6.T)}u 1g},3P:k(e){4(K).1X(\'3f\',4.6.3G).1X(\'3e\',4.6.3P);8(1m 4.6.T.f.4E===\'k\'){4.6.T.f.4E.1H(4.6.T)}4.6.T=W},3G:k(e){8(!4.6.T){u}1c=4.1h.2y(e);25=4.6.I.E-4.6.1c.y+1c.y;29=4.6.I.F-4.6.1c.x+1c.x;25=14.1M(14.2P(25,4.6.T.f.2E-4.6.X.B),4.6.T.f.2r);29=14.1M(14.2P(29,4.6.T.f.2D-4.6.X.C),4.6.T.f.2o);8(1m 4.6.T.f.4I===\'k\'){d 2Q=4.6.T.f.4I.1H(4.6.T,[29,25]);8(1m 2Q==\'6O\'&&2Q.1x==2){29=2Q[0];25=2Q[1]}}4.6.T.1d.E=25+\'V\';4.6.T.1d.F=29+\'V\';u 1g},41:k(e){4(K).1L(\'3f\',4.6.3K).1L(\'3e\',4.6.3d);4.6.o=A.o;4.6.17=A.17;4.6.1c=4.1h.2y(e);8(4.6.o.f.4J){4.6.o.f.4J.1H(4.6.o,[A])}4.6.X={C:G(4(A.o).H(\'C\'))||0,B:G(4(A.o).H(\'B\'))||0};4.6.I={E:G(4(A.o).H(\'E\'))||0,F:G(4(A!
.o).H(\'F\'))||0};u 1g},3d:k(){4(K).1X(\'3f\',4.6.3K).1X(\'3e\',4.6.3d);8(4.6.o.f.4M){4.6.o.f.4M.1H(4.6.o,[4.6.17])}4.6.o=W;4.6.17=W},1W:k(1v,3b){u 14.2P(14.1M(4.6.X.C+1v*3b,4.6.o.f.3o),4.6.o.f.3p)},1O:k(1s,3b){u 14.2P(14.1M(4.6.X.B+1s*3b,4.6.o.f.2M),4.6.o.f.2u)},4K:k(B){u 14.2P(14.1M(B,4.6.o.f.2M),4.6.o.f.2u)},3K:k(e){8(4.6.o==W){u}1c=4.1h.2y(e);1v=1c.x-4.6.1c.x;1s=1c.y-4.6.1c.y;q={C:4.6.X.C,B:4.6.X.B};Q={E:4.6.I.E,F:4.6.I.F};2n(4.6.17){R\'e\':q.C=4.6.1W(1v,1);19;R\'4s\':q.C=4.6.1W(1v,1);q.B=4.6.1O(1s,1);19;R\'w\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'3g\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;q.B=4.6.1O(1s,1);19;R\'22\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'n\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;19;R\'39\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,1);19;R\'s\':q.B=4.6.1O(1s,1);19}8(4.6.o.f.1f){8(4.6.17==\'n\'||4.6.17==\'s\')1e=q.B*4.6.o.f.1f;J 1e=q.C;1p=4.6.4K(1e*4.6.o.f.1f);1e=1p/4.6.o!
.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}2n(4.6.17){R\'2
2\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.B=1p;q.C=1e}8(Q.E<4.6.o.f.2r){1p=q.B+Q.E-4.6.o.f.2r;Q.E=4.6.o.f.2r;8(4.6.o.f.1f){1e=1p/4.6.o.f.1f;2n(4.6.17){R\'22\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.C=1e}q.B=1p}8(Q.F<4.6.o.f.2o){1e=q.C+Q.F-4.6.o.f.2o;Q.F=4.6.o.f.2o;8(4.6.o.f.1f){1p=1e*4.6.o.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}q.B=1p}q.C=1e}8(Q.E+q.B>4.6.o.f.2E){q.B=4.6.o.f.2E-Q.E;8(4.6.o.f.1f){q.C=q.B/4.6.o.f.1f}}8(Q.F+q.C>4.6.o.f.2D){q.C=4.6.o.f.2D-Q.F;8(4.6.o.f.1f){q.B=q.C*4.6.o.f.1f}}d 1Z=1g;1r=4.6.o.1d;1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';8(4.6.o.f.4D){1Z=4.6.o.f.4D.1H(4.6.o,[q,Q]);8(1Z){8(1Z.X){4.2R(q,1Z.X)}8(1Z.I){4.2R(Q,1Z.I)}}}1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';u 1g},4X:k(D){8(!D||!D.18||D.18.56!=6T){u}u A.2h(k(){d 7=A;7.f=D;7.f.3o=D.3o||10;7.f.2M=D.2M||10;7.f.3p=D.3p||3c;7.f.2u=D.2u||3c;7.f.2r=D.2r||-4v;7.f.2o=D.2o||-4v;7.f.2D=D.2D||3c;7.f.2E=D.2E||3c;3O=4(7).H(\'I\');8(!(3O==\'2K\'||3O==\'2t\')){7.1d.I=\'2K\'}52=/!
n|39|e|4s|s|3g|w|22/g;Z(i 1u 7.f.18){8(i.3s().4x(52)!=W){8(7.f.18[i].56==6S){2q=4(7.f.18[i]);8(2q.3S()>0){7.f.18[i]=2q.6R(0)}}8(7.f.18[i].3m){7.f.18[i].o=7;7.f.18[i].17=i;4(7.f.18[i]).1L(\'1U\',4.6.41)}}}8(7.f.1j){8(1m 7.f.1j===\'3W\'){3l=4(7.f.1j);8(3l.3S()>0){3l.2h(k(){A.37=7});3l.1L(\'1U\',4.6.2d)}}J 8(7.f.1j.3m){7.f.1j.37=7;4(7.f.1j).1L(\'1U\',4.6.2d)}J 8(7.f.1j==1P){4(A).1L(\'1U\',4.6.2d)}}})},4u:k(){u A.2h(k(){d 7=A;Z(i 1u 7.f.18){7.f.18[i].o=W;7.f.18[i].17=W;4(7.f.18[i]).1X(\'1U\',4.6.41)}8(7.f.1j){8(1m 7.f.1j===\'3W\'){2q=4(7.f.1j);8(2q.3S()>0){2q.1X(\'1U\',4.6.2d)}}J 8(7.f.1j==1P){4(A).1X(\'1U\',4.6.2d)}}7.f=W})}};4.4P.2R({6P:4.6.4X,6Q:4.6.4u});',62,492,'||||jQuery||iResize|el|if|||||var||resizeOptions|||||function||||resizeElement||newSizes||||return||||||this|height|width|options|top|left|parseInt|css|position|else|document|es|255|elem|props|fx|newPosition|case|tp|dragged|oldStyle|px|null|sizes|result|for||easing|wrs||Math|display|body|resizeDirection|handlers|br!
eak|vp|none|pointer|style|nWidth|ratio|false|iUtil|parseFloat|dragHand
le|documentElement|step|typeof|nodeEl|color|nHeight|margins|elS|dy|visibility|in|dx|newStyles|length|clientScroll|cs|nmp|old|prop|opacity|styles|wb|animationHandler|apply|attr|duration|hb|bind|max|128|getHeight|true|replace|wr|scrollTop|orig|mousedown|parseColor|getWidth|unbind|curCSS|newDimensions|fA|oldVisibility|nw|rgb|F0|newTop|rule|restoreStyle|toInteger|newLeft|currentStyle|ih|scrollLeft|startDrag|0x|0px|oldDisplay|each|iw|hidden|speed|139|cssRules|switch|minLeft|de|handle|minTop|np|absolute|maxHeight|clientWidth|block|timer|getPointer|namedColors|cssSides|marginLeft|marginRight|maxRight|maxBottom|event|queue|marginTop|clientHeight|pr|relative|border|minHeight|new|marginBottom|min|newPos|extend|axis|getValues|overflow|hide|while|show|sideEnd|test|192|styleSheets|complete|oldPosition|parentNode|self|src|dragEl|nodeName|ne|callback|side|3000|stop|mouseup|mousemove|sw|margin|exec|startTime|zIndex|handleEl|tagName|211|minWidth|maxWidth|padding|png|toLowerCase|borderColor|o!
pt|borderLeftWidth|cssSidesEnd|windowSize|borderWidth|borderTopWidth|pause|Color|getSize|scrollHeight|window|stopAnim|moveDrag|fontWeight|innerWidth|parseStyle|move|oldFloat|floatVal|offsetHeight|elPosition|stopDrag|pValue|func|size|browser|169|traverseDOM|string|offsetWidth|scrollWidth|object|innerHeight|start||paddingBottom|paddingRight|styleFloat|indexOf||paddingTop|paddingLeft|230|224|insertBefore|144|getMargins|fxCheckTag|firstChild|165|107|img|borderRightWidth|wid|borderBottomWidth|240|140|notColor|245|getTime|se|getScroll|destroy|1000|Width|match|isFunction|10000|toggle|colorCssProps|setInterval|onResize|onDragStop|Date|oldOverflow|onDragStart|onDrag|onStart|getHeightMinMax|className|onStop|linear|cssProps|fn|offsetLeft|values|offsetParent|opera|clearInterval|trim|split|build|emptyGIF|offsetTop||firstNum|directions|fxe|delta||constructor|images|ol|getPadding|textarea|form|dl|button|ul|table|iframe|getClient|wrapper|getPositionLite|aqua|azure|getPosition|beige|appendC!
hild|listStyle|fxWrapper|id|msie|cssFloat|getSizeLite|select|div|clien
tX|colgroup|col|tfoot|thead|th|fixPNG|script|vertically|header|horizontally|filter|progid|tr|AlphaImageLoader|prototype|Array|td|tbody|DXImageTransform|Microsoft|caption|frame|centerEl|random|w_|float|pageY|pageX|createElement|getBorder|input|br|clientY|buildWrapper|meta|optgroup|option|frameset|purgeEvents|destroyWrapper|removeChild|220|nextSibling|hr|outlineColor|borderBottomColor|borderLeftColor|backgroundColor|textIndent|right|borderRightColor|borderTopColor|Left|animate|Bottom|Right|Top|outlineWidth|outlineOffset|red|silver|purple|203|pink|white|yellow|lineHeight|black|fontSize|bottom|stopAll|cos|100000000|dequeue|cssText|RegExp|selectorText|toUpperCase|array|Resizable|ResizableDestroy|get|String|Object|rules|borderStyle|dotted|dashed|transparent|isNaN|PI|solid|double|outset|inset||ridge|groove|orange|letterSpacing|olive|204|darkorchid|darkorange|85|darkred|darksalmon|darkviolet|148|122|150|233|darkolivegreen|darkmagenta|darkblue|darkcyan|cyan|brown|blue|darkgrey|darkgr!
een|183|189|darkkhaki|100|fuchsia|153|lightgreen|238|193|216|173|lightgrey|lightpink|lightyellow|182|lime|gold|magenta|lightcyan|maroon|lightblue|indigo|navy|130|215|green|khaki'.split('|'),0,{}))
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqContextMenu.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1 +0,0 @@
-(function($){var menu,shadow,trigger,content,hash,currentTarget;var defaults={menuStyle:{listStyle:'none',padding:'1px',margin:'0px',backgroundColor:'#fff',border:'1px solid #999',width:'100px'},itemStyle:{margin:'0px',color:'#000',display:'block',cursor:'default',padding:'3px',border:'1px solid #fff',backgroundColor:'transparent'},itemHoverStyle:{border:'1px solid #0a246a',backgroundColor:'#b6bdd2'},eventPosX:'pageX',eventPosY:'pageY',shadow:true,onContextMenu:null,onShowMenu:null};$.fn.contextMenu=function(id,options){if(!menu){menu=$('<div id="jqContextMenu"></div>').hide().css({position:'absolute',zIndex:'500'}).appendTo('body').bind('click',function(e){e.stopPropagation()})}if(!shadow){shadow=$('<div></div>').css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499}).appendTo('body').hide()}hash=hash||[];hash.push({id:id,menuStyle:$.extend({},defaults.menuStyle,options.menuStyle||{}),itemStyle:$.extend({},defaults.itemStyle,options.itemStyle||{}),itemHove!
rStyle:$.extend({},defaults.itemHoverStyle,options.itemHoverStyle||{}),bindings:options.bindings||{},shadow:options.shadow||options.shadow===false?options.shadow:defaults.shadow,onContextMenu:options.onContextMenu||defaults.onContextMenu,onShowMenu:options.onShowMenu||defaults.onShowMenu,eventPosX:options.eventPosX||defaults.eventPosX,eventPosY:options.eventPosY||defaults.eventPosY});var index=hash.length-1;$(this).bind('contextmenu',function(e){var bShowContext=(!!hash[index].onContextMenu)?hash[index].onContextMenu(e):true;if(bShowContext)display(index,this,e,options);return false});return this};function display(index,trigger,e,options){var cur=hash[index];content=$('#'+cur.id).find('ul:first').clone(true);content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(function(){$(this).css(cur.itemHoverStyle)},function(){$(this).css(cur.itemStyle)}).find('img').css({verticalAlign:'middle',paddingRight:'2px'});menu.html(content);if(!!cur.onShowMenu)menu=cur.onShowMenu(e,m!
enu);$.each(cur.bindings,function(id,func){$('#'+id,menu).bind('click'
,function(e){hide();func(trigger,currentTarget)})});menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();if(cur.shadow)shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();$(document).one('click',hide)}function hide(){menu.hide();shadow.hide()}$.contextMenu={defaults:function(userDefaults){$.each(userDefaults,function(i,val){if(typeof val=='object'&&defaults[i]){$.extend(defaults[i],val)}else defaults[i]=val})}}})(jQuery);$(function(){$('div.contextMenu').hide()});
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqDimensions.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,10 +0,0 @@
-/* Copyright (c) 2007 Paul Bakaus (paul.bakaus(a)googlemail.com) and Brandon Aaron (brandon.aaron(a)gmail.com || http://brandonaaron.net)
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- *
- * $LastChangedDate:2007-08-17 15:00:33 +0200 (Fri, 17 Aug 2007) $
- * $Rev:6019 $
- *
- * Version: 1.0rc1
- */
-eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(8($){p g=$.19.D,w=$.19.w;$.19.z({D:8(){4(1[0]==h)5 Z.1a||$.I&&7.10.1z||7.q.1z;4(1[0]==7)5 1t.1s(7.q.1H,7.q.13);5 g.1k(1,1h)},w:8(){4(1[0]==h)5 Z.1d||$.I&&7.10.1c||7.q.1c;4(1[0]==7)5 1t.1s(7.q.1B,7.q.11);5 w.1k(1,1h)},1a:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13-f(1,\'k\')-f(1,\'1A\'):1.D()+f(1,\'18\')+f(1,\'1y\')},1d:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11-f(1,\'j\')-f(1,\'1x\'):1.w()+f(1,\'15\')+f(1,\'1u\')},1K:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13:1.D()+f(1,\'k\')+f(1,\'1A\')+f(1,\'18\')+f(1,\'1y\')},1J:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11:1.w()+f(1,\'j\')+f(1,\'1x\')+f(1,\'15\')+f(1,\'1u\')},l:8(a){4(a!=1q)5 1.1!
o(8(){4(1==h||1==7)h.1m(a,$(h).n());o 1.l=a});4(1[0]==h||1[0]==7)5 Z.1G||$.I&&7.10.l||7.q.l;5 1[0].l},n:8(a){4(a!=1q)5 1.1o(8(){4(1==h||1==7)h.1m($(h).l(),a);o 1.n=a});4(1[0]==h||1[0]==7)5 Z.1F||$.I&&7.10.n||7.q.n;5 1[0].n},C:8(c,d){p a=1[0],3=a.S,6=a.R,c=$.z({Q:m,K:m,O:m,t:m},c||{}),x=a.N,y=a.M,v=a.l,u=a.n;4($.i.17||$.i.16){x+=f(a,\'j\');y+=f(a,\'k\')}4(($.i.Y||$.i.X)&&$.r(6,\'C\')!=\'W\'){x-=f(6,\'j\');y-=f(6,\'k\')}4($.i.17){B{4(3!=a&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}4(3==6)1v}H((3=3.S)&&3.s!=\'G\')}4($.i.16&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\')){B{x+=6.N;y+=6.M;x+=f(6,\'j\');y+=f(6,\'k\')}H((6=6.R)&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\'))}p b=e(a,c,x,y,v,u);4(d){$.z(d,b);5 1}o{5 b}},1I:8(b,c){p x=0,y=0,v=0,u=0,9=1[0],3=1[0],6,U,L=$.r(9,\'C\'),A=$.i.17,E=$.i.16,1p=$.i.Y,1n=$.i.X,12=m,14=m,b=$.z({Q:F,K:m,O:m,t:F,1j:m},b||{});4(b.1j)5 1.1i(b,c);4(9.s==\'G\'){x=9.N;y=9.M;4(A){x+=f(9,\'V\')+(f(9,\'j\')*2);y+=f(9,\'T\')+(f(9,\'k\')*2)}o 4(1n){x+=f(9,\'V\');y+=f(9,\'T!
\')}o 4(E&&1l.I){x+=f(9,\'j\');y+=f(9,\'k\')}}o{B{U=$.r(3,\'C\');x+=3.
N;y+=3.M;4(A||E){x+=f(3,\'j\');y+=f(3,\'k\');4(A&&U==\'1g\')12=F;4(E&&U==\'1E\')14=F}6=3.R;4(b.t||A){B{4(b.t){v+=3.l;u+=3.n}4(A&&3!=9&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}3=3.S}H(3!=6)}3=6;4(3.s==\'G\'||3.s==\'1e\'){4((1p||(E&&$.I))&&L!=\'1g\'&&L!=\'1f\'){x+=f(3,\'V\');y+=f(3,\'T\')}4((A&&!12&&L!=\'1f\')||(E&&L==\'W\'&&!14)){x+=f(3,\'j\');y+=f(3,\'k\')}1v}}H(3)}p a=e(9,b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}},1i:8(b,c){p x=0,y=0,v=0,u=0,3=1[0],6,b=$.z({Q:F,K:m,O:m,t:F},b||{});B{x+=3.N;y+=3.M;6=3.R;4(b.t){B{v+=3.l;u+=3.n;3=3.S}H(3!=6)}3=6}H(3&&3.s!=\'G\'&&3.s!=\'1e\');p a=e(1[0],b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}}});p f=8(b,a){5 1D($.r(b.1C?b[0]:b,a))||0};p e=8(b,c,x,y,a,d){4(!c.Q){x-=f(b,\'V\');y-=f(b,\'T\')}4(c.K&&($.i.Y||$.i.X)){x+=f(b,\'j\');y+=f(b,\'k\')}o 4(!c.K&&!($.i.Y||$.i.X)){x-=f(b,\'j\');y-=f(b,\'k\')}4(c.O){x+=f(b,\'15\');y+=f(b,\'18\')}4(c.t){a-=b.l;d-=b.n}5 c.t?{1b:y-d,1r:x-a,n:d,l:a}:{1b:y,1r:x}}})(1l);',62,109,'|this||parent|if|return|op|document|f!
unction|elem||||||||window|browser|borderLeftWidth|borderTopWidth|scrollLeft|false|scrollTop|else|var|body|css|tagName|scroll|st|sl|width|||extend|mo|do|position|height|ie|true|BODY|while|boxModel|visible|border|elemPos|offsetTop|offsetLeft|padding|is|margin|offsetParent|parentNode|marginTop|parPos|marginLeft|static|opera|safari|self|documentElement|offsetWidth|absparent|offsetHeight|relparent|paddingLeft|msie|mozilla|paddingTop|fn|innerHeight|top|clientWidth|innerWidth|HTML|fixed|absolute|arguments|offsetLite|lite|apply|jQuery|scrollTo|oa|each|sf|undefined|left|max|Math|paddingRight|break|overflow|borderRightWidth|paddingBottom|clientHeight|borderBottomWidth|scrollWidth|jquery|parseInt|relative|pageYOffset|pageXOffset|scrollHeight|offset|outerWidth|outerHeight'.split('|'),0,{}))
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqHistoryRemote.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1 +0,0 @@
-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}('(4($){$.H=1f 4(){3 h=\'19\';3 6=7.2;3 F=U;3 l;b.n=4(){};3 C=4(){$(\'.s-p\').1a()};$(9).Q(h,C);5($.y.1b){3 u,m=q;$(4(){u=$(\'<8 1s="1c: 1d;"></8>\').L(9.M).1e(0);3 8=u.E.9;8.V();8.R();5(6&&6!=\'#\'){8.7.2=6.S(\'#\',\'\')}});b.n=4(2){6=2;3 8=u.E.9;8.V();8.R();8.7.2=2.S(\'#\',\'\')};l=4(){3 8=u.E.9;3 k=8.7.2;5(k!=6){6=k;5(k&&k!=\'#\'){$(\'a[@d$="\'+k+\'"]\').f();7.2=k}g 5(m){7.2=\'\';$(9).A(h)}}m=B}}g 5($.y.1g||$.y.1h){b.n=4(2){6=2};l=4(){5(7.2){5(6!=7.2){6=7.2;$(\'a[@d$="\'+6+\'"]\').f()}}g 5(6){6=\'\';$(9).A(h)}}}g 5($.y.1i){3 c,o,x;$(4(){c=[];c.j=z.j;o=[]});3 r=q,m=q;x=4(2){c.Z(2);o.j=0;r=q};b.n=4(2){6=2;x(6)};l=4(){3 t=z.j-c.j;5(t){r=q;5(t<0){X(3 i=!
0;i<1j.1k(t);i++)o.1m(c.1n())}g{X(3 i=0;i<t;i++)c.Z(o.11())}3 K=c[c.j-1];$(\'a[@d$="\'+K+\'"]\').f();6=7.2}g 5(c[c.j-1]==T&&!r){5(9.N.13(\'#\')>=0){$(\'a[@d$="\'+\'#\'+9.N.14(\'#\')[1]+\'"]\').f()}g 5(m){$(9).A(h)}r=B}m=B}}b.16=4(D){5(W D==\'4\'){$(9).18(h,C).Q(h,D)}5(7.2&&W x==\'T\'){$(\'a.s[@d$="\'+7.2+\'"]\').f()}5(l&&F==U){F=1l(l,1p)}}};$.I.s=4(p,v){v=$.1q({P:\'s-\'},v||{});3 G=$(p).12()&&$(p)||$(\'<J></J>\').L(\'M\');G.15(\'s-p\');O b.17(4(i){3 10=b.d;3 2=\'#\'+v.P+(i+1);b.d=2;$(b).f(4(e){3 w=e.Y;G.1o(10,4(){5(w){$.H.n(2)}})})})};$.I.z=4(){O b.f(4(e){3 w=e.Y;5(w){$.H.n(b.2)}})}})(1r);',62,91,'||hash|var|function|if|_currentHash|location|iframe|document||this|_backStack|href||click|else|RESET_EVENT||length|iframeHash|_observeHistory|initialized|update|_forwardStack|output|false|isFirst|remote|historyDelta|_historyIframe|settings|trueClick|_addHistory|browser|history|trigger|true|_defaultReset|callback|contentWindow|_intervalId|target|ajaxHistory|fn|div|cachedHash|append!
To|body|URL|return|hashPrefix|bind|close|replace|undefined|null|open|t
ypeof|for|clientX|push|remoteURL|shift|size|indexOf|split|addClass|initialize|each|unbind|historyReset|empty|msie|display|none|get|new|mozilla|opera|safari|Math|abs|setInterval|unshift|pop|load|200|extend|jQuery|style'.split('|'),0,{}))
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqModal.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,63 +0,0 @@
-/*
- * jqModal - Minimalist Modaling with jQuery
- *
- * Copyright (c) 2007 Brice Burgess <bhb(a)iceburg.net>, http://www.iceburg.net
- * Licensed under the MIT License:
- * http://www.opensource.org/licenses/mit-license.php
- *
- * $Version: 2007.02.25 +r9
- */
-(function($) {
-$.fn.jqm=function(o){
-var _o = {
-zIndex: 3000,
-overlay: 50,
-overlayClass: 'jqmOverlay',
-closeClass: 'jqmClose',
-trigger: '.jqModal',
-ajax: false,
-target: false,
-modal: false,
-onShow: false,
-onHide: false,
-onLoad: false
-};
-return this.each(function(){if(this._jqm)return; s++; this._jqm=s;
-hash[s]={c:$.extend(_o, o),a:false,w:$(this).addClass('jqmID'+s),s:s};
-if(_o.trigger)$(this).jqmAddTrigger(_o.trigger);
-});}
-
-$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide'); return this;}
-$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow'); return this;}
-$.fn.jqmShow=function(t){return this.each(function(){if(!hash[this._jqm].a)$.jqm.open(this._jqm,t)});}
-$.fn.jqmHide=function(t){return this.each(function(){if(hash[this._jqm].a)$.jqm.close(this._jqm,t)});}
-
-$.jqm = {
-open:function(s,t){var h=hash[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;h.a=true;h.w.css('z-index',z);
- if(c.modal) {if(ma.length == 0)mf('bind');ma.push(s);o.css('cursor','wait');}
- else if(c.overlay > 0)h.w.jqmAddClose(o);
- else o=false;
-
- h.o=(o)?o.addClass(c.overlayClass).appendTo('body'):false;
- if(ie6){$('html,body').css('height','100%');if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}
-
- if(c.ajax) {var r=c.target,u=c.ajax;
- r=(r)?(typeof r == 'string')?$(r,h.w):$(r):h.w; u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
- r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));f(h);});}
- else if(cc)h.w.jqmAddClose($(cc,h.w));
-
- (c.onShow)?c.onShow(h):h.w.show();f(h);return false;
-},
-close:function(s){var h=hash[s];h.a=false;
- if(ma.length != 0){ma.pop();if(ma.length == 0)mf('unbind');}
- if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return false;
-}};
-var s=0,hash={},ma=[],ie6=$.browser.msie && typeof XMLHttpRequest == 'function',
-i=$('<iframe class="jqm"></iframe>').css({opacity:0}),
-f=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if($('iframe.jqm',h.w).length == 0)h.w.prepend(i);
- h.f=$(':input:visible',h.w)[0]||h.w[0];h.f.focus();},
-mf=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
-m=function(e) {var h=hash[ma[ma.length-1]], r=(!$(e.target).parents('.jqmID'+h.s).length == 0);if(!r)h.f.focus();return r;},
-hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});
- $(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(hash[this[i][s]])hash[this[i][s]].w[i](this);return false;});}});};
-})(jQuery);
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqProgressBar.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2007 Josh Bush (digitalbush.com)
- *
- * 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.
- */
-
-/*
- * Progress Bar Plugin for jQuery
- * Version: Alpha 2
- * Release: 2007-02-26
- */
-(function($) {
- //Main Method
- $.fn.reportprogress = function(val,maxVal) {
- var max=100;
- if(maxVal)
- max=maxVal;
- return this.each(
- function(){
- var div=jQuery(this);
- var innerdiv=div.find(".progress");
-
- if(innerdiv.length!=1){
- innerdiv=jQuery("<div class='progress'></div>");
- div.append("<div class='text'> </div>");
- jQuery("<span class='text'> </span>").css("width",div.width()).appendTo(innerdiv);
- div.append(innerdiv);
- }
- var width=Math.round(val/max*100);
- innerdiv.css("width",width+"%");
- div.find(".text").html(width+" %");
- }
- );
- };
-})(jQuery);
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqTabs.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1 +0,0 @@
-eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(4(z){z.23({9:{2d:0}});z.1z.9=4(y,x){3(K y==\'2E\')x=y;x=z.23({J:(y&&K y==\'1Y\'&&y>0)?--y:0,12:C,H:z.1d?2h:V,R:V,1p:\'2KD;\',21:\'R-2z-\',1A:C,1x:C,1w:C,1v:C,1u:\'34\',2p:C,2o:C,2m:V,2j:C,19:C,16:C,1g:\'9-1H\',N:\'9-29\',1a:\'9-12\',1b:\'9-26\',1t:\'9-1K\',1C:\'9-2B\',22:\'10\'},x||{});z.7.1j=z.7.1j||z.7.Z&&K 2x==\'4\';4 1y(){1X(0,0)}G 5.Y(4(){2 v=5;2 j=z(\'15.\'+x.1g,v);j=j.X()&&j||z(\'>15:6(0)\',v);2 n=z(\'a\',j);3(x.R){2 w={};n.Y(4(){z(5).2l(\'<I>\'+z(5).2l()+\'</I>\');2 a=x.21+(++z.9.2d);2 b=\'#\'+a;w[b]=5.1O;5.1O=b;z(\'<10 W="\'+a+\'" 31="\'+x.1b+\'"></10>\').2g(v)})}2 u=z(\'10.\'+x.1b,v);u=u.X()&&u||z(\'>\'+x.22,v);j.P(\'.\'+x.1g)||j.O(x.1g);u.!
Y(4(){2 a=z(5);a.P(\'.\'+x.1b)||a.O(x.1b)});2 p=z(\'8\',j).2b(z(\'8.\'+x.N,j)[0]);3(p>=0){x.J=p}3(1c.B){n.Y(4(a){3(5.B==1c.B){x.J=a;3((z.7.Z||z.7.2T)&&!x.R){2 b=z(1c.B);2 c=b.17(\'W\');b.17(\'W\',\'\');1n(4(){b.17(\'W\',c)},2O)}1y();G V}})}3(z.7.Z){1y()}u.18(\':6(\'+x.J+\')\').1F().1o().2I(\':6(\'+x.J+\')\').O(x.1t);3(!x.R){z(\'8\',j).1f(x.N).6(x.J).O(x.N)}3(x.2m){2 t=4(e){2 b=z.2C(u.1l(),4(a){2 h,1B=z(a);3(e){3(z.7.1j){a.11.2A(\'20\');a.11.E=\'\';a.1k=C}h=1B.S({\'1q-E\':\'\'}).E()}D{h=1B.E()}G h}).2y(4(c,d){G d-c});3(z.7.1j){u.Y(4(){5.1k=b[0]+\'1Z\';5.11.2w(\'20\',\'5.11.E = 5.1k ? 5.1k : "2v"\')})}D{u.S({\'1q-E\':b[0]+\'1Z\'})}};t();2 r=v.1W;2 l=v.1h;2 q=z(\'#9-1V-1U-X\').1l(0)||z(\'<I W="9-1V-1U-X">M</I>\').S({1T:\'2u\',2t:\'2s\',2r:\'2q\'}).2g(T.1S).1l(0);2 s=q.1h;32(4(){2 b=v.1W;2 a=v.1h;2 c=q.1h;3(a>l||b!=r||c!=s){t((b>r||c<s));r=b;l=a;s=c}},1R)}2 m={},14={},1Q=x.2p||x.1u,1P=x.2o||x.1u;3(x.1x||x.1A){3(x.1x){m[\'E\']=\'1F\';14[\'E\']=\'1K\'}3(x.1A){m[\'L\']=\'1F\';14[\!
'L\']=\'1K\'}}D{3(x.1w){m=x.1w}D{m[\'1q-2n\']=0;1Q=x.H?1R:1}3(x.1v){14
=x.1v}D{14[\'1q-2n\']=0;1P=x.H?1R:1}}2 o=x.2j,19=x.19,16=x.16;n.1s(\'2k\',4(){2 c=z(5).1e(\'8:6(0)\');3(v.1r||c.P(\'.\'+x.N)||c.P(\'.\'+x.1a)){G V}2 a=5.B;3(z.7.Z){z(5).U(\'13\');3(x.H){z.1d.1N(a);1c.B=a.1M(\'#\',\'\')}}D 3(z.7.1L){2 b=z(\'<2i 30="\'+a+\'"><10><2Z 2X="2f" 2W="h" /></10></2i>\').1l(0);b.2f();z(5).U(\'13\');3(x.H){z.1d.1N(a)}}D{3(x.H){1c.B=a.1M(\'#\',\'\')}D{z(5).U(\'13\')}}});n.1s(\'1J\',4(){2 a=z(5).1e(\'8:6(0)\');3(z.7.1L){a.1i({L:0},1,4(){a.S({L:\'\'})})}a.O(x.1a)});3(x.12&&x.12.1I){2e(2 i=0,k=x.12.1I;i<k;i++){n.6(--x.12[i]).U(\'1J\').1o()}};n.1s(\'2c\',4(){2 a=z(5).1e(\'8:6(0)\');a.1f(x.1a);3(z.7.1L){a.1i({L:1},1,4(){a.S({L:\'\'})})}});n.1s(\'13\',4(b){2 g=b.2V;2 e=5,8=z(5).1e(\'8:6(0)\'),F=z(5.B),Q=u.18(\':2U\');3(v.1r||8.P(\'.\'+x.N)||8.P(\'.\'+x.1a)||K o==\'4\'&&o(5,F[0],Q[0])===V){5.2a();G V}v[\'1r\']=2h;3(F.X()){3(z.7.Z&&x.H){2 d=5.B.1M(\'#\',\'\');F.17(\'W\',\'\');1n(4(){F.17(\'W\',d)},0)}4 1G(){3(x.H&&g){z.1d.1N(e.B)}Q.1i(14,1P,4(){z(e).1e(\'8:6(0)!
\').O(x.N).2S().1f(x.N);3(K 19==\'4\'){19(e,F[0],Q[0])}Q.O(x.1t).S({1T:\'\',28:\'\',E:\'\',L:\'\'});F.1f(x.1t).1i(m,1Q,4(){F.S({28:\'\',E:\'\',L:\'\'});3(z.7.Z){Q[0].11.18=\'\';F[0].11.18=\'\'}3(K 16==\'4\'){16(e,F[0],Q[0])}v[\'1r\']=C})})}3(!x.R){1G()}D{2 f=z(5),I=z(\'I\',5)[0],27=I.1E;f.O(x.1C);3(x.1p){I.1E=x.1p}1n(4(){z(e.B).2R(w[e.B],4(){1G();3(x.1p){I.1E=27}f.1f(x.1C)})},0)}}D{2Q(\'2P P 2N 2M 26.\')}2 a=1D.2L||T.1m&&T.1m.25||T.1S.25||0;2 c=1D.2J||T.1m&&T.1m.24||T.1S.24||0;1n(4(){1D.1X(a,c)},0);5.2a();G x.H&&!!g});3(x.R){n.6(x.J).U(\'13\').1o()}3(x.H){z.1d.2Y(4(){n.6(x.J).U(\'13\').1o()})}})};2 A=[\'2k\',\'1J\',\'2c\'];2e(2 i=0;i<A.1I;i++){z.1z[A[i]]=(4(d){G 4(c){G 5.Y(4(){2 b=z(\'15.9-1H\',5);b=b.X()&&b||z(\'>15:6(0)\',5);2 a;3(!c||K c==\'1Y\'){a=z(\'8 a\',b).6((c&&c>0&&c-1||0))}D 3(K c==\'2H\'){a=z(\'8 a[@1O$="#\'+c+\'"]\',b)}a.U(d)})}})(A[i])}z.1z.2G=4(){2 c=[];5.Y(4(){2 a=z(\'15.9-1H\',5);a=a.X()&&a||z(\'>15:6(0)\',5);2 b=z(\'8\',a);c.2F(b.2b(b.18(\'.9-29\')[0])+1)}!
);G c[0]}})(33);',62,191,'||var|if|function|this|eq|browser|li|tabs|||
|||||||||||||||||||||||||hash|null|else|height|toShow|return|bookmarkable|span|initial|typeof|opacity||selectedClass|addClass|is|toHide|remote|css|document|trigger|false|id|size|each|msie|div|style|disabled|click|hideAnim|ul|onShow|attr|filter|onHide|disabledClass|containerClass|location|ajaxHistory|parents|removeClass|navClass|offsetHeight|animate|msie6|minHeight|get|documentElement|setTimeout|end|spinner|min|locked|bind|hideClass|fxSpeed|fxHide|fxShow|fxSlide|unFocus|fn|fxFade|jq|loadingClass|window|innerHTML|show|switchTab|nav|length|disableTab|hide|safari|replace|update|href|hideSpeed|showSpeed|50|body|display|font|watch|offsetWidth|scrollTo|number|px|behaviour|hashPrefix|tabStruct|extend|scrollTop|scrollLeft|container|text|overflow|selected|blur|index|enableTab|remoteCount|for|submit|appendTo|true|form|onClick|triggerTab|html|fxAutoHeight|width|fxHideSpeed|fxShowSpeed|hidden|visibility|absolute|position|block|1px|setExpression|XMLHttpRequest|sort|tab|removeExpression|lo!
ading|map|8230|object|push|activeTab|string|not|pageYOffset|Loading|pageXOffset|such|no|500|There|alert|load|siblings|opera|visible|clientX|value|type|initialize|input|action|class|setInterval|jQuery|normal'.split('|'),0,{}))
\ No newline at end of file
Modified: trunk/examples/wiki/view/themes/inrelationto/js/jquery.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jquery.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jquery.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -5,7 +5,7 @@
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
- * $Date: 2007-08-17 15:00:33 +0200 (Fri, 17 Aug 2007) $
- * $Rev:6019 $
+ * $Date: 2007-11-20 09:05:13 +0100 (Tue, 20 Nov 2007) $
+ * $Rev:6788 $
*/
-eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})!
},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?!
t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9
.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e!
,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!
!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1
z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i])!
;B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}})!
;6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F
(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G"!
,4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\!
\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1]
;E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(!
" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r!
,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c
,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.!
42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W!
).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}})
;6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I!
(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1!
C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X
(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U=!
"2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.!
15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89
:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f!
.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|te!
xt|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easi
ng|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execS!
cript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Th!
u|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlenco
ded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
\ No newline at end of file
+eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})!
},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?!
t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9
.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e!
,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!
!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1
z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i])!
;B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}})!
;6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F
(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G"!
,4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\!
\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1]
;E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(!
" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r!
,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c
,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.!
42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W!
).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}})
;6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I!
(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1!
C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X
(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U=!
"2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.!
15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89
:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f!
.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|te!
xt|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easi
ng|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execS!
cript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Th!
u|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlenco
ded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
Added: trunk/examples/wiki/view/themes/inrelationto/js/jqueryPlugins.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/jqueryPlugins.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/jqueryPlugins.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -0,0 +1,110 @@
+
+/*
+ * jQuery tabs
+ */
+eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(4(z){z.23({9:{2d:0}});z.1z.9=4(y,x){3(K y==\'2E\')x=y;x=z.23({J:(y&&K y==\'1Y\'&&y>0)?--y:0,12:C,H:z.1d?2h:V,R:V,1p:\'2KD;\',21:\'R-2z-\',1A:C,1x:C,1w:C,1v:C,1u:\'34\',2p:C,2o:C,2m:V,2j:C,19:C,16:C,1g:\'9-1H\',N:\'9-29\',1a:\'9-12\',1b:\'9-26\',1t:\'9-1K\',1C:\'9-2B\',22:\'10\'},x||{});z.7.1j=z.7.1j||z.7.Z&&K 2x==\'4\';4 1y(){1X(0,0)}G 5.Y(4(){2 v=5;2 j=z(\'15.\'+x.1g,v);j=j.X()&&j||z(\'>15:6(0)\',v);2 n=z(\'a\',j);3(x.R){2 w={};n.Y(4(){z(5).2l(\'<I>\'+z(5).2l()+\'</I>\');2 a=x.21+(++z.9.2d);2 b=\'#\'+a;w[b]=5.1O;5.1O=b;z(\'<10 W="\'+a+\'" 31="\'+x.1b+\'"></10>\').2g(v)})}2 u=z(\'10.\'+x.1b,v);u=u.X()&&u||z(\'>\'+x.22,v);j.P(\'.\'+x.1g)||j.O(x.1g);u.!
Y(4(){2 a=z(5);a.P(\'.\'+x.1b)||a.O(x.1b)});2 p=z(\'8\',j).2b(z(\'8.\'+x.N,j)[0]);3(p>=0){x.J=p}3(1c.B){n.Y(4(a){3(5.B==1c.B){x.J=a;3((z.7.Z||z.7.2T)&&!x.R){2 b=z(1c.B);2 c=b.17(\'W\');b.17(\'W\',\'\');1n(4(){b.17(\'W\',c)},2O)}1y();G V}})}3(z.7.Z){1y()}u.18(\':6(\'+x.J+\')\').1F().1o().2I(\':6(\'+x.J+\')\').O(x.1t);3(!x.R){z(\'8\',j).1f(x.N).6(x.J).O(x.N)}3(x.2m){2 t=4(e){2 b=z.2C(u.1l(),4(a){2 h,1B=z(a);3(e){3(z.7.1j){a.11.2A(\'20\');a.11.E=\'\';a.1k=C}h=1B.S({\'1q-E\':\'\'}).E()}D{h=1B.E()}G h}).2y(4(c,d){G d-c});3(z.7.1j){u.Y(4(){5.1k=b[0]+\'1Z\';5.11.2w(\'20\',\'5.11.E = 5.1k ? 5.1k : "2v"\')})}D{u.S({\'1q-E\':b[0]+\'1Z\'})}};t();2 r=v.1W;2 l=v.1h;2 q=z(\'#9-1V-1U-X\').1l(0)||z(\'<I W="9-1V-1U-X">M</I>\').S({1T:\'2u\',2t:\'2s\',2r:\'2q\'}).2g(T.1S).1l(0);2 s=q.1h;32(4(){2 b=v.1W;2 a=v.1h;2 c=q.1h;3(a>l||b!=r||c!=s){t((b>r||c<s));r=b;l=a;s=c}},1R)}2 m={},14={},1Q=x.2p||x.1u,1P=x.2o||x.1u;3(x.1x||x.1A){3(x.1x){m[\'E\']=\'1F\';14[\'E\']=\'1K\'}3(x.1A){m[\'L\']=\'1F\';14[\!
'L\']=\'1K\'}}D{3(x.1w){m=x.1w}D{m[\'1q-2n\']=0;1Q=x.H?1R:1}3(x.1v){14
=x.1v}D{14[\'1q-2n\']=0;1P=x.H?1R:1}}2 o=x.2j,19=x.19,16=x.16;n.1s(\'2k\',4(){2 c=z(5).1e(\'8:6(0)\');3(v.1r||c.P(\'.\'+x.N)||c.P(\'.\'+x.1a)){G V}2 a=5.B;3(z.7.Z){z(5).U(\'13\');3(x.H){z.1d.1N(a);1c.B=a.1M(\'#\',\'\')}}D 3(z.7.1L){2 b=z(\'<2i 30="\'+a+\'"><10><2Z 2X="2f" 2W="h" /></10></2i>\').1l(0);b.2f();z(5).U(\'13\');3(x.H){z.1d.1N(a)}}D{3(x.H){1c.B=a.1M(\'#\',\'\')}D{z(5).U(\'13\')}}});n.1s(\'1J\',4(){2 a=z(5).1e(\'8:6(0)\');3(z.7.1L){a.1i({L:0},1,4(){a.S({L:\'\'})})}a.O(x.1a)});3(x.12&&x.12.1I){2e(2 i=0,k=x.12.1I;i<k;i++){n.6(--x.12[i]).U(\'1J\').1o()}};n.1s(\'2c\',4(){2 a=z(5).1e(\'8:6(0)\');a.1f(x.1a);3(z.7.1L){a.1i({L:1},1,4(){a.S({L:\'\'})})}});n.1s(\'13\',4(b){2 g=b.2V;2 e=5,8=z(5).1e(\'8:6(0)\'),F=z(5.B),Q=u.18(\':2U\');3(v.1r||8.P(\'.\'+x.N)||8.P(\'.\'+x.1a)||K o==\'4\'&&o(5,F[0],Q[0])===V){5.2a();G V}v[\'1r\']=2h;3(F.X()){3(z.7.Z&&x.H){2 d=5.B.1M(\'#\',\'\');F.17(\'W\',\'\');1n(4(){F.17(\'W\',d)},0)}4 1G(){3(x.H&&g){z.1d.1N(e.B)}Q.1i(14,1P,4(){z(e).1e(\'8:6(0)!
\').O(x.N).2S().1f(x.N);3(K 19==\'4\'){19(e,F[0],Q[0])}Q.O(x.1t).S({1T:\'\',28:\'\',E:\'\',L:\'\'});F.1f(x.1t).1i(m,1Q,4(){F.S({28:\'\',E:\'\',L:\'\'});3(z.7.Z){Q[0].11.18=\'\';F[0].11.18=\'\'}3(K 16==\'4\'){16(e,F[0],Q[0])}v[\'1r\']=C})})}3(!x.R){1G()}D{2 f=z(5),I=z(\'I\',5)[0],27=I.1E;f.O(x.1C);3(x.1p){I.1E=x.1p}1n(4(){z(e.B).2R(w[e.B],4(){1G();3(x.1p){I.1E=27}f.1f(x.1C)})},0)}}D{2Q(\'2P P 2N 2M 26.\')}2 a=1D.2L||T.1m&&T.1m.25||T.1S.25||0;2 c=1D.2J||T.1m&&T.1m.24||T.1S.24||0;1n(4(){1D.1X(a,c)},0);5.2a();G x.H&&!!g});3(x.R){n.6(x.J).U(\'13\').1o()}3(x.H){z.1d.2Y(4(){n.6(x.J).U(\'13\').1o()})}})};2 A=[\'2k\',\'1J\',\'2c\'];2e(2 i=0;i<A.1I;i++){z.1z[A[i]]=(4(d){G 4(c){G 5.Y(4(){2 b=z(\'15.9-1H\',5);b=b.X()&&b||z(\'>15:6(0)\',5);2 a;3(!c||K c==\'1Y\'){a=z(\'8 a\',b).6((c&&c>0&&c-1||0))}D 3(K c==\'2H\'){a=z(\'8 a[@1O$="#\'+c+\'"]\',b)}a.U(d)})}})(A[i])}z.1z.2G=4(){2 c=[];5.Y(4(){2 a=z(\'15.9-1H\',5);a=a.X()&&a||z(\'>15:6(0)\',5);2 b=z(\'8\',a);c.2F(b.2b(b.18(\'.9-29\')[0])+1)}!
);G c[0]}})(33);',62,191,'||var|if|function|this|eq|browser|li|tabs|||
|||||||||||||||||||||||||hash|null|else|height|toShow|return|bookmarkable|span|initial|typeof|opacity||selectedClass|addClass|is|toHide|remote|css|document|trigger|false|id|size|each|msie|div|style|disabled|click|hideAnim|ul|onShow|attr|filter|onHide|disabledClass|containerClass|location|ajaxHistory|parents|removeClass|navClass|offsetHeight|animate|msie6|minHeight|get|documentElement|setTimeout|end|spinner|min|locked|bind|hideClass|fxSpeed|fxHide|fxShow|fxSlide|unFocus|fn|fxFade|jq|loadingClass|window|innerHTML|show|switchTab|nav|length|disableTab|hide|safari|replace|update|href|hideSpeed|showSpeed|50|body|display|font|watch|offsetWidth|scrollTo|number|px|behaviour|hashPrefix|tabStruct|extend|scrollTop|scrollLeft|container|text|overflow|selected|blur|index|enableTab|remoteCount|for|submit|appendTo|true|form|onClick|triggerTab|html|fxAutoHeight|width|fxHideSpeed|fxShowSpeed|hidden|visibility|absolute|position|block|1px|setExpression|XMLHttpRequest|sort|tab|removeExpression|lo!
ading|map|8230|object|push|activeTab|string|not|pageYOffset|Loading|pageXOffset|such|no|500|There|alert|load|siblings|opera|visible|clientX|value|type|initialize|input|action|class|setInterval|jQuery|normal'.split('|'),0,{}));
+
+/*
+ * Copyright (c) 2007 Josh Bush (digitalbush.com)
+ *
+ * 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.
+ */
+
+/*
+ * Progress Bar Plugin for jQuery
+ * Version: Alpha 2
+ * Release: 2007-02-26
+ */
+(function($) {
+ //Main Method
+ $.fn.reportprogress = function(val,maxVal) {
+ var max=100;
+ if(maxVal)
+ max=maxVal;
+ return this.each(
+ function(){
+ var div=jQuery(this);
+ var innerdiv=div.find(".progress");
+
+ if(innerdiv.length!=1){
+ innerdiv=jQuery("<div class='progress'></div>");
+ div.append("<div class='text'> </div>");
+ jQuery("<span class='text'> </span>").css("width",div.width()).appendTo(innerdiv);
+ div.append(innerdiv);
+ }
+ var width=Math.round(val/max*100);
+ innerdiv.css("width",width+"%");
+ div.find(".text").html(width+" %");
+ }
+ );
+ };
+})(jQuery);
+
+
+/*
+ * jqModal - Minimalist Modaling with jQuery
+ *
+ * Copyright (c) 2007 Brice Burgess <bhb(a)iceburg.net>, http://www.iceburg.net
+ * Licensed under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * $Version: 2007.08.17 +r11
+ *
+ */
+(function($){$.fn.jqm=function(o){var _o={zIndex:3000,overlay:50,overlayClass:'jqmOverlay',closeClass:'jqmClose',trigger:'.jqModal',ajax:false,target:false,modal:false,toTop:false,onShow:false,onHide:false,onLoad:false};return this.each(function(){if(this._jqm)return;s++;this._jqm=s;H[s]={c:$.extend(_o,o),a:false,w:$(this).addClass('jqmID'+s),s:s};if(_o.trigger)$(this).jqmAddTrigger(_o.trigger)})};$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide');return this};$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow');return this};$.fn.jqmShow=function(t){return this.each(function(){if(!H[this._jqm].a)$.jqm.open(this._jqm,t)})};$.fn.jqmHide=function(t){return this.each(function(){if(H[this._jqm].a)$.jqm.close(this._jqm,t)})};$.jqm={hash:{},open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;!
h.a=true;h.w.css('z-index',z);if(c.modal){if(!A[0])F('bind');A.push(s);o.css('cursor','wait')}else if(c.overlay>0)h.w.jqmAddClose(o);else o=false;h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):false;if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in{Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'")}}if(c.ajax){var r=c.target||h.w,u=c.ajax,r=(typeof r=='string')?$(r,h.w):$(r),u=(u.substr(0,1)=='@')?$(t).attr(u.substring(1)):u;r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h)})}else if(cc)h.w.jqmAddClose($(cc,h.w));if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);(c.onShow)?c.onShow(h):h.w.show();e(h);return false},close:function(s){var h=H[s];h.a=false;if(A[0]){A.pop();if(!A[0])F('unbind')}if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();if(!
h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove()}return fa
lse}};var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version=="6.0"),i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i);f(h)},f=function(h){try{$(':input:visible',h.w)[0].focus()}catch(e){}},F=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m)},m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return!r},hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});$(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in{jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return false})}})}})(jQuery);
+
+
+/**
+ * jquery History Remote
+ */
+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}('(4($){$.H=1f 4(){3 h=\'19\';3 6=7.2;3 F=U;3 l;b.n=4(){};3 C=4(){$(\'.s-p\').1a()};$(9).Q(h,C);5($.y.1b){3 u,m=q;$(4(){u=$(\'<8 1s="1c: 1d;"></8>\').L(9.M).1e(0);3 8=u.E.9;8.V();8.R();5(6&&6!=\'#\'){8.7.2=6.S(\'#\',\'\')}});b.n=4(2){6=2;3 8=u.E.9;8.V();8.R();8.7.2=2.S(\'#\',\'\')};l=4(){3 8=u.E.9;3 k=8.7.2;5(k!=6){6=k;5(k&&k!=\'#\'){$(\'a[@d$="\'+k+\'"]\').f();7.2=k}g 5(m){7.2=\'\';$(9).A(h)}}m=B}}g 5($.y.1g||$.y.1h){b.n=4(2){6=2};l=4(){5(7.2){5(6!=7.2){6=7.2;$(\'a[@d$="\'+6+\'"]\').f()}}g 5(6){6=\'\';$(9).A(h)}}}g 5($.y.1i){3 c,o,x;$(4(){c=[];c.j=z.j;o=[]});3 r=q,m=q;x=4(2){c.Z(2);o.j=0;r=q};b.n=4(2){6=2;x(6)};l=4(){3 t=z.j-c.j;5(t){r=q;5(t<0){X(3 i=!
0;i<1j.1k(t);i++)o.1m(c.1n())}g{X(3 i=0;i<t;i++)c.Z(o.11())}3 K=c[c.j-1];$(\'a[@d$="\'+K+\'"]\').f();6=7.2}g 5(c[c.j-1]==T&&!r){5(9.N.13(\'#\')>=0){$(\'a[@d$="\'+\'#\'+9.N.14(\'#\')[1]+\'"]\').f()}g 5(m){$(9).A(h)}r=B}m=B}}b.16=4(D){5(W D==\'4\'){$(9).18(h,C).Q(h,D)}5(7.2&&W x==\'T\'){$(\'a.s[@d$="\'+7.2+\'"]\').f()}5(l&&F==U){F=1l(l,1p)}}};$.I.s=4(p,v){v=$.1q({P:\'s-\'},v||{});3 G=$(p).12()&&$(p)||$(\'<J></J>\').L(\'M\');G.15(\'s-p\');O b.17(4(i){3 10=b.d;3 2=\'#\'+v.P+(i+1);b.d=2;$(b).f(4(e){3 w=e.Y;G.1o(10,4(){5(w){$.H.n(2)}})})})};$.I.z=4(){O b.f(4(e){3 w=e.Y;5(w){$.H.n(b.2)}})}})(1r);',62,91,'||hash|var|function|if|_currentHash|location|iframe|document||this|_backStack|href||click|else|RESET_EVENT||length|iframeHash|_observeHistory|initialized|update|_forwardStack|output|false|isFirst|remote|historyDelta|_historyIframe|settings|trueClick|_addHistory|browser|history|trigger|true|_defaultReset|callback|contentWindow|_intervalId|target|ajaxHistory|fn|div|cachedHash|append!
To|body|URL|return|hashPrefix|bind|close|replace|undefined|null|open|t
ypeof|for|clientX|push|remoteURL|shift|size|indexOf|split|addClass|initialize|each|unbind|historyReset|empty|msie|display|none|get|new|mozilla|opera|safari|Math|abs|setInterval|unshift|pop|load|200|extend|jQuery|style'.split('|'),0,{}));
+
+
+/*
+ * jquery Dimensions
+ *
+ * Copyright (c) 2007 Paul Bakaus (paul.bakaus(a)googlemail.com) and Brandon Aaron (brandon.aaron(a)gmail.com || http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ * $LastChangedDate:2007-11-20 09:05:13 +0100 (Tue, 20 Nov 2007) $
+ * $Rev:6788 $
+ *
+ * Version: 1.0rc1
+ */
+eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(8($){p g=$.19.D,w=$.19.w;$.19.z({D:8(){4(1[0]==h)5 Z.1a||$.I&&7.10.1z||7.q.1z;4(1[0]==7)5 1t.1s(7.q.1H,7.q.13);5 g.1k(1,1h)},w:8(){4(1[0]==h)5 Z.1d||$.I&&7.10.1c||7.q.1c;4(1[0]==7)5 1t.1s(7.q.1B,7.q.11);5 w.1k(1,1h)},1a:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13-f(1,\'k\')-f(1,\'1A\'):1.D()+f(1,\'18\')+f(1,\'1y\')},1d:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11-f(1,\'j\')-f(1,\'1x\'):1.w()+f(1,\'15\')+f(1,\'1u\')},1K:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13:1.D()+f(1,\'k\')+f(1,\'1A\')+f(1,\'18\')+f(1,\'1y\')},1J:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11:1.w()+f(1,\'j\')+f(1,\'1x\')+f(1,\'15\')+f(1,\'1u\')},l:8(a){4(a!=1q)5 1.1!
o(8(){4(1==h||1==7)h.1m(a,$(h).n());o 1.l=a});4(1[0]==h||1[0]==7)5 Z.1G||$.I&&7.10.l||7.q.l;5 1[0].l},n:8(a){4(a!=1q)5 1.1o(8(){4(1==h||1==7)h.1m($(h).l(),a);o 1.n=a});4(1[0]==h||1[0]==7)5 Z.1F||$.I&&7.10.n||7.q.n;5 1[0].n},C:8(c,d){p a=1[0],3=a.S,6=a.R,c=$.z({Q:m,K:m,O:m,t:m},c||{}),x=a.N,y=a.M,v=a.l,u=a.n;4($.i.17||$.i.16){x+=f(a,\'j\');y+=f(a,\'k\')}4(($.i.Y||$.i.X)&&$.r(6,\'C\')!=\'W\'){x-=f(6,\'j\');y-=f(6,\'k\')}4($.i.17){B{4(3!=a&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}4(3==6)1v}H((3=3.S)&&3.s!=\'G\')}4($.i.16&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\')){B{x+=6.N;y+=6.M;x+=f(6,\'j\');y+=f(6,\'k\')}H((6=6.R)&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\'))}p b=e(a,c,x,y,v,u);4(d){$.z(d,b);5 1}o{5 b}},1I:8(b,c){p x=0,y=0,v=0,u=0,9=1[0],3=1[0],6,U,L=$.r(9,\'C\'),A=$.i.17,E=$.i.16,1p=$.i.Y,1n=$.i.X,12=m,14=m,b=$.z({Q:F,K:m,O:m,t:F,1j:m},b||{});4(b.1j)5 1.1i(b,c);4(9.s==\'G\'){x=9.N;y=9.M;4(A){x+=f(9,\'V\')+(f(9,\'j\')*2);y+=f(9,\'T\')+(f(9,\'k\')*2)}o 4(1n){x+=f(9,\'V\');y+=f(9,\'T!
\')}o 4(E&&1l.I){x+=f(9,\'j\');y+=f(9,\'k\')}}o{B{U=$.r(3,\'C\');x+=3.
N;y+=3.M;4(A||E){x+=f(3,\'j\');y+=f(3,\'k\');4(A&&U==\'1g\')12=F;4(E&&U==\'1E\')14=F}6=3.R;4(b.t||A){B{4(b.t){v+=3.l;u+=3.n}4(A&&3!=9&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}3=3.S}H(3!=6)}3=6;4(3.s==\'G\'||3.s==\'1e\'){4((1p||(E&&$.I))&&L!=\'1g\'&&L!=\'1f\'){x+=f(3,\'V\');y+=f(3,\'T\')}4((A&&!12&&L!=\'1f\')||(E&&L==\'W\'&&!14)){x+=f(3,\'j\');y+=f(3,\'k\')}1v}}H(3)}p a=e(9,b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}},1i:8(b,c){p x=0,y=0,v=0,u=0,3=1[0],6,b=$.z({Q:F,K:m,O:m,t:F},b||{});B{x+=3.N;y+=3.M;6=3.R;4(b.t){B{v+=3.l;u+=3.n;3=3.S}H(3!=6)}3=6}H(3&&3.s!=\'G\'&&3.s!=\'1e\');p a=e(1[0],b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}}});p f=8(b,a){5 1D($.r(b.1C?b[0]:b,a))||0};p e=8(b,c,x,y,a,d){4(!c.Q){x-=f(b,\'V\');y-=f(b,\'T\')}4(c.K&&($.i.Y||$.i.X)){x+=f(b,\'j\');y+=f(b,\'k\')}o 4(!c.K&&!($.i.Y||$.i.X)){x-=f(b,\'j\');y-=f(b,\'k\')}4(c.O){x+=f(b,\'15\');y+=f(b,\'18\')}4(c.t){a-=b.l;d-=b.n}5 c.t?{1b:y-d,1r:x-a,n:d,l:a}:{1b:y,1r:x}}})(1l);',62,109,'|this||parent|if|return|op|document|f!
unction|elem||||||||window|browser|borderLeftWidth|borderTopWidth|scrollLeft|false|scrollTop|else|var|body|css|tagName|scroll|st|sl|width|||extend|mo|do|position|height|ie|true|BODY|while|boxModel|visible|border|elemPos|offsetTop|offsetLeft|padding|is|margin|offsetParent|parentNode|marginTop|parPos|marginLeft|static|opera|safari|self|documentElement|offsetWidth|absparent|offsetHeight|relparent|paddingLeft|msie|mozilla|paddingTop|fn|innerHeight|top|clientWidth|innerWidth|HTML|fixed|absolute|arguments|offsetLite|lite|apply|jQuery|scrollTo|oa|each|sf|undefined|left|max|Math|paddingRight|break|overflow|borderRightWidth|paddingBottom|clientHeight|borderBottomWidth|scrollWidth|jquery|parseInt|relative|pageYOffset|pageXOffset|scrollHeight|offset|outerWidth|outerHeight'.split('|'),0,{}));
+
+
+/**
+ * jQuery context menu
+ */
+(function($){var menu,shadow,trigger,content,hash,currentTarget;var defaults={menuStyle:{listStyle:'none',padding:'1px',margin:'0px',backgroundColor:'#fff',border:'1px solid #999',width:'100px'},itemStyle:{margin:'0px',color:'#000',display:'block',cursor:'default',padding:'3px',border:'1px solid #fff',backgroundColor:'transparent'},itemHoverStyle:{border:'1px solid #0a246a',backgroundColor:'#b6bdd2'},eventPosX:'pageX',eventPosY:'pageY',shadow:true,onContextMenu:null,onShowMenu:null};$.fn.contextMenu=function(id,options){if(!menu){menu=$('<div id="jqContextMenu"></div>').hide().css({position:'absolute',zIndex:'500'}).appendTo('body').bind('click',function(e){e.stopPropagation()})}if(!shadow){shadow=$('<div></div>').css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499}).appendTo('body').hide()}hash=hash||[];hash.push({id:id,menuStyle:$.extend({},defaults.menuStyle,options.menuStyle||{}),itemStyle:$.extend({},defaults.itemStyle,options.itemStyle||{}),itemHove!
rStyle:$.extend({},defaults.itemHoverStyle,options.itemHoverStyle||{}),bindings:options.bindings||{},shadow:options.shadow||options.shadow===false?options.shadow:defaults.shadow,onContextMenu:options.onContextMenu||defaults.onContextMenu,onShowMenu:options.onShowMenu||defaults.onShowMenu,eventPosX:options.eventPosX||defaults.eventPosX,eventPosY:options.eventPosY||defaults.eventPosY});var index=hash.length-1;$(this).bind('contextmenu',function(e){var bShowContext=(!!hash[index].onContextMenu)?hash[index].onContextMenu(e):true;if(bShowContext)display(index,this,e,options);return false});return this};function display(index,trigger,e,options){var cur=hash[index];content=$('#'+cur.id).find('ul:first').clone(true);content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(function(){$(this).css(cur.itemHoverStyle)},function(){$(this).css(cur.itemStyle)}).find('img').css({verticalAlign:'middle',paddingRight:'2px'});menu.html(content);if(!!cur.onShowMenu)menu=cur.onShowMenu(e,m!
enu);$.each(cur.bindings,function(id,func){$('#'+id,menu).bind('click'
,function(e){hide();func(trigger,currentTarget)})});menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();if(cur.shadow)shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();$(document).one('click',hide)}function hide(){menu.hide();shadow.hide()}$.contextMenu={defaults:function(userDefaults){$.each(userDefaults,function(i,val){if(typeof val=='object'&&defaults[i]){$.extend(defaults[i],val)}else defaults[i]=val})}}})(jQuery);$(function(){$('div.contextMenu').hide()});
+
+
+/*
+ * Interface elements for jQuery - 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}('4.1h={5m:k(e){d x=0;d y=0;d 27=1g;d L=e.1d;8(4(e).H(\'15\')==\'1b\'){21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';27=1P}d 7=e;2W(7){x+=7.4Q+(7.2a&&!4.3T.4T?G(7.2a.3v)||0:0);y+=7.4Z+(7.2a&&!4.3T.4T?G(7.2a.3z)||0:0);7=7.4S}7=e;2W(7&&7.3m&&7.3m.3s()!=\'16\'){x-=7.2c||0;y-=7.1S||0;7=7.34}8(27){L.15=\'1b\';L.I=33;L.1t=21}u{x:x,y:y}},5j:k(7){d x=0,y=0;2W(7){x+=7.4Q||0;y+=7.4Z||0;7=7.4S}u{x:x,y:y}},3C:k(e){d w=4.H(e,\'C\');d h=4.H(e,\'B\');d 1F=0;d 1K=0;d L=e.1d;8(4(e).H(\'15\')!=\'1b\'){1F=e.3X;1K=e.3N}J{21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';1F=e.3X;1K=e.3N;L.15=\'1b\';L.I=33;L.1t=21}u{w:w,h:h,1F:1F,1K:1K}},5u:k(7){u{1F:7.3X||0,1K:7.3N||0!
}},5h:k(e){d h,w,2p;8(e){w=e.2v;h=e.2I}J{2p=K.1k;w=3E.3I||35.3I||(2p&&2p.2v)||K.16.2v;h=3E.40||35.40||(2p&&2p.2I)||K.16.2I}u{w:w,h:h}},4t:k(e){d t,l,w,h,2i,2b;8(e&&e.38.3s()!=\'16\'){t=e.1S;l=e.2c;w=e.3Y;h=e.3D;2i=0;2b=0}J{8(K.1k&&K.1k.1S){t=K.1k.1S;l=K.1k.2c;w=K.1k.3Y;h=K.1k.3D}J 8(K.16){t=K.16.1S;l=K.16.2c;w=K.16.3Y;h=K.16.3D}2i=35.3I||K.1k.2v||K.16.2v||0;2b=35.40||K.1k.2I||K.16.2I||0}u{t:t,l:l,w:w,h:h,2i:2i,2b:2b}},4e:k(e,28){d 7=4(e);d t=7.H(\'2H\')||\'\';d r=7.H(\'2C\')||\'\';d b=7.H(\'2O\')||\'\';d l=7.H(\'2B\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},59:k(e,28){d 7=4(e);d t=7.H(\'48\')||\'\';d r=7.H(\'44\')||\'\';d b=7.H(\'43\')||\'\';d l=7.H(\'49\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},61:k(e,28){d 7=4(e);d t=7.H(\'3z\')||\'\';d r=7.H(\'4k\')||\'\';d b=7.H(\'4m\')||\'\';d l=7.H(\'3v\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)||0};J u{t:t,r:r,b:b,l:l}},2y:k(2F){d x=2F.5Z||(2F.5x+(K.1k.2c||K!
.16.2c))||0;d y=2F.5Y||(2F.64+(K.1k.1S||K.16.1S))||0;u{x:x,y:y}},3V:k(
1n,3R){3R(1n);1n=1n.4g;2W(1n){4.1h.3V(1n,3R);1n=1n.6e}},6a:k(1n){4.1h.3V(1n,k(7){Z(d 1I 1u 7){8(1m 7[1I]===\'k\'){7[1I]=W}}})},5U:k(7,2S){d 1y=$.1h.4t();d 3x=$.1h.3C(7);8(!2S||2S==\'5F\')$(7).H({E:1y.t+((14.1M(1y.h,1y.2b)-1y.t-3x.1K)/2)+\'V\'});8(!2S||2S==\'5H\')$(7).H({F:1y.l+((14.1M(1y.w,1y.2i)-1y.l-3x.1F)/2)+\'V\'})},5D:k(7,4Y){d 57=$(\'4j[@36*="3r"]\',7||K),3r;57.2h(k(){3r=A.36;A.36=4Y;A.1d.5I="5J:5Q.5R.5L(36=\'"+3r+"\')"})}};[].46||(5N.5M.46=k(v,n){n=(n==W)?0:n;d m=A.1x;Z(d i=n;i<m;i++)8(A[i]==v)u i;u-1});4.4f=k(e){8(/^5K$|^5O$|^5P$|^5S$|^5B$|^5A$|^5z$|^5y$|^5C$|^16$|^5G$|^5E$|^5T$|^69$|^68$|^67$|^66$/i.2Z(e.38))u 1g;J u 1P};4.P.6b=k(e,1B){d c=e.4g;d 1z=c.1d;1z.I=1B.I;1z.2H=1B.1q.t;1z.2B=1B.1q.l;1z.2O=1B.1q.b;1z.2C=1B.1q.r;1z.E=1B.E+\'V\';1z.F=1B.F+\'V\';e.34.4c(c,e);e.34.6c(e)};4.P.65=k(e){8(!4.4f(e))u 1g;d t=4(e);d L=e.1d;d 27=1g;d U={};U.I=t.H(\'I\');8(t.H(\'15\')==\'1b\'){21=t.H(\'1t\');L.1t=\'2j\';L.15=\'\';27=1P}U.X=4.1h.3C(e);U.1q=4.1h.4e(e);d 3L=e.2a?e.2a.45:t.H!
(\'5X\');U.E=G(t.H(\'E\'))||0;U.F=G(t.H(\'F\'))||0;d 4l=\'5W\'+G(14.5V()*4z);d 1R=K.60(/^4j$|^63$|^62$|^6f$|^5v$|^5a$|^3Z$|^5g$|^5d$|^5b$|^5f$|^5e$|^5c$|^58$/i.2Z(e.38)?\'5w\':e.38);4.1I(1R,\'5r\',4l);1R.4L=\'5q\';d 12=1R.1d;d E=0;d F=0;8(U.I==\'2K\'||U.I==\'2t\'){E=U.E;F=U.F}12.15=\'1b\';12.E=E+\'V\';12.F=F+\'V\';12.I=U.I!=\'2K\'&&U.I!=\'2t\'?\'2K\':U.I;12.2U=\'2j\';12.B=U.X.1K+\'V\';12.C=U.X.1F+\'V\';12.2H=U.1q.t;12.2C=U.1q.r;12.2O=U.1q.b;12.2B=U.1q.l;8(4.3T.5s){12.45=3L}J{12.5t=3L}e.34.4c(1R,e);L.2H=\'2f\';L.2C=\'2f\';L.2O=\'2f\';L.2B=\'2f\';L.I=\'2t\';L.5p=\'1b\';L.E=\'2f\';L.F=\'2f\';8(27){L.15=\'1b\';L.1t=21}1R.5o(e);12.15=\'2w\';u{U:U,5i:4(1R)}};4.P.2z={5k:[0,M,M],5l:[4n,M,M],5n:[4q,4q,6d],6D:[0,0,0],7s:[0,0,M],7r:[4h,42,42],7q:[0,M,M],7o:[0,0,2l],7p:[0,2l,2l],7t:[3U,3U,3U],7u:[0,7y,0],7x:[7w,7v,4i],7n:[2l,0,2l],7m:[7e,4i,47],7d:[M,4o,0],7c:[7A,50,7b],7f:[2l,0,0],7g:[7l,7k,7j],7h:[7i,0,3n],7z:[M,0,M],7L:[M,7T,0],7U:[0,1N,0],7Q:[75,0,7S],7V:[4n,4a,4o],7P:[7F,7E,4a],7N!
:[4b,M,M],7B:[4d,7C,4d],7G:[3n,3n,3n],7H:[M,7J,7D],7I:[M,M,4b],7K:[0,M
,0],7M:[M,0,M],7O:[1N,0,0],7R:[0,0,1N],7a:[1N,1N,0],78:[M,4h,0],6z:[M,30,6y],6x:[1N,0,1N],6v:[M,0,0],6w:[30,30,30],6A:[M,M,M],6B:[M,M,0]};4.P.1V=k(1o,4p){8(4.P.2z[1o])u{r:4.P.2z[1o][0],g:4.P.2z[1o][1],b:4.P.2z[1o][2]};J 8(Y=/^23\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.3i(1o))u{r:G(Y[1]),g:G(Y[2]),b:G(Y[3])};J 8(Y=/23\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.3i(1o))u{r:1i(Y[1])*2.55,g:1i(Y[2])*2.55,b:1i(Y[3])*2.55};J 8(Y=/^#([a-20-24-9])([a-20-24-9])([a-20-24-9])$/.3i(1o))u{r:G("2e"+Y[1]+Y[1]),g:G("2e"+Y[2]+Y[2]),b:G("2e"+Y[3]+Y[3])};J 8(Y=/^#([a-20-24-9]{2})([a-20-24-9]{2})([a-20-24-9]{2})$/.3i(1o))u{r:G("2e"+Y[1]),g:G("2e"+Y[2]),b:G("2e"+Y[3])};J u 4p==1P?1g:{r:M,g:M,b:M}};4.P.4O={4m:1,3v:1,4k:1,3z:1,6F:1,6E:1,B:1,F:1,79:1,6C:1,2O:1,2B:1,2C:1,2H:1,2u:1,3p:1,2M:1,3o:1,1D:1,6u:1,6t:1,43:1,49:1,44:1,48:1,6l:1,6k:1,E:1,C:1,3k:1};4.P.4B={6j:1,6h:1,6i:1,6m:1,6n:1,1o:1,6g:1};4.P.2A=[\!
'6s\',\'6r\',\'6q\',\'6o\'];4.P.3w={\'3y\':[\'2L\',\'4w\'],\'3t\':[\'2L\',\'3B\'],\'3h\':[\'3h\',\'\'],\'3q\':[\'3q\',\'\']};4.4P.2R({6p:k(1C,2k,11,3a){u A.2G(k(){d 3u=4.2k(2k,11,3a);d e=2N 4.53(A,3u,1C)})},3A:k(2k,3a){u A.2G(k(){d 3u=4.2k(2k,3a);d e=2N 4.3A(A,3u)})},3d:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l)})},6G:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l);8(A.2G&&A.2G[\'P\'])A.2G.P=[]})}});4.2R({3A:k(N,D){d z=A,4R;z.1l=k(){8(4.4y(D.32))D.32.1H(N)};z.2x=4C(k(){z.1l()},D.1J);N.1G=z},11:{4N:k(p,n,51,54,1J){u((-14.6H(p*14.70)/2)+0.5)*54+51}},53:k(N,D,1C){d z=A,4R;d y=N.1d;d 4G=4.H(N,"2U");d 2g=4.H(N,"15");d O={};z.3j=(2N 4F()).4r();D.11=D.11&&4.11[D.11]?D.11:\'4N\';z.2T=k(S,1a){8(4.P.4O[S]){8(1a==\'2X\'||1a==\'2V\'||1a==\'4A\'){8(!N.1T)N.1T={};d r=1i(4.1Y(N,S));N.1T[S]=r&&r>-4z?r:(1i(4.H(N,S))||0);1a=1a==\'4A\'?(2g==\'1b\'?\'2X\':\'2V\'):1a;D[1a]=1P;O[S]=1a==\'2X\'?[0,N.1T[S]]:[N.1T[S],0];8(S!=\'1D\')y[S]=O[S][0]+(S!=\'3k\'&&S!=\'3H\'?\'V\':\'\');J 4.1I(y,"1D",O[S][0])}J{O[S]=[1i(4.1Y(N,S!
)),1i(1a)||0]}}J 8(4.P.4B[S])O[S]=[4.P.1V(4.1Y(N,S)),4.P.1V(1a)];J 8(/
^3h$|3q$|2L$|3t$|3y$/i.2Z(S)){d m=1a.1Q(/\\s+/g,\' \').1Q(/23\\s*\\(\\s*/g,\'23(\').1Q(/\\s*,\\s*/g,\',\').1Q(/\\s*\\)/g,\')\').4x(/([^\\s]+)/g);2n(S){R\'3h\':R\'3q\':R\'3y\':R\'3t\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];Z(d i=0;i<4.P.2A.1x;i++){d 1A=4.P.3w[S][0]+4.P.2A[i]+4.P.3w[S][1];O[1A]=S==\'3t\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),1i(m[i])]}19;R\'2L\':Z(d i=0;i<m.1x;i++){d 3M=1i(m[i]);d 2Y=!6Z(3M)?\'4w\':(!/6Y|1b|2j|6W|6X|71|72|77|76|74|73/i.2Z(m[i])?\'3B\':1g);8(2Y){Z(d j=0;j<4.P.2A.1x;j++){1A=\'2L\'+4.P.2A[j]+2Y;O[1A]=2Y==\'3B\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),3M]}}J{y[\'6V\']=m[i]}}19}}J{y[S]=1a}u 1g};Z(p 1u 1C){8(p==\'1d\'){d 1w=4.3J(1C[p]);Z(2s 1u 1w){A.2T(2s,1w[2s])}}J 8(p==\'4L\'){8(K.31)Z(d i=0;i<K.31.1x;i++){d 2m=K.31[i].2m||K.31[i].6U||W;8(2m){Z(d j=0;j<2m.1x;j++){8(2m[j].6M==\'.\'+1C[p]){d 26=2N 6L(\'\\.\'+1C[p]+\' {\');d 1E=2m[j].1d.6K;d 1w=4.3J(1E.1Q(26,\'\').1Q(/}/g,\'\'));Z(2s 1u 1w){A.2T(2s,1w[2s])}}}}}}J{!
A.2T(p,1C[p])}}y.15=2g==\'1b\'?\'2w\':2g;y.2U=\'2j\';z.1l=k(){d t=(2N 4F()).4r();8(t>D.1J+z.3j){4U(z.2x);z.2x=W;Z(p 1u O){8(p=="1D")4.1I(y,"1D",O[p][1]);J 8(1m O[p][1]==\'3Z\')y[p]=\'23(\'+O[p][1].r+\',\'+O[p][1].g+\',\'+O[p][1].b+\')\';J y[p]=O[p][1]+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}8(D.2V||D.2X)Z(d p 1u N.1T)8(p=="1D")4.1I(y,p,N.1T[p]);J y[p]="";y.15=D.2V?\'1b\':(2g!=\'1b\'?2g:\'2w\');y.2U=4G;N.1G=W;8(4.4y(D.32))D.32.1H(N)}J{d n=t-A.3j;d 2J=n/D.1J;Z(p 1u O){8(1m O[p][1]==\'3Z\'){y[p]=\'23(\'+G(4.11[D.11](2J,n,O[p][0].r,(O[p][1].r-O[p][0].r),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].g,(O[p][1].g-O[p][0].g),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].b,(O[p][1].b-O[p][0].b),D.1J))+\')\'}J{d 3Q=4.11[D.11](2J,n,O[p][0],(O[p][1]-O[p][0]),D.1J);8(p=="1D")4.1I(y,"1D",3Q);J y[p]=3Q+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}}}};z.2x=4C(k(){z.1l()},13);N.1G=z},3F:k(N,1l){8(1l)N.1G.3j-=6I;J{3E.4U(N.1G.2x);N.1G=W;4.6J(N,"P")}}});4.3J=k(1E){d 1w={};8(1m 1E==\'3W\'){1E=1E.3s().4W(\';\');Z(d i=0;i<1E.!
1x;i++){26=1E[i].4W(\':\');8(26.1x==2){1w[4.4V(26[0].1Q(/\\-(\\w)/g,k(
m,c){u c.6N()}))]=4.4V(26[1])}}}u 1w};4.6={o:W,17:W,T:W,1c:W,X:W,I:W,2d:k(e){4.6.T=(A.37)?A.37:A;4.6.1c=4.1h.2y(e);4.6.X={C:G(4(4.6.T).H(\'C\'))||0,B:G(4(4.6.T).H(\'B\'))||0};4.6.I={E:G(4(4.6.T).H(\'E\'))||0,F:G(4(4.6.T).H(\'F\'))||0};4(K).1L(\'3f\',4.6.3G).1L(\'3e\',4.6.3P);8(1m 4.6.T.f.4H===\'k\'){4.6.T.f.4H.1H(4.6.T)}u 1g},3P:k(e){4(K).1X(\'3f\',4.6.3G).1X(\'3e\',4.6.3P);8(1m 4.6.T.f.4E===\'k\'){4.6.T.f.4E.1H(4.6.T)}4.6.T=W},3G:k(e){8(!4.6.T){u}1c=4.1h.2y(e);25=4.6.I.E-4.6.1c.y+1c.y;29=4.6.I.F-4.6.1c.x+1c.x;25=14.1M(14.2P(25,4.6.T.f.2E-4.6.X.B),4.6.T.f.2r);29=14.1M(14.2P(29,4.6.T.f.2D-4.6.X.C),4.6.T.f.2o);8(1m 4.6.T.f.4I===\'k\'){d 2Q=4.6.T.f.4I.1H(4.6.T,[29,25]);8(1m 2Q==\'6O\'&&2Q.1x==2){29=2Q[0];25=2Q[1]}}4.6.T.1d.E=25+\'V\';4.6.T.1d.F=29+\'V\';u 1g},41:k(e){4(K).1L(\'3f\',4.6.3K).1L(\'3e\',4.6.3d);4.6.o=A.o;4.6.17=A.17;4.6.1c=4.1h.2y(e);8(4.6.o.f.4J){4.6.o.f.4J.1H(4.6.o,[A])}4.6.X={C:G(4(A.o).H(\'C\'))||0,B:G(4(A.o).H(\'B\'))||0};4.6.I={E:G(4(A.o).H(\'E\'))||0,F:G(4(A!
.o).H(\'F\'))||0};u 1g},3d:k(){4(K).1X(\'3f\',4.6.3K).1X(\'3e\',4.6.3d);8(4.6.o.f.4M){4.6.o.f.4M.1H(4.6.o,[4.6.17])}4.6.o=W;4.6.17=W},1W:k(1v,3b){u 14.2P(14.1M(4.6.X.C+1v*3b,4.6.o.f.3o),4.6.o.f.3p)},1O:k(1s,3b){u 14.2P(14.1M(4.6.X.B+1s*3b,4.6.o.f.2M),4.6.o.f.2u)},4K:k(B){u 14.2P(14.1M(B,4.6.o.f.2M),4.6.o.f.2u)},3K:k(e){8(4.6.o==W){u}1c=4.1h.2y(e);1v=1c.x-4.6.1c.x;1s=1c.y-4.6.1c.y;q={C:4.6.X.C,B:4.6.X.B};Q={E:4.6.I.E,F:4.6.I.F};2n(4.6.17){R\'e\':q.C=4.6.1W(1v,1);19;R\'4s\':q.C=4.6.1W(1v,1);q.B=4.6.1O(1s,1);19;R\'w\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'3g\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;q.B=4.6.1O(1s,1);19;R\'22\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'n\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;19;R\'39\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,1);19;R\'s\':q.B=4.6.1O(1s,1);19}8(4.6.o.f.1f){8(4.6.17==\'n\'||4.6.17==\'s\')1e=q.B*4.6.o.f.1f;J 1e=q.C;1p=4.6.4K(1e*4.6.o.f.1f);1e=1p/4.6.o!
.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}2n(4.6.17){R\'2
2\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.B=1p;q.C=1e}8(Q.E<4.6.o.f.2r){1p=q.B+Q.E-4.6.o.f.2r;Q.E=4.6.o.f.2r;8(4.6.o.f.1f){1e=1p/4.6.o.f.1f;2n(4.6.17){R\'22\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.C=1e}q.B=1p}8(Q.F<4.6.o.f.2o){1e=q.C+Q.F-4.6.o.f.2o;Q.F=4.6.o.f.2o;8(4.6.o.f.1f){1p=1e*4.6.o.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}q.B=1p}q.C=1e}8(Q.E+q.B>4.6.o.f.2E){q.B=4.6.o.f.2E-Q.E;8(4.6.o.f.1f){q.C=q.B/4.6.o.f.1f}}8(Q.F+q.C>4.6.o.f.2D){q.C=4.6.o.f.2D-Q.F;8(4.6.o.f.1f){q.B=q.C*4.6.o.f.1f}}d 1Z=1g;1r=4.6.o.1d;1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';8(4.6.o.f.4D){1Z=4.6.o.f.4D.1H(4.6.o,[q,Q]);8(1Z){8(1Z.X){4.2R(q,1Z.X)}8(1Z.I){4.2R(Q,1Z.I)}}}1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';u 1g},4X:k(D){8(!D||!D.18||D.18.56!=6T){u}u A.2h(k(){d 7=A;7.f=D;7.f.3o=D.3o||10;7.f.2M=D.2M||10;7.f.3p=D.3p||3c;7.f.2u=D.2u||3c;7.f.2r=D.2r||-4v;7.f.2o=D.2o||-4v;7.f.2D=D.2D||3c;7.f.2E=D.2E||3c;3O=4(7).H(\'I\');8(!(3O==\'2K\'||3O==\'2t\')){7.1d.I=\'2K\'}52=/!
n|39|e|4s|s|3g|w|22/g;Z(i 1u 7.f.18){8(i.3s().4x(52)!=W){8(7.f.18[i].56==6S){2q=4(7.f.18[i]);8(2q.3S()>0){7.f.18[i]=2q.6R(0)}}8(7.f.18[i].3m){7.f.18[i].o=7;7.f.18[i].17=i;4(7.f.18[i]).1L(\'1U\',4.6.41)}}}8(7.f.1j){8(1m 7.f.1j===\'3W\'){3l=4(7.f.1j);8(3l.3S()>0){3l.2h(k(){A.37=7});3l.1L(\'1U\',4.6.2d)}}J 8(7.f.1j.3m){7.f.1j.37=7;4(7.f.1j).1L(\'1U\',4.6.2d)}J 8(7.f.1j==1P){4(A).1L(\'1U\',4.6.2d)}}})},4u:k(){u A.2h(k(){d 7=A;Z(i 1u 7.f.18){7.f.18[i].o=W;7.f.18[i].17=W;4(7.f.18[i]).1X(\'1U\',4.6.41)}8(7.f.1j){8(1m 7.f.1j===\'3W\'){2q=4(7.f.1j);8(2q.3S()>0){2q.1X(\'1U\',4.6.2d)}}J 8(7.f.1j==1P){4(A).1X(\'1U\',4.6.2d)}}7.f=W})}};4.4P.2R({6P:4.6.4X,6Q:4.6.4u});',62,492,'||||jQuery||iResize|el|if|||||var||resizeOptions|||||function||||resizeElement||newSizes||||return||||||this|height|width|options|top|left|parseInt|css|position|else|document|es|255|elem|props|fx|newPosition|case|tp|dragged|oldStyle|px|null|sizes|result|for||easing|wrs||Math|display|body|resizeDirection|handlers|br!
eak|vp|none|pointer|style|nWidth|ratio|false|iUtil|parseFloat|dragHand
le|documentElement|step|typeof|nodeEl|color|nHeight|margins|elS|dy|visibility|in|dx|newStyles|length|clientScroll|cs|nmp|old|prop|opacity|styles|wb|animationHandler|apply|attr|duration|hb|bind|max|128|getHeight|true|replace|wr|scrollTop|orig|mousedown|parseColor|getWidth|unbind|curCSS|newDimensions|fA|oldVisibility|nw|rgb|F0|newTop|rule|restoreStyle|toInteger|newLeft|currentStyle|ih|scrollLeft|startDrag|0x|0px|oldDisplay|each|iw|hidden|speed|139|cssRules|switch|minLeft|de|handle|minTop|np|absolute|maxHeight|clientWidth|block|timer|getPointer|namedColors|cssSides|marginLeft|marginRight|maxRight|maxBottom|event|queue|marginTop|clientHeight|pr|relative|border|minHeight|new|marginBottom|min|newPos|extend|axis|getValues|overflow|hide|while|show|sideEnd|test|192|styleSheets|complete|oldPosition|parentNode|self|src|dragEl|nodeName|ne|callback|side|3000|stop|mouseup|mousemove|sw|margin|exec|startTime|zIndex|handleEl|tagName|211|minWidth|maxWidth|padding|png|toLowerCase|borderColor|o!
pt|borderLeftWidth|cssSidesEnd|windowSize|borderWidth|borderTopWidth|pause|Color|getSize|scrollHeight|window|stopAnim|moveDrag|fontWeight|innerWidth|parseStyle|move|oldFloat|floatVal|offsetHeight|elPosition|stopDrag|pValue|func|size|browser|169|traverseDOM|string|offsetWidth|scrollWidth|object|innerHeight|start||paddingBottom|paddingRight|styleFloat|indexOf||paddingTop|paddingLeft|230|224|insertBefore|144|getMargins|fxCheckTag|firstChild|165|107|img|borderRightWidth|wid|borderBottomWidth|240|140|notColor|245|getTime|se|getScroll|destroy|1000|Width|match|isFunction|10000|toggle|colorCssProps|setInterval|onResize|onDragStop|Date|oldOverflow|onDragStart|onDrag|onStart|getHeightMinMax|className|onStop|linear|cssProps|fn|offsetLeft|values|offsetParent|opera|clearInterval|trim|split|build|emptyGIF|offsetTop||firstNum|directions|fxe|delta||constructor|images|ol|getPadding|textarea|form|dl|button|ul|table|iframe|getClient|wrapper|getPositionLite|aqua|azure|getPosition|beige|appendC!
hild|listStyle|fxWrapper|id|msie|cssFloat|getSizeLite|select|div|clien
tX|colgroup|col|tfoot|thead|th|fixPNG|script|vertically|header|horizontally|filter|progid|tr|AlphaImageLoader|prototype|Array|td|tbody|DXImageTransform|Microsoft|caption|frame|centerEl|random|w_|float|pageY|pageX|createElement|getBorder|input|br|clientY|buildWrapper|meta|optgroup|option|frameset|purgeEvents|destroyWrapper|removeChild|220|nextSibling|hr|outlineColor|borderBottomColor|borderLeftColor|backgroundColor|textIndent|right|borderRightColor|borderTopColor|Left|animate|Bottom|Right|Top|outlineWidth|outlineOffset|red|silver|purple|203|pink|white|yellow|lineHeight|black|fontSize|bottom|stopAll|cos|100000000|dequeue|cssText|RegExp|selectorText|toUpperCase|array|Resizable|ResizableDestroy|get|String|Object|rules|borderStyle|dotted|dashed|transparent|isNaN|PI|solid|double|outset|inset||ridge|groove|orange|letterSpacing|olive|204|darkorchid|darkorange|85|darkred|darksalmon|darkviolet|148|122|150|233|darkolivegreen|darkmagenta|darkblue|darkcyan|cyan|brown|blue|darkgrey|darkgr!
een|183|189|darkkhaki|100|fuchsia|153|lightgreen|238|193|216|173|lightgrey|lightpink|lightyellow|182|lime|gold|magenta|lightcyan|maroon|lightblue|indigo|navy|130|215|green|khaki'.split('|'),0,{}));
Added: trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js (rev 0)
+++ trunk/examples/wiki/view/themes/inrelationto/js/lacewiki.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -0,0 +1,110 @@
+/* Cachable global scripts */
+
+// ###################### Log #################################
+
+function log(message) {
+ return; // Remove to enable logging
+ if (!log.window_ || log.window_.closed) {
+ var win = window.open("", null, "width=400,height=200," +
+ "scrollbars=yes,resizable=yes,status=no," +
+ "location=no,menubar=no,toolbar=no");
+ if (!win) return;
+ var doc = win.document;
+ doc.write("<html><head><title>Debug Log</title></head><body style='font-family: monospace'></body></html>");
+ doc.close();
+ log.window_ = win;
+ }
+ var logLine = log.window_.document.createElement("div");
+ logLine.appendChild(log.window_.document.createTextNode(message));
+ log.window_.document.body.appendChild(logLine);
+}
+
+// ###################### Seam Remoting #################################
+
+Seam.Remoting.displayLoadingMessage = function() {};
+Seam.Remoting.hideLoadingMessage = function() {};
+
+// ###################### jQuery Integration #################################
+
+jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
+
+function jsf(id) {
+ // Find the dynamic JSF client identifier by looking up
+ // the static identifier of its j4j proxy child element
+ if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
+ var realId = document.getElementById(id).title;
+ var element = document.getElementById(realId);
+ return jQuery(element);
+}
+
+// ###################### Form helpers #################################
+
+function onAjaxRequestComplete() {
+ resetSessionTimeoutCheck();
+ wrapBoxes();
+}
+
+function selectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).attr("checked", "true");
+}
+function deselectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).removeAttr("checked");
+}
+
+function clickClear(thisfield, defaulttext) {
+ if (thisfield.value == defaulttext) {
+ thisfield.value = "";
+ }
+}
+function clickRecall(thisfield, defaulttext) {
+ if (thisfield.value == '') {
+ thisfield.value = defaulttext;
+ }
+}
+
+function trimString(s) {
+ return s.replace(/(^\s+|\s+$)/g, "");
+}
+
+function stringEndsWith(s, suffix) {
+ return s.substring(s.length - suffix.length) == suffix;
+}
+
+function formatText(textArea, formatString) {
+ var inlinePlaceholder = "{i}";
+ var blockPlaceholder = "{b}";
+ var inline = formatString.indexOf(inlinePlaceholder) != -1;
+ var block = formatString.indexOf(blockPlaceholder) != -1;
+ if (!(inline || block)) return;
+ var prefix = formatString.substring(0, formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder));
+ var suffix = formatString.substring(formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder)+3, formatString.length);
+ if (block) {
+ prefix = "\n" + prefix;
+ suffix = suffix + "\n";
+ }
+
+ if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
+ var caretPos = textArea.caretPos;
+ caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? prefix + caretPos.text + suffix + ' ' : prefix + caretPos.text + suffix;
+ caretPos.select();
+ } else if (typeof(textArea.selectionStart) != "undefined") {
+ var begin = textArea.value.substr(0, textArea.selectionStart);
+ var selection = textArea.value.substr(textArea.selectionStart, textArea.selectionEnd - textArea.selectionStart);
+ var end = textArea.value.substr(textArea.selectionEnd);
+ var newCursorPos = textArea.selectionStart;
+ var scrollPos = textArea.scrollTop;
+ textArea.value = begin + prefix + selection + suffix + end;
+ if (textArea.setSelectionRange) {
+ if (selection.length == 0)
+ textArea.setSelectionRange(newCursorPos + prefix.length, newCursorPos + prefix.length);
+ else
+ textArea.setSelectionRange(newCursorPos, newCursorPos + prefix.length + selection.length + suffix.length);
+ textArea.focus();
+ }
+ textArea.scrollTop = scrollPos;
+ } else {
+ textArea.value += prefix + suffix;
+ textArea.focus(textArea.value.length - 1);
+ }
+}
+
Modified: trunk/examples/wiki/view/themes/inrelationto/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/inrelationto/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
@@ -14,42 +14,17 @@
<ui:insert name="screenname"/>
</title>
<link href="#{themePath}/css/inrelationto.css" rel="stylesheet" type="text/css"/>
- <link href="#{themePath}/css/searchControl.css" rel="stylesheet" type="text/css"/>
- <link href="#{themePath}/css/userControl.css" rel="stylesheet" type="text/css"/>
- <link href="#{themePath}/css/mainMenu.css" rel="stylesheet" type="text/css"/>
+
<ui:insert name="includeHeaders"/>
- <script type="text/javascript" src="#{themePath}/js/jquery.js"></script>
- <script type="text/javascript" src="#{themePath}/js/interface.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqModal.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqTabs.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqHistoryRemote.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqProgressBar.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqDimensions.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqContextMenu.js"></script>
<script type="text/javascript" src="#{basePath}/seam/resource/remoting/resource/remote.js"></script>
<script type="text/javascript" src="#{basePath}/seam/resource/remoting/interface.js?httpSessionChecker"></script>
+ <script type="text/javascript" src="#{themePath}/js/jquery.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqueryPlugins.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/lacewiki.js"></script>
<script type="text/javascript">
- // ###################### Seam Remoting #################################
-
- Seam.Remoting.displayLoadingMessage = function() {};
- Seam.Remoting.hideLoadingMessage = function() {};
-
- // ###################### jQuery Integration #################################
-
- jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
-
- function jsf(id) {
- // Find the dynamic JSF client identifier by looking up
- // the static identifier of its j4j proxy child element
- if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
- var realId = document.getElementById(id).title;
- var element = document.getElementById(realId);
- return jQuery(element);
- }
-
// ###################### Session timeout alert #################################
var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
@@ -84,77 +59,6 @@
}
}
- // ###################### Form helpers #################################
-
- function onAjaxRequestComplete() {
- resetSessionTimeoutCheck();
- wrapBoxes();
- }
-
- function selectCheckBoxes(styleClass) {
- jQuery("."+styleClass).attr("checked", "true");
- }
- function deselectCheckBoxes(styleClass) {
- jQuery("."+styleClass).removeAttr("checked");
- }
-
- function clickClear(thisfield, defaulttext) {
- if (thisfield.value == defaulttext) {
- thisfield.value = "";
- }
- }
- function clickRecall(thisfield, defaulttext) {
- if (thisfield.value == '') {
- thisfield.value = defaulttext;
- }
- }
-
- function trimString(s) {
- return s.replace(/(^\s+|\s+$)/g, "");
- }
-
- function stringEndsWith(s, suffix) {
- return s.substring(s.length - suffix.length) == suffix;
- }
-
- function formatText(textArea, formatString) {
- var inlinePlaceholder = "{i}";
- var blockPlaceholder = "{b}";
- var inline = formatString.indexOf(inlinePlaceholder) != -1;
- var block = formatString.indexOf(blockPlaceholder) != -1;
- if (!(inline || block)) return;
- var prefix = formatString.substring(0, formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder));
- var suffix = formatString.substring(formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder)+3, formatString.length);
- if (block) {
- prefix = "\n" + prefix;
- suffix = suffix + "\n";
- }
-
- if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
- var caretPos = textArea.caretPos;
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? prefix + caretPos.text + suffix + ' ' : prefix + caretPos.text + suffix;
- caretPos.select();
- } else if (typeof(textArea.selectionStart) != "undefined") {
- var begin = textArea.value.substr(0, textArea.selectionStart);
- var selection = textArea.value.substr(textArea.selectionStart, textArea.selectionEnd - textArea.selectionStart);
- var end = textArea.value.substr(textArea.selectionEnd);
- var newCursorPos = textArea.selectionStart;
- var scrollPos = textArea.scrollTop;
- textArea.value = begin + prefix + selection + suffix + end;
- if (textArea.setSelectionRange) {
- if (selection.length == 0)
- textArea.setSelectionRange(newCursorPos + prefix.length, newCursorPos + prefix.length);
- else
- textArea.setSelectionRange(newCursorPos, newCursorPos + prefix.length + selection.length + suffix.length);
- textArea.focus();
- }
- textArea.scrollTop = scrollPos;
- } else {
- textArea.value += prefix + suffix;
- textArea.focus(textArea.value.length - 1);
- }
- }
-
// ###################### Popups #################################
function deleteConfirmation(message, deleteFunction) {
Deleted: trunk/examples/wiki/view/themes/sfwkorg/css/mainMenu.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/mainMenu.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/mainMenu.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,104 +0,0 @@
-#mainMenu {
- width: 260px;
- background-color: #433930;
- border-top: 8px solid rgb(31, 32, 26);
- border-bottom: 8px solid rgb(31, 32, 26);
-}
-
-#mainMenu .mainMenuHeader {
- border-bottom: 1px solid #433930;
-}
-
-#mainMenu .level1 {
-}
-
-#mainMenu .level1Body {
- padding-top: 3px;
- padding-bottom: 3px;
- background-color:#32332b;
-}
-
-#mainMenu .level1Marker {
- display: none;
-}
-
-#mainMenu .level1Link {
- color:#ca884e;
- margin-left: 10px;
- font-size: 110%;
-}
-
-#mainMenu .level1Link:hover { color: #ffaf64; }
-
-#mainMenu .level1Children {
- background-color:#2A2B24;
- border-bottom: 1px solid #433930;
-}
-
-#mainMenu .level2 {
- padding-left: 10px;
- background-color:#2A2B24;
- padding-top: 3px;
- padding-bottom: 3px;
-}
-
-#mainMenu .level2Marker {
- color: #ca884e;
- margin-right: 4px;
- font-size: 85%;
-}
-
-#mainMenu .level2Link {
- color: #ca884e;
- white-space: nowrap;
- font-size: 85%;
-}
-
-#mainMenu .level2Link:hover {color: #ffaf64}
-
-#mainMenu .level2Children {
- background-color: #2A2B24;
-}
-
-#mainMenu .level3 {
- padding-top: 2px;
- padding-bottom: 2px;
-}
-
-#mainMenu .level3Marker {
- padding-left: 2px;
- padding-right: 2px;
- font-size: 80%;
- color: #ca884e;
-}
-
-#mainMenu .level3Link {
- font-size: 80%;
- color: #ca884e;
- white-space: nowrap;
-}
-
-#mainMenu .level3Link:hover {color: #ffaf64}
-
-#mainMenu .mainMenuFooter {
- background-color:#32332b;
- padding-top: 2px;
- padding-bottom: 2px;
- padding-left: 10px;
- display: none;
-}
-
-#mainMenu .mainMenuFooter .feeds {
-}
-
-#mainMenu .mainMenuFooter .feedIcon {
-}
-
-#mainMenu .mainMenuFooter .feedLink {
-}
-
-#mainMenu .mainMenuFooter .feedText:hover {color: #ffaf64}
-
-#mainMenu .mainMenuFooter .feedText {
- color:#ca884e;
-}
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/sfwkorg/css/searchControl.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/searchControl.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/searchControl.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,37 +0,0 @@
-#searchControl {
-}
-
-#searchControlForm {
- display: inline;
-}
-
-#searchControl .searchControlTable {
-}
-
-#searchControl .searchControlLabel{
- color: #ca884e;
- font-size: 90%;
- padding-left: 5px;
- padding-right: 5px;
-}
-
-#searchControl .searchControlInput {
- background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
- font-size: 90%;
- padding: 1px;
- padding-top: 0;
- margin: 0;
- margin-bottom: 1px;
- border: 0;
-}
-
-#searchControl .searchControlLink{
- font-size: 90%;
- color: #fff;
- padding-left: 5px;
- padding-right: 5px;
- margin-left: 5px;
- margin-right: 5px;
-}
-
-#searchControl .searchControlLink:hover { color: #bbb; }
Modified: trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/sfwk.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1356,3 +1356,217 @@
}
.userInfoEntryLink:hover {color: #666}
+
+
+/* User Control
+----------------------------------------------- */
+
+.userControlPanel {
+ text-align:right;
+ font-size: 90%;
+ margin-right: 10px;
+}
+
+.loginForm {
+ display: inline;
+}
+
+.userControlPanel .label {
+ color: #ca884e;
+ text-decoration: none;
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+.userControlPanel .link {
+ margin-left: 10px;
+ margin-right: 5px;
+}
+
+.userControlPanel .link:hover .linkText {
+ color: #aaa;
+}
+
+.userControlPanel .linkText {
+ color: #fff;
+ text-decoration: none;
+}
+
+.userControlPanel .input {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 100%;
+ padding: 1px;
+ padding-top: 0;
+ margin: 0;
+ margin-bottom: 1px;
+ border: 0;
+}
+
+.resetPasswordForm {
+ display: inline;
+}
+
+.resetPasswordRequestForm {
+ display: inline;
+}
+
+.resetPasswordRequestFormFields {
+}
+
+.resetPasswordRequestFormFields .entry .label {
+ white-space: nowrap;
+}
+
+.resetPasswordRequestFormControls {
+}
+
+
+/* Search Control
+----------------------------------------------- */
+
+#searchControl {
+}
+
+#searchControlForm {
+ display: inline;
+}
+
+#searchControl .searchControlTable {
+}
+
+#searchControl .searchControlLabel{
+ color: #ca884e;
+ font-size: 90%;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+#searchControl .searchControlInput {
+ background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
+ font-size: 90%;
+ padding: 1px;
+ padding-top: 0;
+ margin: 0;
+ margin-bottom: 1px;
+ border: 0;
+}
+
+#searchControl .searchControlLink{
+ font-size: 90%;
+ color: #fff;
+ padding-left: 5px;
+ padding-right: 5px;
+ margin-left: 5px;
+ margin-right: 5px;
+}
+
+#searchControl .searchControlLink:hover { color: #bbb; }
+
+
+/* Main Menu
+----------------------------------------------- */
+
+#mainMenu {
+ width: 260px;
+ background-color: #433930;
+ border-top: 8px solid rgb(31, 32, 26);
+ border-bottom: 8px solid rgb(31, 32, 26);
+}
+
+#mainMenu .mainMenuHeader {
+ border-bottom: 1px solid #433930;
+}
+
+#mainMenu .level1 {
+}
+
+#mainMenu .level1Body {
+ padding-top: 3px;
+ padding-bottom: 3px;
+ background-color:#32332b;
+}
+
+#mainMenu .level1Marker {
+ display: none;
+}
+
+#mainMenu .level1Link {
+ color:#ca884e;
+ margin-left: 10px;
+ font-size: 110%;
+}
+
+#mainMenu .level1Link:hover { color: #ffaf64; }
+
+#mainMenu .level1Children {
+ background-color:#2A2B24;
+ border-bottom: 1px solid #433930;
+}
+
+#mainMenu .level2 {
+ padding-left: 10px;
+ background-color:#2A2B24;
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+#mainMenu .level2Marker {
+ color: #ca884e;
+ margin-right: 4px;
+ font-size: 85%;
+}
+
+#mainMenu .level2Link {
+ color: #ca884e;
+ white-space: nowrap;
+ font-size: 85%;
+}
+
+#mainMenu .level2Link:hover {color: #ffaf64}
+
+#mainMenu .level2Children {
+ background-color: #2A2B24;
+}
+
+#mainMenu .level3 {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+#mainMenu .level3Marker {
+ padding-left: 2px;
+ padding-right: 2px;
+ font-size: 80%;
+ color: #ca884e;
+}
+
+#mainMenu .level3Link {
+ font-size: 80%;
+ color: #ca884e;
+ white-space: nowrap;
+}
+
+#mainMenu .level3Link:hover {color: #ffaf64}
+
+#mainMenu .mainMenuFooter {
+ background-color:#32332b;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ padding-left: 10px;
+ display: none;
+}
+
+#mainMenu .mainMenuFooter .feeds {
+}
+
+#mainMenu .mainMenuFooter .feedIcon {
+}
+
+#mainMenu .mainMenuFooter .feedLink {
+}
+
+#mainMenu .mainMenuFooter .feedText:hover {color: #ffaf64}
+
+#mainMenu .mainMenuFooter .feedText {
+ color:#ca884e;
+}
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/sfwkorg/css/userControl.css
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/css/userControl.css 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/css/userControl.css 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,58 +0,0 @@
-.userControlPanel {
- text-align:right;
- font-size: 90%;
- margin-right: 10px;
-}
-
-.loginForm {
- display: inline;
-}
-
-.userControlPanel .label {
- color: #ca884e;
- text-decoration: none;
- margin-left: 10px;
- margin-right: 5px;
-}
-
-.userControlPanel .link {
- margin-left: 10px;
- margin-right: 5px;
-}
-
-.userControlPanel .link:hover .linkText {
- color: #aaa;
-}
-
-.userControlPanel .linkText {
- color: #fff;
- text-decoration: none;
-}
-
-.userControlPanel .input {
- background: #fff url(../img/input.bg.gif) 0 0 no-repeat;
- font-size: 100%;
- padding: 1px;
- padding-top: 0;
- margin: 0;
- margin-bottom: 1px;
- border: 0;
-}
-
-.resetPasswordForm {
- display: inline;
-}
-
-.resetPasswordRequestForm {
- display: inline;
-}
-
-.resetPasswordRequestFormFields {
-}
-
-.resetPasswordRequestFormFields .entry .label {
- white-space: nowrap;
-}
-
-.resetPasswordRequestFormControls {
-}
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/interface.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/interface.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/interface.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,8 +0,0 @@
-/*
- * Interface elements for jQuery - 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}('4.1h={5m:k(e){d x=0;d y=0;d 27=1g;d L=e.1d;8(4(e).H(\'15\')==\'1b\'){21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';27=1P}d 7=e;2W(7){x+=7.4Q+(7.2a&&!4.3T.4T?G(7.2a.3v)||0:0);y+=7.4Z+(7.2a&&!4.3T.4T?G(7.2a.3z)||0:0);7=7.4S}7=e;2W(7&&7.3m&&7.3m.3s()!=\'16\'){x-=7.2c||0;y-=7.1S||0;7=7.34}8(27){L.15=\'1b\';L.I=33;L.1t=21}u{x:x,y:y}},5j:k(7){d x=0,y=0;2W(7){x+=7.4Q||0;y+=7.4Z||0;7=7.4S}u{x:x,y:y}},3C:k(e){d w=4.H(e,\'C\');d h=4.H(e,\'B\');d 1F=0;d 1K=0;d L=e.1d;8(4(e).H(\'15\')!=\'1b\'){1F=e.3X;1K=e.3N}J{21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';1F=e.3X;1K=e.3N;L.15=\'1b\';L.I=33;L.1t=21}u{w:w,h:h,1F:1F,1K:1K}},5u:k(7){u{1F:7.3X||0,1K:7.3N||0!
}},5h:k(e){d h,w,2p;8(e){w=e.2v;h=e.2I}J{2p=K.1k;w=3E.3I||35.3I||(2p&&2p.2v)||K.16.2v;h=3E.40||35.40||(2p&&2p.2I)||K.16.2I}u{w:w,h:h}},4t:k(e){d t,l,w,h,2i,2b;8(e&&e.38.3s()!=\'16\'){t=e.1S;l=e.2c;w=e.3Y;h=e.3D;2i=0;2b=0}J{8(K.1k&&K.1k.1S){t=K.1k.1S;l=K.1k.2c;w=K.1k.3Y;h=K.1k.3D}J 8(K.16){t=K.16.1S;l=K.16.2c;w=K.16.3Y;h=K.16.3D}2i=35.3I||K.1k.2v||K.16.2v||0;2b=35.40||K.1k.2I||K.16.2I||0}u{t:t,l:l,w:w,h:h,2i:2i,2b:2b}},4e:k(e,28){d 7=4(e);d t=7.H(\'2H\')||\'\';d r=7.H(\'2C\')||\'\';d b=7.H(\'2O\')||\'\';d l=7.H(\'2B\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},59:k(e,28){d 7=4(e);d t=7.H(\'48\')||\'\';d r=7.H(\'44\')||\'\';d b=7.H(\'43\')||\'\';d l=7.H(\'49\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},61:k(e,28){d 7=4(e);d t=7.H(\'3z\')||\'\';d r=7.H(\'4k\')||\'\';d b=7.H(\'4m\')||\'\';d l=7.H(\'3v\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)||0};J u{t:t,r:r,b:b,l:l}},2y:k(2F){d x=2F.5Z||(2F.5x+(K.1k.2c||K!
.16.2c))||0;d y=2F.5Y||(2F.64+(K.1k.1S||K.16.1S))||0;u{x:x,y:y}},3V:k(
1n,3R){3R(1n);1n=1n.4g;2W(1n){4.1h.3V(1n,3R);1n=1n.6e}},6a:k(1n){4.1h.3V(1n,k(7){Z(d 1I 1u 7){8(1m 7[1I]===\'k\'){7[1I]=W}}})},5U:k(7,2S){d 1y=$.1h.4t();d 3x=$.1h.3C(7);8(!2S||2S==\'5F\')$(7).H({E:1y.t+((14.1M(1y.h,1y.2b)-1y.t-3x.1K)/2)+\'V\'});8(!2S||2S==\'5H\')$(7).H({F:1y.l+((14.1M(1y.w,1y.2i)-1y.l-3x.1F)/2)+\'V\'})},5D:k(7,4Y){d 57=$(\'4j[@36*="3r"]\',7||K),3r;57.2h(k(){3r=A.36;A.36=4Y;A.1d.5I="5J:5Q.5R.5L(36=\'"+3r+"\')"})}};[].46||(5N.5M.46=k(v,n){n=(n==W)?0:n;d m=A.1x;Z(d i=n;i<m;i++)8(A[i]==v)u i;u-1});4.4f=k(e){8(/^5K$|^5O$|^5P$|^5S$|^5B$|^5A$|^5z$|^5y$|^5C$|^16$|^5G$|^5E$|^5T$|^69$|^68$|^67$|^66$/i.2Z(e.38))u 1g;J u 1P};4.P.6b=k(e,1B){d c=e.4g;d 1z=c.1d;1z.I=1B.I;1z.2H=1B.1q.t;1z.2B=1B.1q.l;1z.2O=1B.1q.b;1z.2C=1B.1q.r;1z.E=1B.E+\'V\';1z.F=1B.F+\'V\';e.34.4c(c,e);e.34.6c(e)};4.P.65=k(e){8(!4.4f(e))u 1g;d t=4(e);d L=e.1d;d 27=1g;d U={};U.I=t.H(\'I\');8(t.H(\'15\')==\'1b\'){21=t.H(\'1t\');L.1t=\'2j\';L.15=\'\';27=1P}U.X=4.1h.3C(e);U.1q=4.1h.4e(e);d 3L=e.2a?e.2a.45:t.H!
(\'5X\');U.E=G(t.H(\'E\'))||0;U.F=G(t.H(\'F\'))||0;d 4l=\'5W\'+G(14.5V()*4z);d 1R=K.60(/^4j$|^63$|^62$|^6f$|^5v$|^5a$|^3Z$|^5g$|^5d$|^5b$|^5f$|^5e$|^5c$|^58$/i.2Z(e.38)?\'5w\':e.38);4.1I(1R,\'5r\',4l);1R.4L=\'5q\';d 12=1R.1d;d E=0;d F=0;8(U.I==\'2K\'||U.I==\'2t\'){E=U.E;F=U.F}12.15=\'1b\';12.E=E+\'V\';12.F=F+\'V\';12.I=U.I!=\'2K\'&&U.I!=\'2t\'?\'2K\':U.I;12.2U=\'2j\';12.B=U.X.1K+\'V\';12.C=U.X.1F+\'V\';12.2H=U.1q.t;12.2C=U.1q.r;12.2O=U.1q.b;12.2B=U.1q.l;8(4.3T.5s){12.45=3L}J{12.5t=3L}e.34.4c(1R,e);L.2H=\'2f\';L.2C=\'2f\';L.2O=\'2f\';L.2B=\'2f\';L.I=\'2t\';L.5p=\'1b\';L.E=\'2f\';L.F=\'2f\';8(27){L.15=\'1b\';L.1t=21}1R.5o(e);12.15=\'2w\';u{U:U,5i:4(1R)}};4.P.2z={5k:[0,M,M],5l:[4n,M,M],5n:[4q,4q,6d],6D:[0,0,0],7s:[0,0,M],7r:[4h,42,42],7q:[0,M,M],7o:[0,0,2l],7p:[0,2l,2l],7t:[3U,3U,3U],7u:[0,7y,0],7x:[7w,7v,4i],7n:[2l,0,2l],7m:[7e,4i,47],7d:[M,4o,0],7c:[7A,50,7b],7f:[2l,0,0],7g:[7l,7k,7j],7h:[7i,0,3n],7z:[M,0,M],7L:[M,7T,0],7U:[0,1N,0],7Q:[75,0,7S],7V:[4n,4a,4o],7P:[7F,7E,4a],7N!
:[4b,M,M],7B:[4d,7C,4d],7G:[3n,3n,3n],7H:[M,7J,7D],7I:[M,M,4b],7K:[0,M
,0],7M:[M,0,M],7O:[1N,0,0],7R:[0,0,1N],7a:[1N,1N,0],78:[M,4h,0],6z:[M,30,6y],6x:[1N,0,1N],6v:[M,0,0],6w:[30,30,30],6A:[M,M,M],6B:[M,M,0]};4.P.1V=k(1o,4p){8(4.P.2z[1o])u{r:4.P.2z[1o][0],g:4.P.2z[1o][1],b:4.P.2z[1o][2]};J 8(Y=/^23\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.3i(1o))u{r:G(Y[1]),g:G(Y[2]),b:G(Y[3])};J 8(Y=/23\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.3i(1o))u{r:1i(Y[1])*2.55,g:1i(Y[2])*2.55,b:1i(Y[3])*2.55};J 8(Y=/^#([a-20-24-9])([a-20-24-9])([a-20-24-9])$/.3i(1o))u{r:G("2e"+Y[1]+Y[1]),g:G("2e"+Y[2]+Y[2]),b:G("2e"+Y[3]+Y[3])};J 8(Y=/^#([a-20-24-9]{2})([a-20-24-9]{2})([a-20-24-9]{2})$/.3i(1o))u{r:G("2e"+Y[1]),g:G("2e"+Y[2]),b:G("2e"+Y[3])};J u 4p==1P?1g:{r:M,g:M,b:M}};4.P.4O={4m:1,3v:1,4k:1,3z:1,6F:1,6E:1,B:1,F:1,79:1,6C:1,2O:1,2B:1,2C:1,2H:1,2u:1,3p:1,2M:1,3o:1,1D:1,6u:1,6t:1,43:1,49:1,44:1,48:1,6l:1,6k:1,E:1,C:1,3k:1};4.P.4B={6j:1,6h:1,6i:1,6m:1,6n:1,1o:1,6g:1};4.P.2A=[\!
'6s\',\'6r\',\'6q\',\'6o\'];4.P.3w={\'3y\':[\'2L\',\'4w\'],\'3t\':[\'2L\',\'3B\'],\'3h\':[\'3h\',\'\'],\'3q\':[\'3q\',\'\']};4.4P.2R({6p:k(1C,2k,11,3a){u A.2G(k(){d 3u=4.2k(2k,11,3a);d e=2N 4.53(A,3u,1C)})},3A:k(2k,3a){u A.2G(k(){d 3u=4.2k(2k,3a);d e=2N 4.3A(A,3u)})},3d:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l)})},6G:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l);8(A.2G&&A.2G[\'P\'])A.2G.P=[]})}});4.2R({3A:k(N,D){d z=A,4R;z.1l=k(){8(4.4y(D.32))D.32.1H(N)};z.2x=4C(k(){z.1l()},D.1J);N.1G=z},11:{4N:k(p,n,51,54,1J){u((-14.6H(p*14.70)/2)+0.5)*54+51}},53:k(N,D,1C){d z=A,4R;d y=N.1d;d 4G=4.H(N,"2U");d 2g=4.H(N,"15");d O={};z.3j=(2N 4F()).4r();D.11=D.11&&4.11[D.11]?D.11:\'4N\';z.2T=k(S,1a){8(4.P.4O[S]){8(1a==\'2X\'||1a==\'2V\'||1a==\'4A\'){8(!N.1T)N.1T={};d r=1i(4.1Y(N,S));N.1T[S]=r&&r>-4z?r:(1i(4.H(N,S))||0);1a=1a==\'4A\'?(2g==\'1b\'?\'2X\':\'2V\'):1a;D[1a]=1P;O[S]=1a==\'2X\'?[0,N.1T[S]]:[N.1T[S],0];8(S!=\'1D\')y[S]=O[S][0]+(S!=\'3k\'&&S!=\'3H\'?\'V\':\'\');J 4.1I(y,"1D",O[S][0])}J{O[S]=[1i(4.1Y(N,S!
)),1i(1a)||0]}}J 8(4.P.4B[S])O[S]=[4.P.1V(4.1Y(N,S)),4.P.1V(1a)];J 8(/
^3h$|3q$|2L$|3t$|3y$/i.2Z(S)){d m=1a.1Q(/\\s+/g,\' \').1Q(/23\\s*\\(\\s*/g,\'23(\').1Q(/\\s*,\\s*/g,\',\').1Q(/\\s*\\)/g,\')\').4x(/([^\\s]+)/g);2n(S){R\'3h\':R\'3q\':R\'3y\':R\'3t\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];Z(d i=0;i<4.P.2A.1x;i++){d 1A=4.P.3w[S][0]+4.P.2A[i]+4.P.3w[S][1];O[1A]=S==\'3t\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),1i(m[i])]}19;R\'2L\':Z(d i=0;i<m.1x;i++){d 3M=1i(m[i]);d 2Y=!6Z(3M)?\'4w\':(!/6Y|1b|2j|6W|6X|71|72|77|76|74|73/i.2Z(m[i])?\'3B\':1g);8(2Y){Z(d j=0;j<4.P.2A.1x;j++){1A=\'2L\'+4.P.2A[j]+2Y;O[1A]=2Y==\'3B\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),3M]}}J{y[\'6V\']=m[i]}}19}}J{y[S]=1a}u 1g};Z(p 1u 1C){8(p==\'1d\'){d 1w=4.3J(1C[p]);Z(2s 1u 1w){A.2T(2s,1w[2s])}}J 8(p==\'4L\'){8(K.31)Z(d i=0;i<K.31.1x;i++){d 2m=K.31[i].2m||K.31[i].6U||W;8(2m){Z(d j=0;j<2m.1x;j++){8(2m[j].6M==\'.\'+1C[p]){d 26=2N 6L(\'\\.\'+1C[p]+\' {\');d 1E=2m[j].1d.6K;d 1w=4.3J(1E.1Q(26,\'\').1Q(/}/g,\'\'));Z(2s 1u 1w){A.2T(2s,1w[2s])}}}}}}J{!
A.2T(p,1C[p])}}y.15=2g==\'1b\'?\'2w\':2g;y.2U=\'2j\';z.1l=k(){d t=(2N 4F()).4r();8(t>D.1J+z.3j){4U(z.2x);z.2x=W;Z(p 1u O){8(p=="1D")4.1I(y,"1D",O[p][1]);J 8(1m O[p][1]==\'3Z\')y[p]=\'23(\'+O[p][1].r+\',\'+O[p][1].g+\',\'+O[p][1].b+\')\';J y[p]=O[p][1]+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}8(D.2V||D.2X)Z(d p 1u N.1T)8(p=="1D")4.1I(y,p,N.1T[p]);J y[p]="";y.15=D.2V?\'1b\':(2g!=\'1b\'?2g:\'2w\');y.2U=4G;N.1G=W;8(4.4y(D.32))D.32.1H(N)}J{d n=t-A.3j;d 2J=n/D.1J;Z(p 1u O){8(1m O[p][1]==\'3Z\'){y[p]=\'23(\'+G(4.11[D.11](2J,n,O[p][0].r,(O[p][1].r-O[p][0].r),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].g,(O[p][1].g-O[p][0].g),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].b,(O[p][1].b-O[p][0].b),D.1J))+\')\'}J{d 3Q=4.11[D.11](2J,n,O[p][0],(O[p][1]-O[p][0]),D.1J);8(p=="1D")4.1I(y,"1D",3Q);J y[p]=3Q+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}}}};z.2x=4C(k(){z.1l()},13);N.1G=z},3F:k(N,1l){8(1l)N.1G.3j-=6I;J{3E.4U(N.1G.2x);N.1G=W;4.6J(N,"P")}}});4.3J=k(1E){d 1w={};8(1m 1E==\'3W\'){1E=1E.3s().4W(\';\');Z(d i=0;i<1E.!
1x;i++){26=1E[i].4W(\':\');8(26.1x==2){1w[4.4V(26[0].1Q(/\\-(\\w)/g,k(
m,c){u c.6N()}))]=4.4V(26[1])}}}u 1w};4.6={o:W,17:W,T:W,1c:W,X:W,I:W,2d:k(e){4.6.T=(A.37)?A.37:A;4.6.1c=4.1h.2y(e);4.6.X={C:G(4(4.6.T).H(\'C\'))||0,B:G(4(4.6.T).H(\'B\'))||0};4.6.I={E:G(4(4.6.T).H(\'E\'))||0,F:G(4(4.6.T).H(\'F\'))||0};4(K).1L(\'3f\',4.6.3G).1L(\'3e\',4.6.3P);8(1m 4.6.T.f.4H===\'k\'){4.6.T.f.4H.1H(4.6.T)}u 1g},3P:k(e){4(K).1X(\'3f\',4.6.3G).1X(\'3e\',4.6.3P);8(1m 4.6.T.f.4E===\'k\'){4.6.T.f.4E.1H(4.6.T)}4.6.T=W},3G:k(e){8(!4.6.T){u}1c=4.1h.2y(e);25=4.6.I.E-4.6.1c.y+1c.y;29=4.6.I.F-4.6.1c.x+1c.x;25=14.1M(14.2P(25,4.6.T.f.2E-4.6.X.B),4.6.T.f.2r);29=14.1M(14.2P(29,4.6.T.f.2D-4.6.X.C),4.6.T.f.2o);8(1m 4.6.T.f.4I===\'k\'){d 2Q=4.6.T.f.4I.1H(4.6.T,[29,25]);8(1m 2Q==\'6O\'&&2Q.1x==2){29=2Q[0];25=2Q[1]}}4.6.T.1d.E=25+\'V\';4.6.T.1d.F=29+\'V\';u 1g},41:k(e){4(K).1L(\'3f\',4.6.3K).1L(\'3e\',4.6.3d);4.6.o=A.o;4.6.17=A.17;4.6.1c=4.1h.2y(e);8(4.6.o.f.4J){4.6.o.f.4J.1H(4.6.o,[A])}4.6.X={C:G(4(A.o).H(\'C\'))||0,B:G(4(A.o).H(\'B\'))||0};4.6.I={E:G(4(A.o).H(\'E\'))||0,F:G(4(A!
.o).H(\'F\'))||0};u 1g},3d:k(){4(K).1X(\'3f\',4.6.3K).1X(\'3e\',4.6.3d);8(4.6.o.f.4M){4.6.o.f.4M.1H(4.6.o,[4.6.17])}4.6.o=W;4.6.17=W},1W:k(1v,3b){u 14.2P(14.1M(4.6.X.C+1v*3b,4.6.o.f.3o),4.6.o.f.3p)},1O:k(1s,3b){u 14.2P(14.1M(4.6.X.B+1s*3b,4.6.o.f.2M),4.6.o.f.2u)},4K:k(B){u 14.2P(14.1M(B,4.6.o.f.2M),4.6.o.f.2u)},3K:k(e){8(4.6.o==W){u}1c=4.1h.2y(e);1v=1c.x-4.6.1c.x;1s=1c.y-4.6.1c.y;q={C:4.6.X.C,B:4.6.X.B};Q={E:4.6.I.E,F:4.6.I.F};2n(4.6.17){R\'e\':q.C=4.6.1W(1v,1);19;R\'4s\':q.C=4.6.1W(1v,1);q.B=4.6.1O(1s,1);19;R\'w\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'3g\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;q.B=4.6.1O(1s,1);19;R\'22\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'n\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;19;R\'39\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,1);19;R\'s\':q.B=4.6.1O(1s,1);19}8(4.6.o.f.1f){8(4.6.17==\'n\'||4.6.17==\'s\')1e=q.B*4.6.o.f.1f;J 1e=q.C;1p=4.6.4K(1e*4.6.o.f.1f);1e=1p/4.6.o!
.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}2n(4.6.17){R\'2
2\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.B=1p;q.C=1e}8(Q.E<4.6.o.f.2r){1p=q.B+Q.E-4.6.o.f.2r;Q.E=4.6.o.f.2r;8(4.6.o.f.1f){1e=1p/4.6.o.f.1f;2n(4.6.17){R\'22\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.C=1e}q.B=1p}8(Q.F<4.6.o.f.2o){1e=q.C+Q.F-4.6.o.f.2o;Q.F=4.6.o.f.2o;8(4.6.o.f.1f){1p=1e*4.6.o.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}q.B=1p}q.C=1e}8(Q.E+q.B>4.6.o.f.2E){q.B=4.6.o.f.2E-Q.E;8(4.6.o.f.1f){q.C=q.B/4.6.o.f.1f}}8(Q.F+q.C>4.6.o.f.2D){q.C=4.6.o.f.2D-Q.F;8(4.6.o.f.1f){q.B=q.C*4.6.o.f.1f}}d 1Z=1g;1r=4.6.o.1d;1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';8(4.6.o.f.4D){1Z=4.6.o.f.4D.1H(4.6.o,[q,Q]);8(1Z){8(1Z.X){4.2R(q,1Z.X)}8(1Z.I){4.2R(Q,1Z.I)}}}1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';u 1g},4X:k(D){8(!D||!D.18||D.18.56!=6T){u}u A.2h(k(){d 7=A;7.f=D;7.f.3o=D.3o||10;7.f.2M=D.2M||10;7.f.3p=D.3p||3c;7.f.2u=D.2u||3c;7.f.2r=D.2r||-4v;7.f.2o=D.2o||-4v;7.f.2D=D.2D||3c;7.f.2E=D.2E||3c;3O=4(7).H(\'I\');8(!(3O==\'2K\'||3O==\'2t\')){7.1d.I=\'2K\'}52=/!
n|39|e|4s|s|3g|w|22/g;Z(i 1u 7.f.18){8(i.3s().4x(52)!=W){8(7.f.18[i].56==6S){2q=4(7.f.18[i]);8(2q.3S()>0){7.f.18[i]=2q.6R(0)}}8(7.f.18[i].3m){7.f.18[i].o=7;7.f.18[i].17=i;4(7.f.18[i]).1L(\'1U\',4.6.41)}}}8(7.f.1j){8(1m 7.f.1j===\'3W\'){3l=4(7.f.1j);8(3l.3S()>0){3l.2h(k(){A.37=7});3l.1L(\'1U\',4.6.2d)}}J 8(7.f.1j.3m){7.f.1j.37=7;4(7.f.1j).1L(\'1U\',4.6.2d)}J 8(7.f.1j==1P){4(A).1L(\'1U\',4.6.2d)}}})},4u:k(){u A.2h(k(){d 7=A;Z(i 1u 7.f.18){7.f.18[i].o=W;7.f.18[i].17=W;4(7.f.18[i]).1X(\'1U\',4.6.41)}8(7.f.1j){8(1m 7.f.1j===\'3W\'){2q=4(7.f.1j);8(2q.3S()>0){2q.1X(\'1U\',4.6.2d)}}J 8(7.f.1j==1P){4(A).1X(\'1U\',4.6.2d)}}7.f=W})}};4.4P.2R({6P:4.6.4X,6Q:4.6.4u});',62,492,'||||jQuery||iResize|el|if|||||var||resizeOptions|||||function||||resizeElement||newSizes||||return||||||this|height|width|options|top|left|parseInt|css|position|else|document|es|255|elem|props|fx|newPosition|case|tp|dragged|oldStyle|px|null|sizes|result|for||easing|wrs||Math|display|body|resizeDirection|handlers|br!
eak|vp|none|pointer|style|nWidth|ratio|false|iUtil|parseFloat|dragHand
le|documentElement|step|typeof|nodeEl|color|nHeight|margins|elS|dy|visibility|in|dx|newStyles|length|clientScroll|cs|nmp|old|prop|opacity|styles|wb|animationHandler|apply|attr|duration|hb|bind|max|128|getHeight|true|replace|wr|scrollTop|orig|mousedown|parseColor|getWidth|unbind|curCSS|newDimensions|fA|oldVisibility|nw|rgb|F0|newTop|rule|restoreStyle|toInteger|newLeft|currentStyle|ih|scrollLeft|startDrag|0x|0px|oldDisplay|each|iw|hidden|speed|139|cssRules|switch|minLeft|de|handle|minTop|np|absolute|maxHeight|clientWidth|block|timer|getPointer|namedColors|cssSides|marginLeft|marginRight|maxRight|maxBottom|event|queue|marginTop|clientHeight|pr|relative|border|minHeight|new|marginBottom|min|newPos|extend|axis|getValues|overflow|hide|while|show|sideEnd|test|192|styleSheets|complete|oldPosition|parentNode|self|src|dragEl|nodeName|ne|callback|side|3000|stop|mouseup|mousemove|sw|margin|exec|startTime|zIndex|handleEl|tagName|211|minWidth|maxWidth|padding|png|toLowerCase|borderColor|o!
pt|borderLeftWidth|cssSidesEnd|windowSize|borderWidth|borderTopWidth|pause|Color|getSize|scrollHeight|window|stopAnim|moveDrag|fontWeight|innerWidth|parseStyle|move|oldFloat|floatVal|offsetHeight|elPosition|stopDrag|pValue|func|size|browser|169|traverseDOM|string|offsetWidth|scrollWidth|object|innerHeight|start||paddingBottom|paddingRight|styleFloat|indexOf||paddingTop|paddingLeft|230|224|insertBefore|144|getMargins|fxCheckTag|firstChild|165|107|img|borderRightWidth|wid|borderBottomWidth|240|140|notColor|245|getTime|se|getScroll|destroy|1000|Width|match|isFunction|10000|toggle|colorCssProps|setInterval|onResize|onDragStop|Date|oldOverflow|onDragStart|onDrag|onStart|getHeightMinMax|className|onStop|linear|cssProps|fn|offsetLeft|values|offsetParent|opera|clearInterval|trim|split|build|emptyGIF|offsetTop||firstNum|directions|fxe|delta||constructor|images|ol|getPadding|textarea|form|dl|button|ul|table|iframe|getClient|wrapper|getPositionLite|aqua|azure|getPosition|beige|appendC!
hild|listStyle|fxWrapper|id|msie|cssFloat|getSizeLite|select|div|clien
tX|colgroup|col|tfoot|thead|th|fixPNG|script|vertically|header|horizontally|filter|progid|tr|AlphaImageLoader|prototype|Array|td|tbody|DXImageTransform|Microsoft|caption|frame|centerEl|random|w_|float|pageY|pageX|createElement|getBorder|input|br|clientY|buildWrapper|meta|optgroup|option|frameset|purgeEvents|destroyWrapper|removeChild|220|nextSibling|hr|outlineColor|borderBottomColor|borderLeftColor|backgroundColor|textIndent|right|borderRightColor|borderTopColor|Left|animate|Bottom|Right|Top|outlineWidth|outlineOffset|red|silver|purple|203|pink|white|yellow|lineHeight|black|fontSize|bottom|stopAll|cos|100000000|dequeue|cssText|RegExp|selectorText|toUpperCase|array|Resizable|ResizableDestroy|get|String|Object|rules|borderStyle|dotted|dashed|transparent|isNaN|PI|solid|double|outset|inset||ridge|groove|orange|letterSpacing|olive|204|darkorchid|darkorange|85|darkred|darksalmon|darkviolet|148|122|150|233|darkolivegreen|darkmagenta|darkblue|darkcyan|cyan|brown|blue|darkgrey|darkgr!
een|183|189|darkkhaki|100|fuchsia|153|lightgreen|238|193|216|173|lightgrey|lightpink|lightyellow|182|lime|gold|magenta|lightcyan|maroon|lightblue|indigo|navy|130|215|green|khaki'.split('|'),0,{}))
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/jqContextMenu.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqContextMenu.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqContextMenu.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1 +0,0 @@
-(function($){var menu,shadow,trigger,content,hash,currentTarget;var defaults={menuStyle:{listStyle:'none',padding:'1px',margin:'0px',backgroundColor:'#fff',border:'1px solid #999',width:'100px'},itemStyle:{margin:'0px',color:'#000',display:'block',cursor:'default',padding:'3px',border:'1px solid #fff',backgroundColor:'transparent'},itemHoverStyle:{border:'1px solid #0a246a',backgroundColor:'#b6bdd2'},eventPosX:'pageX',eventPosY:'pageY',shadow:true,onContextMenu:null,onShowMenu:null};$.fn.contextMenu=function(id,options){if(!menu){menu=$('<div id="jqContextMenu"></div>').hide().css({position:'absolute',zIndex:'500'}).appendTo('body').bind('click',function(e){e.stopPropagation()})}if(!shadow){shadow=$('<div></div>').css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499}).appendTo('body').hide()}hash=hash||[];hash.push({id:id,menuStyle:$.extend({},defaults.menuStyle,options.menuStyle||{}),itemStyle:$.extend({},defaults.itemStyle,options.itemStyle||{}),itemHove!
rStyle:$.extend({},defaults.itemHoverStyle,options.itemHoverStyle||{}),bindings:options.bindings||{},shadow:options.shadow||options.shadow===false?options.shadow:defaults.shadow,onContextMenu:options.onContextMenu||defaults.onContextMenu,onShowMenu:options.onShowMenu||defaults.onShowMenu,eventPosX:options.eventPosX||defaults.eventPosX,eventPosY:options.eventPosY||defaults.eventPosY});var index=hash.length-1;$(this).bind('contextmenu',function(e){var bShowContext=(!!hash[index].onContextMenu)?hash[index].onContextMenu(e):true;if(bShowContext)display(index,this,e,options);return false});return this};function display(index,trigger,e,options){var cur=hash[index];content=$('#'+cur.id).find('ul:first').clone(true);content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(function(){$(this).css(cur.itemHoverStyle)},function(){$(this).css(cur.itemStyle)}).find('img').css({verticalAlign:'middle',paddingRight:'2px'});menu.html(content);if(!!cur.onShowMenu)menu=cur.onShowMenu(e,m!
enu);$.each(cur.bindings,function(id,func){$('#'+id,menu).bind('click'
,function(e){hide();func(trigger,currentTarget)})});menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();if(cur.shadow)shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();$(document).one('click',hide)}function hide(){menu.hide();shadow.hide()}$.contextMenu={defaults:function(userDefaults){$.each(userDefaults,function(i,val){if(typeof val=='object'&&defaults[i]){$.extend(defaults[i],val)}else defaults[i]=val})}}})(jQuery);$(function(){$('div.contextMenu').hide()});
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/jqDimensions.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqDimensions.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqDimensions.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,10 +0,0 @@
-/* Copyright (c) 2007 Paul Bakaus (paul.bakaus(a)googlemail.com) and Brandon Aaron (brandon.aaron(a)gmail.com || http://brandonaaron.net)
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- *
- * $LastChangedDate: 2007-07-01 20:19:35 -0500 (Sun, 01 Jul 2007) $
- * $Rev: 2209 $
- *
- * Version: 1.0rc1
- */
-eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(8($){p g=$.19.D,w=$.19.w;$.19.z({D:8(){4(1[0]==h)5 Z.1a||$.I&&7.10.1z||7.q.1z;4(1[0]==7)5 1t.1s(7.q.1H,7.q.13);5 g.1k(1,1h)},w:8(){4(1[0]==h)5 Z.1d||$.I&&7.10.1c||7.q.1c;4(1[0]==7)5 1t.1s(7.q.1B,7.q.11);5 w.1k(1,1h)},1a:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13-f(1,\'k\')-f(1,\'1A\'):1.D()+f(1,\'18\')+f(1,\'1y\')},1d:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11-f(1,\'j\')-f(1,\'1x\'):1.w()+f(1,\'15\')+f(1,\'1u\')},1K:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13:1.D()+f(1,\'k\')+f(1,\'1A\')+f(1,\'18\')+f(1,\'1y\')},1J:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11:1.w()+f(1,\'j\')+f(1,\'1x\')+f(1,\'15\')+f(1,\'1u\')},l:8(a){4(a!=1q)5 1.1!
o(8(){4(1==h||1==7)h.1m(a,$(h).n());o 1.l=a});4(1[0]==h||1[0]==7)5 Z.1G||$.I&&7.10.l||7.q.l;5 1[0].l},n:8(a){4(a!=1q)5 1.1o(8(){4(1==h||1==7)h.1m($(h).l(),a);o 1.n=a});4(1[0]==h||1[0]==7)5 Z.1F||$.I&&7.10.n||7.q.n;5 1[0].n},C:8(c,d){p a=1[0],3=a.S,6=a.R,c=$.z({Q:m,K:m,O:m,t:m},c||{}),x=a.N,y=a.M,v=a.l,u=a.n;4($.i.17||$.i.16){x+=f(a,\'j\');y+=f(a,\'k\')}4(($.i.Y||$.i.X)&&$.r(6,\'C\')!=\'W\'){x-=f(6,\'j\');y-=f(6,\'k\')}4($.i.17){B{4(3!=a&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}4(3==6)1v}H((3=3.S)&&3.s!=\'G\')}4($.i.16&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\')){B{x+=6.N;y+=6.M;x+=f(6,\'j\');y+=f(6,\'k\')}H((6=6.R)&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\'))}p b=e(a,c,x,y,v,u);4(d){$.z(d,b);5 1}o{5 b}},1I:8(b,c){p x=0,y=0,v=0,u=0,9=1[0],3=1[0],6,U,L=$.r(9,\'C\'),A=$.i.17,E=$.i.16,1p=$.i.Y,1n=$.i.X,12=m,14=m,b=$.z({Q:F,K:m,O:m,t:F,1j:m},b||{});4(b.1j)5 1.1i(b,c);4(9.s==\'G\'){x=9.N;y=9.M;4(A){x+=f(9,\'V\')+(f(9,\'j\')*2);y+=f(9,\'T\')+(f(9,\'k\')*2)}o 4(1n){x+=f(9,\'V\');y+=f(9,\'T!
\')}o 4(E&&1l.I){x+=f(9,\'j\');y+=f(9,\'k\')}}o{B{U=$.r(3,\'C\');x+=3.
N;y+=3.M;4(A||E){x+=f(3,\'j\');y+=f(3,\'k\');4(A&&U==\'1g\')12=F;4(E&&U==\'1E\')14=F}6=3.R;4(b.t||A){B{4(b.t){v+=3.l;u+=3.n}4(A&&3!=9&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}3=3.S}H(3!=6)}3=6;4(3.s==\'G\'||3.s==\'1e\'){4((1p||(E&&$.I))&&L!=\'1g\'&&L!=\'1f\'){x+=f(3,\'V\');y+=f(3,\'T\')}4((A&&!12&&L!=\'1f\')||(E&&L==\'W\'&&!14)){x+=f(3,\'j\');y+=f(3,\'k\')}1v}}H(3)}p a=e(9,b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}},1i:8(b,c){p x=0,y=0,v=0,u=0,3=1[0],6,b=$.z({Q:F,K:m,O:m,t:F},b||{});B{x+=3.N;y+=3.M;6=3.R;4(b.t){B{v+=3.l;u+=3.n;3=3.S}H(3!=6)}3=6}H(3&&3.s!=\'G\'&&3.s!=\'1e\');p a=e(1[0],b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}}});p f=8(b,a){5 1D($.r(b.1C?b[0]:b,a))||0};p e=8(b,c,x,y,a,d){4(!c.Q){x-=f(b,\'V\');y-=f(b,\'T\')}4(c.K&&($.i.Y||$.i.X)){x+=f(b,\'j\');y+=f(b,\'k\')}o 4(!c.K&&!($.i.Y||$.i.X)){x-=f(b,\'j\');y-=f(b,\'k\')}4(c.O){x+=f(b,\'15\');y+=f(b,\'18\')}4(c.t){a-=b.l;d-=b.n}5 c.t?{1b:y-d,1r:x-a,n:d,l:a}:{1b:y,1r:x}}})(1l);',62,109,'|this||parent|if|return|op|document|f!
unction|elem||||||||window|browser|borderLeftWidth|borderTopWidth|scrollLeft|false|scrollTop|else|var|body|css|tagName|scroll|st|sl|width|||extend|mo|do|position|height|ie|true|BODY|while|boxModel|visible|border|elemPos|offsetTop|offsetLeft|padding|is|margin|offsetParent|parentNode|marginTop|parPos|marginLeft|static|opera|safari|self|documentElement|offsetWidth|absparent|offsetHeight|relparent|paddingLeft|msie|mozilla|paddingTop|fn|innerHeight|top|clientWidth|innerWidth|HTML|fixed|absolute|arguments|offsetLite|lite|apply|jQuery|scrollTo|oa|each|sf|undefined|left|max|Math|paddingRight|break|overflow|borderRightWidth|paddingBottom|clientHeight|borderBottomWidth|scrollWidth|jquery|parseInt|relative|pageYOffset|pageXOffset|scrollHeight|offset|outerWidth|outerHeight'.split('|'),0,{}))
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/jqHistoryRemote.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqHistoryRemote.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqHistoryRemote.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1 +0,0 @@
-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}('(4($){$.H=1f 4(){3 h=\'19\';3 6=7.2;3 F=U;3 l;b.n=4(){};3 C=4(){$(\'.s-p\').1a()};$(9).Q(h,C);5($.y.1b){3 u,m=q;$(4(){u=$(\'<8 1s="1c: 1d;"></8>\').L(9.M).1e(0);3 8=u.E.9;8.V();8.R();5(6&&6!=\'#\'){8.7.2=6.S(\'#\',\'\')}});b.n=4(2){6=2;3 8=u.E.9;8.V();8.R();8.7.2=2.S(\'#\',\'\')};l=4(){3 8=u.E.9;3 k=8.7.2;5(k!=6){6=k;5(k&&k!=\'#\'){$(\'a[@d$="\'+k+\'"]\').f();7.2=k}g 5(m){7.2=\'\';$(9).A(h)}}m=B}}g 5($.y.1g||$.y.1h){b.n=4(2){6=2};l=4(){5(7.2){5(6!=7.2){6=7.2;$(\'a[@d$="\'+6+\'"]\').f()}}g 5(6){6=\'\';$(9).A(h)}}}g 5($.y.1i){3 c,o,x;$(4(){c=[];c.j=z.j;o=[]});3 r=q,m=q;x=4(2){c.Z(2);o.j=0;r=q};b.n=4(2){6=2;x(6)};l=4(){3 t=z.j-c.j;5(t){r=q;5(t<0){X(3 i=!
0;i<1j.1k(t);i++)o.1m(c.1n())}g{X(3 i=0;i<t;i++)c.Z(o.11())}3 K=c[c.j-1];$(\'a[@d$="\'+K+\'"]\').f();6=7.2}g 5(c[c.j-1]==T&&!r){5(9.N.13(\'#\')>=0){$(\'a[@d$="\'+\'#\'+9.N.14(\'#\')[1]+\'"]\').f()}g 5(m){$(9).A(h)}r=B}m=B}}b.16=4(D){5(W D==\'4\'){$(9).18(h,C).Q(h,D)}5(7.2&&W x==\'T\'){$(\'a.s[@d$="\'+7.2+\'"]\').f()}5(l&&F==U){F=1l(l,1p)}}};$.I.s=4(p,v){v=$.1q({P:\'s-\'},v||{});3 G=$(p).12()&&$(p)||$(\'<J></J>\').L(\'M\');G.15(\'s-p\');O b.17(4(i){3 10=b.d;3 2=\'#\'+v.P+(i+1);b.d=2;$(b).f(4(e){3 w=e.Y;G.1o(10,4(){5(w){$.H.n(2)}})})})};$.I.z=4(){O b.f(4(e){3 w=e.Y;5(w){$.H.n(b.2)}})}})(1r);',62,91,'||hash|var|function|if|_currentHash|location|iframe|document||this|_backStack|href||click|else|RESET_EVENT||length|iframeHash|_observeHistory|initialized|update|_forwardStack|output|false|isFirst|remote|historyDelta|_historyIframe|settings|trueClick|_addHistory|browser|history|trigger|true|_defaultReset|callback|contentWindow|_intervalId|target|ajaxHistory|fn|div|cachedHash|append!
To|body|URL|return|hashPrefix|bind|close|replace|undefined|null|open|t
ypeof|for|clientX|push|remoteURL|shift|size|indexOf|split|addClass|initialize|each|unbind|historyReset|empty|msie|display|none|get|new|mozilla|opera|safari|Math|abs|setInterval|unshift|pop|load|200|extend|jQuery|style'.split('|'),0,{}))
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/jqModal.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqModal.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqModal.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,63 +0,0 @@
-/*
- * jqModal - Minimalist Modaling with jQuery
- *
- * Copyright (c) 2007 Brice Burgess <bhb(a)iceburg.net>, http://www.iceburg.net
- * Licensed under the MIT License:
- * http://www.opensource.org/licenses/mit-license.php
- *
- * $Version: 2007.02.25 +r9
- */
-(function($) {
-$.fn.jqm=function(o){
-var _o = {
-zIndex: 3000,
-overlay: 50,
-overlayClass: 'jqmOverlay',
-closeClass: 'jqmClose',
-trigger: '.jqModal',
-ajax: false,
-target: false,
-modal: false,
-onShow: false,
-onHide: false,
-onLoad: false
-};
-return this.each(function(){if(this._jqm)return; s++; this._jqm=s;
-hash[s]={c:$.extend(_o, o),a:false,w:$(this).addClass('jqmID'+s),s:s};
-if(_o.trigger)$(this).jqmAddTrigger(_o.trigger);
-});}
-
-$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide'); return this;}
-$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow'); return this;}
-$.fn.jqmShow=function(t){return this.each(function(){if(!hash[this._jqm].a)$.jqm.open(this._jqm,t)});}
-$.fn.jqmHide=function(t){return this.each(function(){if(hash[this._jqm].a)$.jqm.close(this._jqm,t)});}
-
-$.jqm = {
-open:function(s,t){var h=hash[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;h.a=true;h.w.css('z-index',z);
- if(c.modal) {if(ma.length == 0)mf('bind');ma.push(s);o.css('cursor','wait');}
- else if(c.overlay > 0)h.w.jqmAddClose(o);
- else o=false;
-
- h.o=(o)?o.addClass(c.overlayClass).appendTo('body'):false;
- if(ie6){$('html,body').css('height','100%');if(o){o=o.css({position:'absolute'})[0];for(var y in {Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'");}}
-
- if(c.ajax) {var r=c.target,u=c.ajax;
- r=(r)?(typeof r == 'string')?$(r,h.w):$(r):h.w; u=(u.substr(0,1) == '@')?$(t).attr(u.substring(1)):u;
- r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));f(h);});}
- else if(cc)h.w.jqmAddClose($(cc,h.w));
-
- (c.onShow)?c.onShow(h):h.w.show();f(h);return false;
-},
-close:function(s){var h=hash[s];h.a=false;
- if(ma.length != 0){ma.pop();if(ma.length == 0)mf('unbind');}
- if(h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove();} return false;
-}};
-var s=0,hash={},ma=[],ie6=$.browser.msie && typeof XMLHttpRequest == 'function',
-i=$('<iframe class="jqm"></iframe>').css({opacity:0}),
-f=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if($('iframe.jqm',h.w).length == 0)h.w.prepend(i);
- h.f=$(':input:visible',h.w)[0]||h.w[0];h.f.focus();},
-mf=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m);},
-m=function(e) {var h=hash[ma[ma.length-1]], r=(!$(e.target).parents('.jqmID'+h.s).length == 0);if(!r)h.f.focus();return r;},
-hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});
- $(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in {jqmShow:1,jqmHide:1})for(var s in this[i])if(hash[this[i][s]])hash[this[i][s]].w[i](this);return false;});}});};
-})(jQuery);
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/jqProgressBar.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqProgressBar.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqProgressBar.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2007 Josh Bush (digitalbush.com)
- *
- * 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.
- */
-
-/*
- * Progress Bar Plugin for jQuery
- * Version: Alpha 2
- * Release: 2007-02-26
- */
-(function($) {
- //Main Method
- $.fn.reportprogress = function(val,maxVal) {
- var max=100;
- if(maxVal)
- max=maxVal;
- return this.each(
- function(){
- var div=jQuery(this);
- var innerdiv=div.find(".progress");
-
- if(innerdiv.length!=1){
- innerdiv=jQuery("<div class='progress'></div>");
- div.append("<div class='text'> </div>");
- jQuery("<span class='text'> </span>").css("width",div.width()).appendTo(innerdiv);
- div.append(innerdiv);
- }
- var width=Math.round(val/max*100);
- innerdiv.css("width",width+"%");
- div.find(".text").html(width+" %");
- }
- );
- };
-})(jQuery);
\ No newline at end of file
Deleted: trunk/examples/wiki/view/themes/sfwkorg/js/jqTabs.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqTabs.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqTabs.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -1 +0,0 @@
-eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(4(z){z.23({9:{2d:0}});z.1z.9=4(y,x){3(K y==\'2E\')x=y;x=z.23({J:(y&&K y==\'1Y\'&&y>0)?--y:0,12:C,H:z.1d?2h:V,R:V,1p:\'2KD;\',21:\'R-2z-\',1A:C,1x:C,1w:C,1v:C,1u:\'34\',2p:C,2o:C,2m:V,2j:C,19:C,16:C,1g:\'9-1H\',N:\'9-29\',1a:\'9-12\',1b:\'9-26\',1t:\'9-1K\',1C:\'9-2B\',22:\'10\'},x||{});z.7.1j=z.7.1j||z.7.Z&&K 2x==\'4\';4 1y(){1X(0,0)}G 5.Y(4(){2 v=5;2 j=z(\'15.\'+x.1g,v);j=j.X()&&j||z(\'>15:6(0)\',v);2 n=z(\'a\',j);3(x.R){2 w={};n.Y(4(){z(5).2l(\'<I>\'+z(5).2l()+\'</I>\');2 a=x.21+(++z.9.2d);2 b=\'#\'+a;w[b]=5.1O;5.1O=b;z(\'<10 W="\'+a+\'" 31="\'+x.1b+\'"></10>\').2g(v)})}2 u=z(\'10.\'+x.1b,v);u=u.X()&&u||z(\'>\'+x.22,v);j.P(\'.\'+x.1g)||j.O(x.1g);u.!
Y(4(){2 a=z(5);a.P(\'.\'+x.1b)||a.O(x.1b)});2 p=z(\'8\',j).2b(z(\'8.\'+x.N,j)[0]);3(p>=0){x.J=p}3(1c.B){n.Y(4(a){3(5.B==1c.B){x.J=a;3((z.7.Z||z.7.2T)&&!x.R){2 b=z(1c.B);2 c=b.17(\'W\');b.17(\'W\',\'\');1n(4(){b.17(\'W\',c)},2O)}1y();G V}})}3(z.7.Z){1y()}u.18(\':6(\'+x.J+\')\').1F().1o().2I(\':6(\'+x.J+\')\').O(x.1t);3(!x.R){z(\'8\',j).1f(x.N).6(x.J).O(x.N)}3(x.2m){2 t=4(e){2 b=z.2C(u.1l(),4(a){2 h,1B=z(a);3(e){3(z.7.1j){a.11.2A(\'20\');a.11.E=\'\';a.1k=C}h=1B.S({\'1q-E\':\'\'}).E()}D{h=1B.E()}G h}).2y(4(c,d){G d-c});3(z.7.1j){u.Y(4(){5.1k=b[0]+\'1Z\';5.11.2w(\'20\',\'5.11.E = 5.1k ? 5.1k : "2v"\')})}D{u.S({\'1q-E\':b[0]+\'1Z\'})}};t();2 r=v.1W;2 l=v.1h;2 q=z(\'#9-1V-1U-X\').1l(0)||z(\'<I W="9-1V-1U-X">M</I>\').S({1T:\'2u\',2t:\'2s\',2r:\'2q\'}).2g(T.1S).1l(0);2 s=q.1h;32(4(){2 b=v.1W;2 a=v.1h;2 c=q.1h;3(a>l||b!=r||c!=s){t((b>r||c<s));r=b;l=a;s=c}},1R)}2 m={},14={},1Q=x.2p||x.1u,1P=x.2o||x.1u;3(x.1x||x.1A){3(x.1x){m[\'E\']=\'1F\';14[\'E\']=\'1K\'}3(x.1A){m[\'L\']=\'1F\';14[\!
'L\']=\'1K\'}}D{3(x.1w){m=x.1w}D{m[\'1q-2n\']=0;1Q=x.H?1R:1}3(x.1v){14
=x.1v}D{14[\'1q-2n\']=0;1P=x.H?1R:1}}2 o=x.2j,19=x.19,16=x.16;n.1s(\'2k\',4(){2 c=z(5).1e(\'8:6(0)\');3(v.1r||c.P(\'.\'+x.N)||c.P(\'.\'+x.1a)){G V}2 a=5.B;3(z.7.Z){z(5).U(\'13\');3(x.H){z.1d.1N(a);1c.B=a.1M(\'#\',\'\')}}D 3(z.7.1L){2 b=z(\'<2i 30="\'+a+\'"><10><2Z 2X="2f" 2W="h" /></10></2i>\').1l(0);b.2f();z(5).U(\'13\');3(x.H){z.1d.1N(a)}}D{3(x.H){1c.B=a.1M(\'#\',\'\')}D{z(5).U(\'13\')}}});n.1s(\'1J\',4(){2 a=z(5).1e(\'8:6(0)\');3(z.7.1L){a.1i({L:0},1,4(){a.S({L:\'\'})})}a.O(x.1a)});3(x.12&&x.12.1I){2e(2 i=0,k=x.12.1I;i<k;i++){n.6(--x.12[i]).U(\'1J\').1o()}};n.1s(\'2c\',4(){2 a=z(5).1e(\'8:6(0)\');a.1f(x.1a);3(z.7.1L){a.1i({L:1},1,4(){a.S({L:\'\'})})}});n.1s(\'13\',4(b){2 g=b.2V;2 e=5,8=z(5).1e(\'8:6(0)\'),F=z(5.B),Q=u.18(\':2U\');3(v.1r||8.P(\'.\'+x.N)||8.P(\'.\'+x.1a)||K o==\'4\'&&o(5,F[0],Q[0])===V){5.2a();G V}v[\'1r\']=2h;3(F.X()){3(z.7.Z&&x.H){2 d=5.B.1M(\'#\',\'\');F.17(\'W\',\'\');1n(4(){F.17(\'W\',d)},0)}4 1G(){3(x.H&&g){z.1d.1N(e.B)}Q.1i(14,1P,4(){z(e).1e(\'8:6(0)!
\').O(x.N).2S().1f(x.N);3(K 19==\'4\'){19(e,F[0],Q[0])}Q.O(x.1t).S({1T:\'\',28:\'\',E:\'\',L:\'\'});F.1f(x.1t).1i(m,1Q,4(){F.S({28:\'\',E:\'\',L:\'\'});3(z.7.Z){Q[0].11.18=\'\';F[0].11.18=\'\'}3(K 16==\'4\'){16(e,F[0],Q[0])}v[\'1r\']=C})})}3(!x.R){1G()}D{2 f=z(5),I=z(\'I\',5)[0],27=I.1E;f.O(x.1C);3(x.1p){I.1E=x.1p}1n(4(){z(e.B).2R(w[e.B],4(){1G();3(x.1p){I.1E=27}f.1f(x.1C)})},0)}}D{2Q(\'2P P 2N 2M 26.\')}2 a=1D.2L||T.1m&&T.1m.25||T.1S.25||0;2 c=1D.2J||T.1m&&T.1m.24||T.1S.24||0;1n(4(){1D.1X(a,c)},0);5.2a();G x.H&&!!g});3(x.R){n.6(x.J).U(\'13\').1o()}3(x.H){z.1d.2Y(4(){n.6(x.J).U(\'13\').1o()})}})};2 A=[\'2k\',\'1J\',\'2c\'];2e(2 i=0;i<A.1I;i++){z.1z[A[i]]=(4(d){G 4(c){G 5.Y(4(){2 b=z(\'15.9-1H\',5);b=b.X()&&b||z(\'>15:6(0)\',5);2 a;3(!c||K c==\'1Y\'){a=z(\'8 a\',b).6((c&&c>0&&c-1||0))}D 3(K c==\'2H\'){a=z(\'8 a[@1O$="#\'+c+\'"]\',b)}a.U(d)})}})(A[i])}z.1z.2G=4(){2 c=[];5.Y(4(){2 a=z(\'15.9-1H\',5);a=a.X()&&a||z(\'>15:6(0)\',5);2 b=z(\'8\',a);c.2F(b.2b(b.18(\'.9-29\')[0])+1)}!
);G c[0]}})(33);',62,191,'||var|if|function|this|eq|browser|li|tabs|||
|||||||||||||||||||||||||hash|null|else|height|toShow|return|bookmarkable|span|initial|typeof|opacity||selectedClass|addClass|is|toHide|remote|css|document|trigger|false|id|size|each|msie|div|style|disabled|click|hideAnim|ul|onShow|attr|filter|onHide|disabledClass|containerClass|location|ajaxHistory|parents|removeClass|navClass|offsetHeight|animate|msie6|minHeight|get|documentElement|setTimeout|end|spinner|min|locked|bind|hideClass|fxSpeed|fxHide|fxShow|fxSlide|unFocus|fn|fxFade|jq|loadingClass|window|innerHTML|show|switchTab|nav|length|disableTab|hide|safari|replace|update|href|hideSpeed|showSpeed|50|body|display|font|watch|offsetWidth|scrollTo|number|px|behaviour|hashPrefix|tabStruct|extend|scrollTop|scrollLeft|container|text|overflow|selected|blur|index|enableTab|remoteCount|for|submit|appendTo|true|form|onClick|triggerTab|html|fxAutoHeight|width|fxHideSpeed|fxShowSpeed|hidden|visibility|absolute|position|block|1px|setExpression|XMLHttpRequest|sort|tab|removeExpression|lo!
ading|map|8230|object|push|activeTab|string|not|pageYOffset|Loading|pageXOffset|such|no|500|There|alert|load|siblings|opera|visible|clientX|value|type|initialize|input|action|class|setInterval|jQuery|normal'.split('|'),0,{}))
\ No newline at end of file
Modified: trunk/examples/wiki/view/themes/sfwkorg/js/jquery.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jquery.js 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jquery.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -6,6 +6,6 @@
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date$
- * $Rev: 2243 $
+ * $Rev:6788 $
*/
-eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})!
},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?!
t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9
.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e!
,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!
!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1
z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i])!
;B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}})!
;6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F
(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G"!
,4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\!
\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1]
;E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(!
" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r!
,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c
,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.!
42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W!
).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}})
;6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I!
(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1!
C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X
(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U=!
"2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.!
15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89
:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f!
.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|te!
xt|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easi
ng|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execS!
cript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Th!
u|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlenco
ded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
\ No newline at end of file
+eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('7(1g 18.6=="I"){18.I=18.I;u 6=q(a,c){7(18==9||!9.3X)v 14 6(a,c);v 9.3X(a,c)};7(1g $!="I")6.1I$=$;u $=6;6.11=6.8r={3X:q(a,c){a=a||P;7(6.16(a))v 14 6(P)[6.11.1G?"1G":"1W"](a);7(1g a=="1s"){u m=/^[^<]*(<(.|\\s)+>)[^>]*$/.1V(a);7(m)a=6.31([m[1]]);B v 14 6(c).1L(a)}v 9.4E(a.15==2b&&a||(a.3C||a.C&&a!=18&&!a.1q&&a[0]!=I&&a[0].1q)&&6.2L(a)||[a])},3C:"1.1.3.1",7W:q(){v 9.C},C:0,1M:q(a){v a==I?6.2L(9):9[a]},1Z:q(a){u b=6(a);b.5q=9;v b},4E:q(a){9.C=0;[].R.O(9,a);v 9},F:q(a,b){v 6.F(9,a,b)},2p:q(a){u b=-1;9.F(q(i){7(9==a)b=i});v b},1b:q(f,d,e){u c=f;7(f.15==33)7(d==I)v 9.C&&6[e||"1b"](9[0],f)||I;B{c={};c[f]=d}v 9.F(q(a){E(u b V c)6.1b(e?9.T:9,b,6.4H(9,c[b],e,a,b))})!
},1f:q(b,a){v 9.1b(b,a,"2z")},2A:q(e){7(1g e=="1s")v 9.2Y().3e(P.66(e));u t="";6.F(e||9,q(){6.F(9.2S,q(){7(9.1q!=8)t+=9.1q!=1?9.5R:6.11.2A([9])})});v t},8b:q(){u a,1S=19;v 9.F(q(){7(!a)a=6.31(1S,9.2O);u b=a[0].3s(K);9.L.2K(b,9);1v(b.1d)b=b.1d;b.4g(9)})},3e:q(){v 9.2F(19,K,1,q(a){9.4g(a)})},5w:q(){v 9.2F(19,K,-1,q(a){9.2K(a,9.1d)})},5t:q(){v 9.2F(19,N,1,q(a){9.L.2K(a,9)})},5s:q(){v 9.2F(19,N,-1,q(a){9.L.2K(a,9.1X)})},2U:q(){v 9.5q||6([])},1L:q(t){u b=6.3k(9,q(a){v 6.1L(t,a)});v 9.1Z(/[^+>] [^+>]/.17(t)||t.J("..")>-1?6.5g(b):b)},7x:q(e){u d=9.1A(9.1L("*"));d.F(q(){9.1I$1a={};E(u a V 9.$1a)9.1I$1a[a]=6.1c({},9.$1a[a])}).3U();u r=9.1Z(6.3k(9,q(a){v a.3s(e!=I?e:K)}));d.F(q(){u b=9.1I$1a;E(u a V b)E(u c V b[a])6.S.1A(9,a,b[a][c],b[a][c].W);9.1I$1a=H});v r},1i:q(t){v 9.1Z(6.16(t)&&6.2s(9,q(b,a){v t.O(b,[a])})||6.2x(t,9))},4Y:q(t){v 9.1Z(t.15==33&&6.2x(t,9,K)||6.2s(9,q(a){v(t.15==2b||t.3C)?6.2w(a,t)<0:a!=t}))},1A:q(t){v 9.1Z(6.1T(9.1M(),t.15==33?6(t).1M():t.C!=I&&(!t.Q||t.Q=="6Z")?!
t:[t]))},37:q(a){v a?6.2x(a,9).C>0:N},6R:q(a){v a==I?(9.C?9[0].2v:H):9
.1b("2v",a)},3F:q(a){v a==I?(9.C?9[0].27:H):9.2Y().3e(a)},2F:q(f,d,g,e){u c=9.C>1,a;v 9.F(q(){7(!a){a=6.31(f,9.2O);7(g<0)a.6E()}u b=9;7(d&&6.Q(9,"1r")&&6.Q(a[0],"2V"))b=9.3R("1z")[0]||9.4g(P.5h("1z"));6.F(a,q(){e.O(b,[c?9.3s(K):9])})})}};6.1c=6.11.1c=q(){u c=19[0],a=1;7(19.C==1){c=9;a=0}u b;1v((b=19[a++])!=H)E(u i V b)c[i]=b[i];v c};6.1c({6n:q(){7(6.1I$)$=6.1I$;v 6},16:q(a){v!!a&&1g a!="1s"&&!a.Q&&a.15!=2b&&/q/i.17(a+"")},40:q(a){v a.4z&&a.2O&&!a.2O.4y},Q:q(b,a){v b.Q&&b.Q.1D()==a.1D()},F:q(a,b,c){7(a.C==I)E(u i V a)b.O(a[i],c||[i,a[i]]);B E(u i=0,4x=a.C;i<4x;i++)7(b.O(a[i],c||[i,a[i]])===N)1F;v a},4H:q(c,b,d,e,a){7(6.16(b))b=b.3D(c,[e]);u f=/z-?2p|5Y-?8p|1e|5U|8i-?1u/i;v b&&b.15==3y&&d=="2z"&&!f.17(a)?b+"4o":b},12:{1A:q(b,c){6.F(c.2R(/\\s+/),q(i,a){7(!6.12.3w(b.12,a))b.12+=(b.12?" ":"")+a})},1E:q(b,c){b.12=c!=I?6.2s(b.12.2R(/\\s+/),q(a){v!6.12.3w(c,a)}).5M(" "):""},3w:q(t,c){v 6.2w(c,(t.12||t).3v().2R(/\\s+/))>-1}},4m:q(e,o,f){E(u i V o){e.T["2N"+i]=e.T[i];e.T[i]=o[i]}f.O(e!
,[]);E(u i V o)e.T[i]=e.T["2N"+i]},1f:q(e,p){7(p=="1u"||p=="29"){u b={},3r,3p,d=["83","81","80","7Y"];6.F(d,q(){b["7V"+9]=0;b["7T"+9+"7S"]=0});6.4m(e,b,q(){7(6(e).37(\':4f\')){3r=e.7Q;3p=e.7O}B{e=6(e.3s(K)).1L(":4b").5v("2B").2U().1f({48:"1y",3i:"7L",U:"2h",7K:"0",7I:"0"}).5o(e.L)[0];u a=6.1f(e.L,"3i")||"3n";7(a=="3n")e.L.T.3i="7G";3r=e.7E;3p=e.7D;7(a=="3n")e.L.T.3i="3n";e.L.3q(e)}});v p=="1u"?3r:3p}v 6.2z(e,p)},2z:q(e,a,d){u g;7(a=="1e"&&6.M.1h){g=6.1b(e.T,"1e");v g==""?"1":g}7(a.3t(/3x/i))a=6.1U;7(!d&&e.T[a])g=e.T[a];B 7(P.3f&&P.3f.3Y){7(a.3t(/3x/i))a="3x";a=a.1o(/([A-Z])/g,"-$1").2H();u b=P.3f.3Y(e,H);7(b)g=b.57(a);B 7(a=="U")g="1P";B 6.4m(e,{U:"2h"},q(){u c=P.3f.3Y(9,"");g=c&&c.57(a)||""})}B 7(e.3S){u f=a.1o(/\\-(\\w)/g,q(m,c){v c.1D()});g=e.3S[a]||e.3S[f]}v g},31:q(a,c){u r=[];c=c||P;6.F(a,q(i,b){7(!b)v;7(b.15==3y)b=b.3v();7(1g b=="1s"){u s=6.2C(b).2H(),1x=c.5h("1x"),1N=[];u a=!s.J("<1H")&&[1,"<2y>","</2y>"]||!s.J("<7g")&&[1,"<52>","</52>"]||(!s.J("<7c")||!s.J("<1z")||!
!s.J("<7a")||!s.J("<78"))&&[1,"<1r>","</1r>"]||!s.J("<2V")&&[2,"<1r><1
z>","</1z></1r>"]||(!s.J("<75")||!s.J("<74"))&&[3,"<1r><1z><2V>","</2V></1z></1r>"]||!s.J("<73")&&[2,"<1r><4W>","</4W></1r>"]||[0,"",""];1x.27=a[1]+b+a[2];1v(a[0]--)1x=1x.1d;7(6.M.1h){7(!s.J("<1r")&&s.J("<1z")<0)1N=1x.1d&&1x.1d.2S;B 7(a[1]=="<1r>"&&s.J("<1z")<0)1N=1x.2S;E(u n=1N.C-1;n>=0;--n)7(6.Q(1N[n],"1z")&&!1N[n].2S.C)1N[n].L.3q(1N[n])}b=6.2L(1x.2S)}7(0===b.C&&(!6.Q(b,"34")&&!6.Q(b,"2y")))v;7(b[0]==I||6.Q(b,"34")||b.71)r.R(b);B r=6.1T(r,b)});v r},1b:q(c,d,a){u e=6.40(c)?{}:6.3H;7(e[d]){7(a!=I)c[e[d]]=a;v c[e[d]]}B 7(a==I&&6.M.1h&&6.Q(c,"34")&&(d=="70"||d=="6Y"))v c.6W(d).5R;B 7(c.4z){7(a!=I)c.6U(d,a);7(6.M.1h&&/4M|2u/.17(d)&&!6.40(c))v c.35(d,2);v c.35(d)}B{7(d=="1e"&&6.M.1h){7(a!=I){c.5U=1;c.1i=(c.1i||"").1o(/4L\\([^)]*\\)/,"")+(39(a).3v()=="6M"?"":"4L(1e="+a*4X+")")}v c.1i?(39(c.1i.3t(/1e=([^)]*)/)[1])/4X).3v():""}d=d.1o(/-([a-z])/6K,q(z,b){v b.1D()});7(a!=I)c[d]=a;v c[d]}},2C:q(t){v t.1o(/^\\s+|\\s+$/g,"")},2L:q(a){u r=[];7(1g a!="6I")E(u i=0,26=a.C;i<26;i++)r.R(a[i])!
;B r=a.51(0);v r},2w:q(b,a){E(u i=0,26=a.C;i<26;i++)7(a[i]==b)v i;v-1},1T:q(a,b){E(u i=0;b[i];i++)a.R(b[i]);v a},5g:q(a){u r=[],3P=6.1k++;E(u i=0,4G=a.C;i<4G;i++)7(3P!=a[i].1k){a[i].1k=3P;r.R(a[i])}v r},1k:0,2s:q(c,b,d){7(1g b=="1s")b=14 45("a","i","v "+b);u a=[];E(u i=0,30=c.C;i<30;i++)7(!d&&b(c[i],i)||d&&!b(c[i],i))a.R(c[i]);v a},3k:q(c,b){7(1g b=="1s")b=14 45("a","v "+b);u d=[];E(u i=0,30=c.C;i<30;i++){u a=b(c[i],i);7(a!==H&&a!=I){7(a.15!=2b)a=[a];d=d.6v(a)}}v d}});14 q(){u b=6u.6t.2H();6.M={4D:(b.3t(/.+(?:6s|6q|6o|6m)[\\/: ]([\\d.]+)/)||[])[1],20:/5l/.17(b),2a:/2a/.17(b),1h:/1h/.17(b)&&!/2a/.17(b),3j:/3j/.17(b)&&!/(6h|5l)/.17(b)};6.6g=!6.M.1h||P.6f=="6c";6.1U=6.M.1h?"1U":"5x",6.3H={"E":"68","67":"12","3x":6.1U,5x:6.1U,1U:6.1U,27:"27",12:"12",2v:"2v",2r:"2r",2B:"2B",65:"63",2T:"2T",62:"5Z"}};6.F({4v:"a.L",4p:"6.4p(a)",8o:"6.22(a,2,\'1X\')",8n:"6.22(a,2,\'4t\')",8k:"6.4q(a.L.1d,a)",8h:"6.4q(a.1d)"},q(i,n){6.11[i]=q(a){u b=6.3k(9,n);7(a&&1g a=="1s")b=6.2x(a,b);v 9.1Z(b)}})!
;6.F({5o:"3e",8g:"5w",2K:"5t",8f:"5s"},q(i,n){6.11[i]=q(){u a=19;v 9.F
(q(){E(u j=0,26=a.C;j<26;j++)6(a[j])[n](9)})}});6.F({5v:q(a){6.1b(9,a,"");9.8d(a)},8c:q(c){6.12.1A(9,c)},88:q(c){6.12.1E(9,c)},87:q(c){6.12[6.12.3w(9,c)?"1E":"1A"](9,c)},1E:q(a){7(!a||6.1i(a,[9]).r.C)9.L.3q(9)},2Y:q(){1v(9.1d)9.3q(9.1d)}},q(i,n){6.11[i]=q(){v 9.F(n,19)}});6.F(["5Q","5P","5O","5N"],q(i,n){6.11[n]=q(a,b){v 9.1i(":"+n+"("+a+")",b)}});6.F(["1u","29"],q(i,n){6.11[n]=q(h){v h==I?(9.C?6.1f(9[0],n):H):9.1f(n,h.15==33?h:h+"4o")}});6.1c({4n:{"":"m[2]==\'*\'||6.Q(a,m[2])","#":"a.35(\'2m\')==m[2]",":":{5P:"i<m[3]-0",5O:"i>m[3]-0",22:"m[3]-0==i",5Q:"m[3]-0==i",2Q:"i==0",2P:"i==r.C-1",5L:"i%2==0",5K:"i%2","2Q-3u":"a.L.3R(\'*\')[0]==a","2P-3u":"6.22(a.L.5J,1,\'4t\')==a","86-3u":"!6.22(a.L.5J,2,\'4t\')",4v:"a.1d",2Y:"!a.1d",5N:"(a.5H||a.85||\'\').J(m[3])>=0",4f:\'"1y"!=a.G&&6.1f(a,"U")!="1P"&&6.1f(a,"48")!="1y"\',1y:\'"1y"==a.G||6.1f(a,"U")=="1P"||6.1f(a,"48")=="1y"\',84:"!a.2r",2r:"a.2r",2B:"a.2B",2T:"a.2T||6.1b(a,\'2T\')",2A:"\'2A\'==a.G",4b:"\'4b\'==a.G",5F:"\'5F\'==a.G"!
,4l:"\'4l\'==a.G",5E:"\'5E\'==a.G",4k:"\'4k\'==a.G",5D:"\'5D\'==a.G",5C:"\'5C\'==a.G",1J:\'"1J"==a.G||6.Q(a,"1J")\',5B:"/5B|2y|82|1J/i.17(a.Q)"},"[":"6.1L(m[2],a).C"},5A:[/^\\[ *(@)([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,14 3o("^([:.#]*)("+(6.2J=6.M.20&&6.M.4D<"3.0.0"?"\\\\w":"(?:[\\\\w\\7Z-\\7X*1I-]|\\\\\\\\.)")+"+)")],2x:q(a,c,b){u d,1K=[];1v(a&&a!=d){d=a;u f=6.1i(a,c,b);a=f.t.1o(/^\\s*,\\s*/,"");1K=b?c=f.r:6.1T(1K,f.r)}v 1K},1L:q(t,l){7(1g t!="1s")v[t];7(l&&!l.1q)l=H;l=l||P;7(!t.J("//")){l=l.4h;t=t.2G(2,t.C)}B 7(!t.J("/")&&!l.2O){l=l.4h;t=t.2G(1,t.C);7(t.J("/")>=1)t=t.2G(t.J("/"),t.C)}u b=[l],2j=[],2P;1v(t&&2P!=t){u r=[];2P=t;t=6.2C(t).1o(/^\\/\\//,"");u k=N;u g=14 3o("^[/>]\\\\s*("+6.2J+"+)");u m=g.1V(t);7(m){u o=m[1].1D();E(u i=0;b[i];i++)E(u c=b[i].1d;c;c=c.1X)7(c.1q==1&&(o=="*"||c.Q.1D()==o.1D()))r.R(c);b=r;t=t.1o(g,"");7(t.J(" ")==0)7R;k=K}B{g=/^((\\/?\\.\\.)|([>\!
\/+~]))\\s*([a-z]*)/i;7((m=g.1V(t))!=H){r=[];u o=m[4],1k=6.1k++;m=m[1]
;E(u j=0,2e=b.C;j<2e;j++)7(m.J("..")<0){u n=m=="~"||m=="+"?b[j].1X:b[j].1d;E(;n;n=n.1X)7(n.1q==1){7(m=="~"&&n.1k==1k)1F;7(!o||n.Q.1D()==o.1D()){7(m=="~")n.1k=1k;r.R(n)}7(m=="+")1F}}B r.R(b[j].L);b=r;t=6.2C(t.1o(g,""));k=K}}7(t&&!k){7(!t.J(",")){7(l==b[0])b.4e();2j=6.1T(2j,b);r=b=[l];t=" "+t.2G(1,t.C)}B{u h=14 3o("^("+6.2J+"+)(#)("+6.2J+"+)");u m=h.1V(t);7(m){m=[0,m[2],m[3],m[1]]}B{h=14 3o("^([#.]?)("+6.2J+"*)");m=h.1V(t)}m[2]=m[2].1o(/\\\\/g,"");u f=b[b.C-1];7(m[1]=="#"&&f&&f.4d){u p=f.4d(m[2]);7((6.M.1h||6.M.2a)&&p&&1g p.2m=="1s"&&p.2m!=m[2])p=6(\'[@2m="\'+m[2]+\'"]\',f)[0];b=r=p&&(!m[3]||6.Q(p,m[3]))?[p]:[]}B{E(u i=0;b[i];i++){u a=m[1]!=""||m[0]==""?"*":m[2];7(a=="*"&&b[i].Q.2H()=="7P")a="2E";r=6.1T(r,b[i].3R(a))}7(m[1]==".")r=6.4c(r,m[2]);7(m[1]=="#"){u e=[];E(u i=0;r[i];i++)7(r[i].35("2m")==m[2]){e=[r[i]];1F}r=e}b=r}t=t.1o(h,"")}}7(t){u d=6.1i(t,r);b=r=d.r;t=6.2C(d.t)}}7(t)b=[];7(b&&l==b[0])b.4e();2j=6.1T(2j,b);v 2j},4c:q(r,m,a){m=" "+m+" ";u b=[];E(u i=0;r[i];i++){u c=(!
" "+r[i].12+" ").J(m)>=0;7(!a&&c||a&&!c)b.R(r[i])}v b},1i:q(t,r,h){u d;1v(t&&t!=d){d=t;u p=6.5A,m;E(u i=0;p[i];i++){m=p[i].1V(t);7(m){t=t.7N(m[0].C);m[2]=m[2].1o(/\\\\/g,"");1F}}7(!m)1F;7(m[1]==":"&&m[2]=="4Y")r=6.1i(m[3],r,K).r;B 7(m[1]==".")r=6.4c(r,m[2],h);B 7(m[1]=="@"){u g=[],G=m[3];E(u i=0,2e=r.C;i<2e;i++){u a=r[i],z=a[6.3H[m[2]]||m[2]];7(z==H||/4M|2u/.17(m[2]))z=6.1b(a,m[2])||\'\';7((G==""&&!!z||G=="="&&z==m[5]||G=="!="&&z!=m[5]||G=="^="&&z&&!z.J(m[5])||G=="$="&&z.2G(z.C-m[5].C)==m[5]||(G=="*="||G=="~=")&&z.J(m[5])>=0)^h)g.R(a)}r=g}B 7(m[1]==":"&&m[2]=="22-3u"){u e=6.1k++,g=[],17=/(\\d*)n\\+?(\\d*)/.1V(m[3]=="5L"&&"2n"||m[3]=="5K"&&"2n+1"||!/\\D/.17(m[3])&&"n+"+m[3]||m[3]),2Q=(17[1]||1)-0,d=17[2]-0;E(u i=0,2e=r.C;i<2e;i++){u j=r[i],L=j.L;7(e!=L.1k){u c=1;E(u n=L.1d;n;n=n.1X)7(n.1q==1)n.4a=c++;L.1k=e}u b=N;7(2Q==1){7(d==0||j.4a==d)b=K}B 7((j.4a+d)%2Q==0)b=K;7(b^h)g.R(j)}r=g}B{u f=6.4n[m[1]];7(1g f!="1s")f=6.4n[m[1]][m[2]];49("f = q(a,i){v "+f+"}");r=6.2s(r,f,h)}}v{r:r!
,t:t}},4p:q(c){u b=[];u a=c.L;1v(a&&a!=P){b.R(a);a=a.L}v b},22:q(a,e,c
,b){e=e||1;u d=0;E(;a;a=a[c])7(a.1q==1&&++d==e)1F;v a},4q:q(n,a){u r=[];E(;n;n=n.1X){7(n.1q==1&&(!a||n!=a))r.R(n)}v r}});6.S={1A:q(d,e,c,b){7(6.M.1h&&d.3m!=I)d=18;7(!c.1Q)c.1Q=9.1Q++;7(b!=I){u f=c;c=q(){v f.O(9,19)};c.W=b;c.1Q=f.1Q}7(!d.$1a)d.$1a={};7(!d.$1p)d.$1p=q(){u a;7(1g 6=="I"||6.S.47)v a;a=6.S.1p.O(d,19);v a};u g=d.$1a[e];7(!g){g=d.$1a[e]={};7(d.46)d.46(e,d.$1p,N);B d.7M("5r"+e,d.$1p)}g[c.1Q]=c;7(!9.Y[e])9.Y[e]=[];7(6.2w(d,9.Y[e])==-1)9.Y[e].R(d)},1Q:1,Y:{},1E:q(b,c,a){u d=b.$1a,1Y,2p;7(d){7(c&&c.G){a=c.44;c=c.G}7(!c){E(c V d)9.1E(b,c)}B 7(d[c]){7(a)3l d[c][a.1Q];B E(a V b.$1a[c])3l d[c][a];E(1Y V d[c])1F;7(!1Y){7(b.43)b.43(c,b.$1p,N);B b.7J("5r"+c,b.$1p);1Y=H;3l d[c];1v(9.Y[c]&&((2p=6.2w(b,9.Y[c]))>=0))3l 9.Y[c][2p]}}E(1Y V d)1F;7(!1Y)b.$1p=b.$1a=H}},1t:q(c,b,d){b=6.2L(b||[]);7(!d)6.F(9.Y[c]||[],q(){6.S.1t(c,b,9)});B{u a,1Y,11=6.16(d[c]||H);b.5p(9.42({G:c,1O:d}));7(6.16(d.$1p)&&(a=d.$1p.O(d,b))!==N)9.47=K;7(11&&a!==N&&!6.Q(d,\'a\'))d[c]();9.47=N}},1p:q(b){u a;b=6.S.!
42(b||18.S||{});u c=9.$1a&&9.$1a[b.G],1S=[].51.3D(19,1);1S.5p(b);E(u j V c){1S[0].44=c[j];1S[0].W=c[j].W;7(c[j].O(9,1S)===N){b.2d();b.2D();a=N}}7(6.M.1h)b.1O=b.2d=b.2D=b.44=b.W=H;v a},42:q(c){u a=c;c=6.1c({},a);c.2d=q(){7(a.2d)v a.2d();a.7H=N};c.2D=q(){7(a.2D)v a.2D();a.7F=K};7(!c.1O&&c.5n)c.1O=c.5n;7(6.M.20&&c.1O.1q==3)c.1O=a.1O.L;7(!c.41&&c.4j)c.41=c.4j==c.1O?c.7C:c.4j;7(c.5k==H&&c.5j!=H){u e=P.4h,b=P.4y;c.5k=c.5j+(e&&e.5i||b.5i);c.7z=c.7y+(e&&e.5f||b.5f)}7(!c.3h&&(c.5e||c.5d))c.3h=c.5e||c.5d;7(!c.5c&&c.5b)c.5c=c.5b;7(!c.3h&&c.1J)c.3h=(c.1J&1?1:(c.1J&2?3:(c.1J&4?2:0)));v c}};6.11.1c({3g:q(c,a,b){v c=="3z"?9.3Z(c,a,b):9.F(q(){6.S.1A(9,c,b||a,b&&a)})},3Z:q(d,b,c){v 9.F(q(){6.S.1A(9,d,q(a){6(9).3U(a);v(c||b).O(9,19)},c&&b)})},3U:q(a,b){v 9.F(q(){6.S.1E(9,a,b)})},1t:q(a,b){v 9.F(q(){6.S.1t(a,b,9)})},1R:q(){u a=19;v 9.5a(q(e){9.4u=0==9.4u?1:0;e.2d();v a[9.4u].O(9,[e])||N})},7w:q(f,g){q 3W(e){u p=e.41;1v(p&&p!=9)2g{p=p.L}25(e){p=9};7(p==9)v N;v(e.G=="3V"?f:g).O(9,[e])}v 9.3V(3W!
).59(3W)},1G:q(f){7(6.3d)f.O(P,[6]);B 6.2q.R(q(){v f.O(9,[6])});v 9}})
;6.1c({3d:N,2q:[],1G:q(){7(!6.3d){6.3d=K;7(6.2q){6.F(6.2q,q(){9.O(P)});6.2q=H}7(6.M.3j||6.M.2a)P.43("58",6.1G,N);7(!18.7v.C)6(18).1W(q(){6("#3T").1E()})}}});14 q(){6.F(("7u,7t,1W,7s,7r,3z,5a,7q,"+"7p,7o,7n,3V,59,7m,2y,"+"4k,7l,7k,7j,2c").2R(","),q(i,o){6.11[o]=q(f){v f?9.3g(o,f):9.1t(o)}});7(6.M.3j||6.M.2a)P.46("58",6.1G,N);B 7(6.M.1h){P.7i("<7h"+"7f 2m=3T 7e=K "+"2u=//:><\\/3b>");u a=P.4d("3T");7(a)a.7d=q(){7(9.3a!="1n")v;6.1G()};a=H}B 7(6.M.20)6.3N=3m(q(){7(P.3a=="79"||P.3a=="1n"){3M(6.3N);6.3N=H;6.1G()}},10);6.S.1A(18,"1W",6.1G)};7(6.M.1h)6(18).3Z("3z",q(){u a=6.S.Y;E(u b V a){u c=a[b],i=c.C;7(i&&b!=\'3z\')77 c[i-1]&&6.S.1E(c[i-1],b);1v(--i)}});6.11.1c({76:q(c,b,a){9.1W(c,b,a,1)},1W:q(g,d,c,e){7(6.16(g))v 9.3g("1W",g);c=c||q(){};u f="3K";7(d)7(6.16(d)){c=d;d=H}B{d=6.2E(d);f="50"}u h=9;6.2Z({1C:g,G:f,W:d,2t:e,1n:q(a,b){7(b=="28"||!e&&b=="4V")h.1b("27",a.3c).3J().F(c,[a.3c,b,a]);B c.O(h,[a.3c,b,a])}});v 9},72:q(){v 6.2E(9)},3J:q(){v 9.1L("3b").F(q(){7(9.2u)6.4U(9.2u);B 6.3I!
(9.2A||9.5H||9.27||"")}).2U()}});6.F("4T,4I,4S,4R,4Q,4P".2R(","),q(i,o){6.11[o]=q(f){v 9.3g(o,f)}});6.1c({1M:q(e,c,a,d,b){7(6.16(c)){a=c;c=H}v 6.2Z({G:"3K",1C:e,W:c,28:a,3G:d,2t:b})},6X:q(d,b,a,c){v 6.1M(d,b,a,c,1)},4U:q(b,a){v 6.1M(b,H,a,"3b")},6V:q(c,b,a){v 6.1M(c,b,a,"4N")},6T:q(d,b,a,c){7(6.16(b)){a=b;b={}}v 6.2Z({G:"50",1C:d,W:b,28:a,3G:c})},6S:q(a){6.36.21=a},6Q:q(a){6.1c(6.36,a)},36:{Y:K,G:"3K",21:0,4O:"6P/x-6O-34-6N",4K:K,38:K,W:H},32:{},2Z:q(s){s=6.1c({},6.36,s);7(s.W){7(s.4K&&1g s.W!="1s")s.W=6.2E(s.W);7(s.G.2H()=="1M"){s.1C+=((s.1C.J("?")>-1)?"&":"?")+s.W;s.W=H}}7(s.Y&&!6.3L++)6.S.1t("4T");u f=N;u h=18.4Z?14 4Z("6L.6J"):14 4J();h.7b(s.G,s.1C,s.38);7(s.W)h.3Q("6H-6G",s.4O);7(s.2t)h.3Q("6F-3O-6D",6.32[s.1C]||"6C, 6B 6A 6z 4r:4r:4r 6y");h.3Q("X-6x-6w","4J");7(s.56)s.56(h);7(s.Y)6.S.1t("4P",[h,s]);u g=q(d){7(h&&(h.3a==4||d=="21")){f=K;7(i){3M(i);i=H}u c;2g{c=6.54(h)&&d!="21"?s.2t&&6.4F(h,s.1C)?"4V":"28":"2c";7(c!="2c"){u b;2g{b=h.3E("53-3O")}25(e){}7(s.2t&&b)6.32[s.1!
C]=b;u a=6.55(h,s.3G);7(s.28)s.28(a,c);7(s.Y)6.S.1t("4Q",[h,s])}B 6.2X
(s,h,c)}25(e){c="2c";6.2X(s,h,c,e)}7(s.Y)6.S.1t("4S",[h,s]);7(s.Y&&!--6.3L)6.S.1t("4I");7(s.1n)s.1n(h,c);7(s.38)h=H}};u i=3m(g,13);7(s.21>0)4C(q(){7(h){h.6r();7(!f)g("21")}},s.21);2g{h.6p(s.W)}25(e){6.2X(s,h,H,e)}7(!s.38)g();v h},2X:q(s,a,b,e){7(s.2c)s.2c(a,b,e);7(s.Y)6.S.1t("4R",[a,s,e])},3L:0,54:q(r){2g{v!r.23&&7A.7B=="4l:"||(r.23>=5u&&r.23<6l)||r.23==5m||6.M.20&&r.23==I}25(e){}v N},4F:q(a,c){2g{u b=a.3E("53-3O");v a.23==5m||b==6.32[c]||6.M.20&&a.23==I}25(e){}v N},55:q(r,b){u c=r.3E("6k-G");u a=!b&&c&&c.J("4B")>=0;a=b=="4B"||a?r.6j:r.3c;7(b=="3b")6.3I(a);7(b=="4N")a=49("("+a+")");7(b=="3F")6("<1x>").3F(a).3J();v a},2E:q(a){u s=[];7(a.15==2b||a.3C)6.F(a,q(){s.R(2l(9.6i)+"="+2l(9.2v))});B E(u j V a)7(a[j]&&a[j].15==2b)6.F(a[j],q(){s.R(2l(j)+"="+2l(9))});B s.R(2l(j)+"="+2l(a[j]));v s.5M("&")},3I:q(a){7(18.4A)18.4A(a);B 7(6.M.20)18.4C(a,0);B 49.3D(18,a)}});6.11.1c({1m:q(b,a){v b?9.1w({1u:"1m",29:"1m",1e:"1m"},b,a):9.1i(":1y").F(q(){9.T.U=9.2i?9.2i:"";7(6.1f(9,"U")=="1P")9.T.U=!
"2h"}).2U()},1j:q(b,a){v b?9.1w({1u:"1j",29:"1j",1e:"1j"},b,a):9.1i(":4f").F(q(){9.2i=9.2i||6.1f(9,"U");7(9.2i=="1P")9.2i="2h";9.T.U="1P"}).2U()},5G:6.11.1R,1R:q(a,b){v 6.16(a)&&6.16(b)?9.5G(a,b):a?9.1w({1u:"1R",29:"1R",1e:"1R"},a,b):9.F(q(){6(9)[6(9).37(":1y")?"1m":"1j"]()})},6e:q(b,a){v 9.1w({1u:"1m"},b,a)},6d:q(b,a){v 9.1w({1u:"1j"},b,a)},6b:q(b,a){v 9.1w({1u:"1R"},b,a)},6a:q(b,a){v 9.1w({1e:"1m"},b,a)},69:q(b,a){v 9.1w({1e:"1j"},b,a)},7U:q(c,a,b){v 9.1w({1e:a},c,b)},1w:q(d,h,f,g){v 9.1l(q(){u c=6(9).37(":1y"),1H=6.5z(h,f,g),5y=9;E(u p V d){7(d[p]=="1j"&&c||d[p]=="1m"&&!c)v 6.16(1H.1n)&&1H.1n.O(9);7(p=="1u"||p=="29"){1H.U=6.1f(9,"U");1H.2f=9.T.2f}}7(1H.2f!=H)9.T.2f="1y";9.2k=6.1c({},d);6.F(d,q(a,b){u e=14 6.2M(5y,1H,a);7(b.15==3y)e.2W(e.1K(),b);B e[b=="1R"?c?"1m":"1j":b](d)})})},1l:q(a,b){7(!b){b=a;a="2M"}v 9.F(q(){7(!9.1l)9.1l={};7(!9.1l[a])9.1l[a]=[];9.1l[a].R(b);7(9.1l[a].C==1)b.O(9)})}});6.1c({5z:q(b,a,c){u d=b&&b.15==64?b:{1n:c||!c&&a||6.16(b)&&b,1B:b,2I:c&&a||a&&a.!
15!=45&&a||(6.2I.4i?"4i":"4w")};d.1B=(d.1B&&d.1B.15==3y?d.1B:{61:60,89
:5u}[d.1B])||8a;d.2N=d.1n;d.1n=q(){6.5I(9,"2M");7(6.16(d.2N))d.2N.O(9)};v d},2I:{4w:q(p,n,b,a){v b+a*p},4i:q(p,n,b,a){v((-5W.5X(p*5W.8e)/2)+0.5)*a+b}},1l:{},5I:q(b,a){a=a||"2M";7(b.1l&&b.1l[a]){b.1l[a].4e();u f=b.1l[a][0];7(f)f.O(b)}},3B:[],2M:q(f,e,g){u z=9;u y=f.T;z.a=q(){7(e.3A)e.3A.O(f,[z.2o]);7(g=="1e")6.1b(y,"1e",z.2o);B{y[g]=8m(z.2o)+"4o";y.U="2h"}};z.5V=q(){v 39(6.1f(f,g))};z.1K=q(){u r=39(6.2z(f,g));v r&&r>-8l?r:z.5V()};z.2W=q(c,b){z.4s=(14 5T()).5S();z.2o=c;z.a();6.3B.R(q(){v z.3A(c,b)});7(6.3B.C==1){u d=3m(q(){u a=6.3B;E(u i=0;i<a.C;i++)7(!a[i]())a.8j(i--,1);7(!a.C)3M(d)},13)}};z.1m=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1m=K;z.2W(0,9.1K());7(g!="1e")y[g]="8q";6(f).1m()};z.1j=q(){7(!f.24)f.24={};f.24[g]=6.1b(f.T,g);e.1j=K;z.2W(9.1K(),0)};z.3A=q(a,c){u t=(14 5T()).5S();7(t>e.1B+z.4s){z.2o=c;z.a();7(f.2k)f.2k[g]=K;u b=K;E(u i V f.2k)7(f.2k[i]!==K)b=N;7(b){7(e.U!=H){y.2f=e.2f;y.U=e.U;7(6.1f(f,"U")=="1P")y.U="2h"}7(e.1j)y.U="1P";7(e.1j||e.1m)E(u p V f.2k)6.1b(y,p,f!
.24[p])}7(b&&6.16(e.1n))e.1n.O(f);v N}B{u n=t-9.4s;u p=n/e.1B;z.2o=6.2I[e.2I](p,n,a,(c-a),e.1B);z.a()}v K}}})}',62,524,'||||||jQuery|if||this|||||||||||||||||function||||var|return||||||else|length||for|each|type|null|undefined|indexOf|true|parentNode|browser|false|apply|document|nodeName|push|event|style|display|in|data||global|||fn|className||new|constructor|isFunction|test|window|arguments|events|attr|extend|firstChild|opacity|css|typeof|msie|filter|hide|mergeNum|queue|show|complete|replace|handle|nodeType|table|string|trigger|height|while|animate|div|hidden|tbody|add|duration|url|toUpperCase|remove|break|ready|opt|_|button|cur|find|get|tb|target|none|guid|toggle|args|merge|styleFloat|exec|load|nextSibling|ret|pushStack|safari|timeout|nth|status|orig|catch|al|innerHTML|success|width|opera|Array|error|preventDefault|rl|overflow|try|block|oldblock|done|curAnim|encodeURIComponent|id||now|index|readyList|disabled|grep|ifModified|src|value|inArray|multiFilter|select|curCSS|te!
xt|checked|trim|stopPropagation|param|domManip|substr|toLowerCase|easi
ng|chars|insertBefore|makeArray|fx|old|ownerDocument|last|first|split|childNodes|selected|end|tr|custom|handleError|empty|ajax|el|clean|lastModified|String|form|getAttribute|ajaxSettings|is|async|parseFloat|readyState|script|responseText|isReady|append|defaultView|bind|which|position|mozilla|map|delete|setInterval|static|RegExp|oWidth|removeChild|oHeight|cloneNode|match|child|toString|has|float|Number|unload|step|timers|jquery|call|getResponseHeader|html|dataType|props|globalEval|evalScripts|GET|active|clearInterval|safariTimer|Modified|num|setRequestHeader|getElementsByTagName|currentStyle|__ie_init|unbind|mouseover|handleHover|init|getComputedStyle|one|isXMLDoc|relatedTarget|fix|removeEventListener|handler|Function|addEventListener|triggered|visibility|eval|nodeIndex|radio|classFilter|getElementById|shift|visible|appendChild|documentElement|swing|fromElement|submit|file|swap|expr|px|parents|sibling|00|startTime|previousSibling|lastToggle|parent|linear|ol|body|tagName|execS!
cript|xml|setTimeout|version|setArray|httpNotModified|fl|prop|ajaxStop|XMLHttpRequest|processData|alpha|href|json|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxComplete|ajaxStart|getScript|notmodified|colgroup|100|not|ActiveXObject|POST|slice|fieldset|Last|httpSuccess|httpData|beforeSend|getPropertyValue|DOMContentLoaded|mouseout|click|ctrlKey|metaKey|keyCode|charCode|scrollTop|unique|createElement|scrollLeft|clientX|pageX|webkit|304|srcElement|appendTo|unshift|prevObject|on|after|before|200|removeAttr|prepend|cssFloat|self|speed|parse|input|reset|image|password|checkbox|_toggle|textContent|dequeue|lastChild|odd|even|join|contains|gt|lt|eq|nodeValue|getTime|Date|zoom|max|Math|cos|font|maxLength|600|slow|maxlength|readOnly|Object|readonly|createTextNode|class|htmlFor|fadeOut|fadeIn|slideToggle|CSS1Compat|slideUp|slideDown|compatMode|boxModel|compatible|name|responseXML|content|300|ie|noConflict|ra|send|it|abort|rv|userAgent|navigator|concat|With|Requested|GMT|1970|Jan|01|Th!
u|Since|reverse|If|Type|Content|array|XMLHTTP|ig|Microsoft|NaN|urlenco
ded|www|application|ajaxSetup|val|ajaxTimeout|post|setAttribute|getJSON|getAttributeNode|getIfModified|method|FORM|action|options|serialize|col|th|td|loadIfModified|do|colg|loaded|tfoot|open|thead|onreadystatechange|defer|ipt|leg|scr|write|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|dblclick|scroll|resize|focus|blur|frames|hover|clone|clientY|pageY|location|protocol|toElement|clientWidth|clientHeight|cancelBubble|relative|returnValue|left|detachEvent|right|absolute|attachEvent|substring|offsetWidth|object|offsetHeight|continue|Width|border|fadeTo|padding|size|uFFFF|Left|u0128|Right|Bottom|textarea|Top|enabled|innerText|only|toggleClass|removeClass|fast|400|wrap|addClass|removeAttribute|PI|insertAfter|prependTo|children|line|splice|siblings|10000|parseInt|prev|next|weight|1px|prototype'.split('|'),0,{}))
Added: trunk/examples/wiki/view/themes/sfwkorg/js/jqueryPlugins.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/jqueryPlugins.js (rev 0)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/jqueryPlugins.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -0,0 +1,110 @@
+
+/*
+ * jQuery tabs
+ */
+eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(4(z){z.23({9:{2d:0}});z.1z.9=4(y,x){3(K y==\'2E\')x=y;x=z.23({J:(y&&K y==\'1Y\'&&y>0)?--y:0,12:C,H:z.1d?2h:V,R:V,1p:\'2KD;\',21:\'R-2z-\',1A:C,1x:C,1w:C,1v:C,1u:\'34\',2p:C,2o:C,2m:V,2j:C,19:C,16:C,1g:\'9-1H\',N:\'9-29\',1a:\'9-12\',1b:\'9-26\',1t:\'9-1K\',1C:\'9-2B\',22:\'10\'},x||{});z.7.1j=z.7.1j||z.7.Z&&K 2x==\'4\';4 1y(){1X(0,0)}G 5.Y(4(){2 v=5;2 j=z(\'15.\'+x.1g,v);j=j.X()&&j||z(\'>15:6(0)\',v);2 n=z(\'a\',j);3(x.R){2 w={};n.Y(4(){z(5).2l(\'<I>\'+z(5).2l()+\'</I>\');2 a=x.21+(++z.9.2d);2 b=\'#\'+a;w[b]=5.1O;5.1O=b;z(\'<10 W="\'+a+\'" 31="\'+x.1b+\'"></10>\').2g(v)})}2 u=z(\'10.\'+x.1b,v);u=u.X()&&u||z(\'>\'+x.22,v);j.P(\'.\'+x.1g)||j.O(x.1g);u.!
Y(4(){2 a=z(5);a.P(\'.\'+x.1b)||a.O(x.1b)});2 p=z(\'8\',j).2b(z(\'8.\'+x.N,j)[0]);3(p>=0){x.J=p}3(1c.B){n.Y(4(a){3(5.B==1c.B){x.J=a;3((z.7.Z||z.7.2T)&&!x.R){2 b=z(1c.B);2 c=b.17(\'W\');b.17(\'W\',\'\');1n(4(){b.17(\'W\',c)},2O)}1y();G V}})}3(z.7.Z){1y()}u.18(\':6(\'+x.J+\')\').1F().1o().2I(\':6(\'+x.J+\')\').O(x.1t);3(!x.R){z(\'8\',j).1f(x.N).6(x.J).O(x.N)}3(x.2m){2 t=4(e){2 b=z.2C(u.1l(),4(a){2 h,1B=z(a);3(e){3(z.7.1j){a.11.2A(\'20\');a.11.E=\'\';a.1k=C}h=1B.S({\'1q-E\':\'\'}).E()}D{h=1B.E()}G h}).2y(4(c,d){G d-c});3(z.7.1j){u.Y(4(){5.1k=b[0]+\'1Z\';5.11.2w(\'20\',\'5.11.E = 5.1k ? 5.1k : "2v"\')})}D{u.S({\'1q-E\':b[0]+\'1Z\'})}};t();2 r=v.1W;2 l=v.1h;2 q=z(\'#9-1V-1U-X\').1l(0)||z(\'<I W="9-1V-1U-X">M</I>\').S({1T:\'2u\',2t:\'2s\',2r:\'2q\'}).2g(T.1S).1l(0);2 s=q.1h;32(4(){2 b=v.1W;2 a=v.1h;2 c=q.1h;3(a>l||b!=r||c!=s){t((b>r||c<s));r=b;l=a;s=c}},1R)}2 m={},14={},1Q=x.2p||x.1u,1P=x.2o||x.1u;3(x.1x||x.1A){3(x.1x){m[\'E\']=\'1F\';14[\'E\']=\'1K\'}3(x.1A){m[\'L\']=\'1F\';14[\!
'L\']=\'1K\'}}D{3(x.1w){m=x.1w}D{m[\'1q-2n\']=0;1Q=x.H?1R:1}3(x.1v){14
=x.1v}D{14[\'1q-2n\']=0;1P=x.H?1R:1}}2 o=x.2j,19=x.19,16=x.16;n.1s(\'2k\',4(){2 c=z(5).1e(\'8:6(0)\');3(v.1r||c.P(\'.\'+x.N)||c.P(\'.\'+x.1a)){G V}2 a=5.B;3(z.7.Z){z(5).U(\'13\');3(x.H){z.1d.1N(a);1c.B=a.1M(\'#\',\'\')}}D 3(z.7.1L){2 b=z(\'<2i 30="\'+a+\'"><10><2Z 2X="2f" 2W="h" /></10></2i>\').1l(0);b.2f();z(5).U(\'13\');3(x.H){z.1d.1N(a)}}D{3(x.H){1c.B=a.1M(\'#\',\'\')}D{z(5).U(\'13\')}}});n.1s(\'1J\',4(){2 a=z(5).1e(\'8:6(0)\');3(z.7.1L){a.1i({L:0},1,4(){a.S({L:\'\'})})}a.O(x.1a)});3(x.12&&x.12.1I){2e(2 i=0,k=x.12.1I;i<k;i++){n.6(--x.12[i]).U(\'1J\').1o()}};n.1s(\'2c\',4(){2 a=z(5).1e(\'8:6(0)\');a.1f(x.1a);3(z.7.1L){a.1i({L:1},1,4(){a.S({L:\'\'})})}});n.1s(\'13\',4(b){2 g=b.2V;2 e=5,8=z(5).1e(\'8:6(0)\'),F=z(5.B),Q=u.18(\':2U\');3(v.1r||8.P(\'.\'+x.N)||8.P(\'.\'+x.1a)||K o==\'4\'&&o(5,F[0],Q[0])===V){5.2a();G V}v[\'1r\']=2h;3(F.X()){3(z.7.Z&&x.H){2 d=5.B.1M(\'#\',\'\');F.17(\'W\',\'\');1n(4(){F.17(\'W\',d)},0)}4 1G(){3(x.H&&g){z.1d.1N(e.B)}Q.1i(14,1P,4(){z(e).1e(\'8:6(0)!
\').O(x.N).2S().1f(x.N);3(K 19==\'4\'){19(e,F[0],Q[0])}Q.O(x.1t).S({1T:\'\',28:\'\',E:\'\',L:\'\'});F.1f(x.1t).1i(m,1Q,4(){F.S({28:\'\',E:\'\',L:\'\'});3(z.7.Z){Q[0].11.18=\'\';F[0].11.18=\'\'}3(K 16==\'4\'){16(e,F[0],Q[0])}v[\'1r\']=C})})}3(!x.R){1G()}D{2 f=z(5),I=z(\'I\',5)[0],27=I.1E;f.O(x.1C);3(x.1p){I.1E=x.1p}1n(4(){z(e.B).2R(w[e.B],4(){1G();3(x.1p){I.1E=27}f.1f(x.1C)})},0)}}D{2Q(\'2P P 2N 2M 26.\')}2 a=1D.2L||T.1m&&T.1m.25||T.1S.25||0;2 c=1D.2J||T.1m&&T.1m.24||T.1S.24||0;1n(4(){1D.1X(a,c)},0);5.2a();G x.H&&!!g});3(x.R){n.6(x.J).U(\'13\').1o()}3(x.H){z.1d.2Y(4(){n.6(x.J).U(\'13\').1o()})}})};2 A=[\'2k\',\'1J\',\'2c\'];2e(2 i=0;i<A.1I;i++){z.1z[A[i]]=(4(d){G 4(c){G 5.Y(4(){2 b=z(\'15.9-1H\',5);b=b.X()&&b||z(\'>15:6(0)\',5);2 a;3(!c||K c==\'1Y\'){a=z(\'8 a\',b).6((c&&c>0&&c-1||0))}D 3(K c==\'2H\'){a=z(\'8 a[@1O$="#\'+c+\'"]\',b)}a.U(d)})}})(A[i])}z.1z.2G=4(){2 c=[];5.Y(4(){2 a=z(\'15.9-1H\',5);a=a.X()&&a||z(\'>15:6(0)\',5);2 b=z(\'8\',a);c.2F(b.2b(b.18(\'.9-29\')[0])+1)}!
);G c[0]}})(33);',62,191,'||var|if|function|this|eq|browser|li|tabs|||
|||||||||||||||||||||||||hash|null|else|height|toShow|return|bookmarkable|span|initial|typeof|opacity||selectedClass|addClass|is|toHide|remote|css|document|trigger|false|id|size|each|msie|div|style|disabled|click|hideAnim|ul|onShow|attr|filter|onHide|disabledClass|containerClass|location|ajaxHistory|parents|removeClass|navClass|offsetHeight|animate|msie6|minHeight|get|documentElement|setTimeout|end|spinner|min|locked|bind|hideClass|fxSpeed|fxHide|fxShow|fxSlide|unFocus|fn|fxFade|jq|loadingClass|window|innerHTML|show|switchTab|nav|length|disableTab|hide|safari|replace|update|href|hideSpeed|showSpeed|50|body|display|font|watch|offsetWidth|scrollTo|number|px|behaviour|hashPrefix|tabStruct|extend|scrollTop|scrollLeft|container|text|overflow|selected|blur|index|enableTab|remoteCount|for|submit|appendTo|true|form|onClick|triggerTab|html|fxAutoHeight|width|fxHideSpeed|fxShowSpeed|hidden|visibility|absolute|position|block|1px|setExpression|XMLHttpRequest|sort|tab|removeExpression|lo!
ading|map|8230|object|push|activeTab|string|not|pageYOffset|Loading|pageXOffset|such|no|500|There|alert|load|siblings|opera|visible|clientX|value|type|initialize|input|action|class|setInterval|jQuery|normal'.split('|'),0,{}));
+
+/*
+ * Copyright (c) 2007 Josh Bush (digitalbush.com)
+ *
+ * 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.
+ */
+
+/*
+ * Progress Bar Plugin for jQuery
+ * Version: Alpha 2
+ * Release: 2007-02-26
+ */
+(function($) {
+ //Main Method
+ $.fn.reportprogress = function(val,maxVal) {
+ var max=100;
+ if(maxVal)
+ max=maxVal;
+ return this.each(
+ function(){
+ var div=jQuery(this);
+ var innerdiv=div.find(".progress");
+
+ if(innerdiv.length!=1){
+ innerdiv=jQuery("<div class='progress'></div>");
+ div.append("<div class='text'> </div>");
+ jQuery("<span class='text'> </span>").css("width",div.width()).appendTo(innerdiv);
+ div.append(innerdiv);
+ }
+ var width=Math.round(val/max*100);
+ innerdiv.css("width",width+"%");
+ div.find(".text").html(width+" %");
+ }
+ );
+ };
+})(jQuery);
+
+
+/*
+ * jqModal - Minimalist Modaling with jQuery
+ *
+ * Copyright (c) 2007 Brice Burgess <bhb(a)iceburg.net>, http://www.iceburg.net
+ * Licensed under the MIT License:
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ * $Version: 2007.08.17 +r11
+ *
+ */
+(function($){$.fn.jqm=function(o){var _o={zIndex:3000,overlay:50,overlayClass:'jqmOverlay',closeClass:'jqmClose',trigger:'.jqModal',ajax:false,target:false,modal:false,toTop:false,onShow:false,onHide:false,onLoad:false};return this.each(function(){if(this._jqm)return;s++;this._jqm=s;H[s]={c:$.extend(_o,o),a:false,w:$(this).addClass('jqmID'+s),s:s};if(_o.trigger)$(this).jqmAddTrigger(_o.trigger)})};$.fn.jqmAddClose=function(e){hs(this,e,'jqmHide');return this};$.fn.jqmAddTrigger=function(e){hs(this,e,'jqmShow');return this};$.fn.jqmShow=function(t){return this.each(function(){if(!H[this._jqm].a)$.jqm.open(this._jqm,t)})};$.fn.jqmHide=function(t){return this.each(function(){if(H[this._jqm].a)$.jqm.close(this._jqm,t)})};$.jqm={hash:{},open:function(s,t){var h=H[s],c=h.c,cc='.'+c.closeClass,z=(/^\d+$/.test(h.w.css('z-index')))?h.w.css('z-index'):c.zIndex,o=$('<div></div>').css({height:'100%',width:'100%',position:'fixed',left:0,top:0,'z-index':z-1,opacity:c.overlay/100});h.t=t;!
h.a=true;h.w.css('z-index',z);if(c.modal){if(!A[0])F('bind');A.push(s);o.css('cursor','wait')}else if(c.overlay>0)h.w.jqmAddClose(o);else o=false;h.o=(o)?o.addClass(c.overlayClass).prependTo('body'):false;if(ie6){$('html,body').css({height:'100%',width:'100%'});if(o){o=o.css({position:'absolute'})[0];for(var y in{Top:1,Left:1})o.style.setExpression(y.toLowerCase(),"(_=(document.documentElement.scroll"+y+" || document.body.scroll"+y+"))+'px'")}}if(c.ajax){var r=c.target||h.w,u=c.ajax,r=(typeof r=='string')?$(r,h.w):$(r),u=(u.substr(0,1)=='@')?$(t).attr(u.substring(1)):u;r.load(u,function(){if(c.onLoad)c.onLoad.call(this,h);if(cc)h.w.jqmAddClose($(cc,h.w));e(h)})}else if(cc)h.w.jqmAddClose($(cc,h.w));if(c.toTop&&h.o)h.w.before('<span id="jqmP'+h.w[0]._jqm+'"></span>').insertAfter(h.o);(c.onShow)?c.onShow(h):h.w.show();e(h);return false},close:function(s){var h=H[s];h.a=false;if(A[0]){A.pop();if(!A[0])F('unbind')}if(h.c.toTop&&h.o)$('#jqmP'+h.w[0]._jqm).after(h.w).remove();if(!
h.c.onHide)h.c.onHide(h);else{h.w.hide();if(h.o)h.o.remove()}return fa
lse}};var s=0,H=$.jqm.hash,A=[],ie6=$.browser.msie&&($.browser.version=="6.0"),i=$('<iframe src="javascript:false;document.write(\'\');" class="jqm"></iframe>').css({opacity:0}),e=function(h){if(ie6)if(h.o)h.o.html('<p style="width:100%;height:100%"/>').prepend(i);else if(!$('iframe.jqm',h.w)[0])h.w.prepend(i);f(h)},f=function(h){try{$(':input:visible',h.w)[0].focus()}catch(e){}},F=function(t){$()[t]("keypress",m)[t]("keydown",m)[t]("mousedown",m)},m=function(e){var h=H[A[A.length-1]],r=(!$(e.target).parents('.jqmID'+h.s)[0]);if(r)f(h);return!r},hs=function(w,e,y){var s=[];w.each(function(){s.push(this._jqm)});$(e).each(function(){if(this[y])$.extend(this[y],s);else{this[y]=s;$(this).click(function(){for(var i in{jqmShow:1,jqmHide:1})for(var s in this[i])if(H[this[i][s]])H[this[i][s]].w[i](this);return false})}})}})(jQuery);
+
+
+/**
+ * jquery History Remote
+ */
+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}('(4($){$.H=1f 4(){3 h=\'19\';3 6=7.2;3 F=U;3 l;b.n=4(){};3 C=4(){$(\'.s-p\').1a()};$(9).Q(h,C);5($.y.1b){3 u,m=q;$(4(){u=$(\'<8 1s="1c: 1d;"></8>\').L(9.M).1e(0);3 8=u.E.9;8.V();8.R();5(6&&6!=\'#\'){8.7.2=6.S(\'#\',\'\')}});b.n=4(2){6=2;3 8=u.E.9;8.V();8.R();8.7.2=2.S(\'#\',\'\')};l=4(){3 8=u.E.9;3 k=8.7.2;5(k!=6){6=k;5(k&&k!=\'#\'){$(\'a[@d$="\'+k+\'"]\').f();7.2=k}g 5(m){7.2=\'\';$(9).A(h)}}m=B}}g 5($.y.1g||$.y.1h){b.n=4(2){6=2};l=4(){5(7.2){5(6!=7.2){6=7.2;$(\'a[@d$="\'+6+\'"]\').f()}}g 5(6){6=\'\';$(9).A(h)}}}g 5($.y.1i){3 c,o,x;$(4(){c=[];c.j=z.j;o=[]});3 r=q,m=q;x=4(2){c.Z(2);o.j=0;r=q};b.n=4(2){6=2;x(6)};l=4(){3 t=z.j-c.j;5(t){r=q;5(t<0){X(3 i=!
0;i<1j.1k(t);i++)o.1m(c.1n())}g{X(3 i=0;i<t;i++)c.Z(o.11())}3 K=c[c.j-1];$(\'a[@d$="\'+K+\'"]\').f();6=7.2}g 5(c[c.j-1]==T&&!r){5(9.N.13(\'#\')>=0){$(\'a[@d$="\'+\'#\'+9.N.14(\'#\')[1]+\'"]\').f()}g 5(m){$(9).A(h)}r=B}m=B}}b.16=4(D){5(W D==\'4\'){$(9).18(h,C).Q(h,D)}5(7.2&&W x==\'T\'){$(\'a.s[@d$="\'+7.2+\'"]\').f()}5(l&&F==U){F=1l(l,1p)}}};$.I.s=4(p,v){v=$.1q({P:\'s-\'},v||{});3 G=$(p).12()&&$(p)||$(\'<J></J>\').L(\'M\');G.15(\'s-p\');O b.17(4(i){3 10=b.d;3 2=\'#\'+v.P+(i+1);b.d=2;$(b).f(4(e){3 w=e.Y;G.1o(10,4(){5(w){$.H.n(2)}})})})};$.I.z=4(){O b.f(4(e){3 w=e.Y;5(w){$.H.n(b.2)}})}})(1r);',62,91,'||hash|var|function|if|_currentHash|location|iframe|document||this|_backStack|href||click|else|RESET_EVENT||length|iframeHash|_observeHistory|initialized|update|_forwardStack|output|false|isFirst|remote|historyDelta|_historyIframe|settings|trueClick|_addHistory|browser|history|trigger|true|_defaultReset|callback|contentWindow|_intervalId|target|ajaxHistory|fn|div|cachedHash|append!
To|body|URL|return|hashPrefix|bind|close|replace|undefined|null|open|t
ypeof|for|clientX|push|remoteURL|shift|size|indexOf|split|addClass|initialize|each|unbind|historyReset|empty|msie|display|none|get|new|mozilla|opera|safari|Math|abs|setInterval|unshift|pop|load|200|extend|jQuery|style'.split('|'),0,{}));
+
+
+/*
+ * jquery Dimensions
+ *
+ * Copyright (c) 2007 Paul Bakaus (paul.bakaus(a)googlemail.com) and Brandon Aaron (brandon.aaron(a)gmail.com || http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ *
+ * $LastChangedDate:2007-11-20 09:05:13 +0100 (Tue, 20 Nov 2007) $
+ * $Rev:6788 $
+ *
+ * Version: 1.0rc1
+ */
+eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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}('(8($){p g=$.19.D,w=$.19.w;$.19.z({D:8(){4(1[0]==h)5 Z.1a||$.I&&7.10.1z||7.q.1z;4(1[0]==7)5 1t.1s(7.q.1H,7.q.13);5 g.1k(1,1h)},w:8(){4(1[0]==h)5 Z.1d||$.I&&7.10.1c||7.q.1c;4(1[0]==7)5 1t.1s(7.q.1B,7.q.11);5 w.1k(1,1h)},1a:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13-f(1,\'k\')-f(1,\'1A\'):1.D()+f(1,\'18\')+f(1,\'1y\')},1d:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11-f(1,\'j\')-f(1,\'1x\'):1.w()+f(1,\'15\')+f(1,\'1u\')},1K:8(){5 1[0]==h||1[0]==7?1.D():1.P(\':J\')?1[0].13:1.D()+f(1,\'k\')+f(1,\'1A\')+f(1,\'18\')+f(1,\'1y\')},1J:8(){5 1[0]==h||1[0]==7?1.w():1.P(\':J\')?1[0].11:1.w()+f(1,\'j\')+f(1,\'1x\')+f(1,\'15\')+f(1,\'1u\')},l:8(a){4(a!=1q)5 1.1!
o(8(){4(1==h||1==7)h.1m(a,$(h).n());o 1.l=a});4(1[0]==h||1[0]==7)5 Z.1G||$.I&&7.10.l||7.q.l;5 1[0].l},n:8(a){4(a!=1q)5 1.1o(8(){4(1==h||1==7)h.1m($(h).l(),a);o 1.n=a});4(1[0]==h||1[0]==7)5 Z.1F||$.I&&7.10.n||7.q.n;5 1[0].n},C:8(c,d){p a=1[0],3=a.S,6=a.R,c=$.z({Q:m,K:m,O:m,t:m},c||{}),x=a.N,y=a.M,v=a.l,u=a.n;4($.i.17||$.i.16){x+=f(a,\'j\');y+=f(a,\'k\')}4(($.i.Y||$.i.X)&&$.r(6,\'C\')!=\'W\'){x-=f(6,\'j\');y-=f(6,\'k\')}4($.i.17){B{4(3!=a&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}4(3==6)1v}H((3=3.S)&&3.s!=\'G\')}4($.i.16&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\')){B{x+=6.N;y+=6.M;x+=f(6,\'j\');y+=f(6,\'k\')}H((6=6.R)&&(6.s!=\'G\'&&$.r(6,\'C\')==\'W\'))}p b=e(a,c,x,y,v,u);4(d){$.z(d,b);5 1}o{5 b}},1I:8(b,c){p x=0,y=0,v=0,u=0,9=1[0],3=1[0],6,U,L=$.r(9,\'C\'),A=$.i.17,E=$.i.16,1p=$.i.Y,1n=$.i.X,12=m,14=m,b=$.z({Q:F,K:m,O:m,t:F,1j:m},b||{});4(b.1j)5 1.1i(b,c);4(9.s==\'G\'){x=9.N;y=9.M;4(A){x+=f(9,\'V\')+(f(9,\'j\')*2);y+=f(9,\'T\')+(f(9,\'k\')*2)}o 4(1n){x+=f(9,\'V\');y+=f(9,\'T!
\')}o 4(E&&1l.I){x+=f(9,\'j\');y+=f(9,\'k\')}}o{B{U=$.r(3,\'C\');x+=3.
N;y+=3.M;4(A||E){x+=f(3,\'j\');y+=f(3,\'k\');4(A&&U==\'1g\')12=F;4(E&&U==\'1E\')14=F}6=3.R;4(b.t||A){B{4(b.t){v+=3.l;u+=3.n}4(A&&3!=9&&$.r(3,\'1w\')!=\'J\'){x+=f(3,\'j\');y+=f(3,\'k\')}3=3.S}H(3!=6)}3=6;4(3.s==\'G\'||3.s==\'1e\'){4((1p||(E&&$.I))&&L!=\'1g\'&&L!=\'1f\'){x+=f(3,\'V\');y+=f(3,\'T\')}4((A&&!12&&L!=\'1f\')||(E&&L==\'W\'&&!14)){x+=f(3,\'j\');y+=f(3,\'k\')}1v}}H(3)}p a=e(9,b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}},1i:8(b,c){p x=0,y=0,v=0,u=0,3=1[0],6,b=$.z({Q:F,K:m,O:m,t:F},b||{});B{x+=3.N;y+=3.M;6=3.R;4(b.t){B{v+=3.l;u+=3.n;3=3.S}H(3!=6)}3=6}H(3&&3.s!=\'G\'&&3.s!=\'1e\');p a=e(1[0],b,x,y,v,u);4(c){$.z(c,a);5 1}o{5 a}}});p f=8(b,a){5 1D($.r(b.1C?b[0]:b,a))||0};p e=8(b,c,x,y,a,d){4(!c.Q){x-=f(b,\'V\');y-=f(b,\'T\')}4(c.K&&($.i.Y||$.i.X)){x+=f(b,\'j\');y+=f(b,\'k\')}o 4(!c.K&&!($.i.Y||$.i.X)){x-=f(b,\'j\');y-=f(b,\'k\')}4(c.O){x+=f(b,\'15\');y+=f(b,\'18\')}4(c.t){a-=b.l;d-=b.n}5 c.t?{1b:y-d,1r:x-a,n:d,l:a}:{1b:y,1r:x}}})(1l);',62,109,'|this||parent|if|return|op|document|f!
unction|elem||||||||window|browser|borderLeftWidth|borderTopWidth|scrollLeft|false|scrollTop|else|var|body|css|tagName|scroll|st|sl|width|||extend|mo|do|position|height|ie|true|BODY|while|boxModel|visible|border|elemPos|offsetTop|offsetLeft|padding|is|margin|offsetParent|parentNode|marginTop|parPos|marginLeft|static|opera|safari|self|documentElement|offsetWidth|absparent|offsetHeight|relparent|paddingLeft|msie|mozilla|paddingTop|fn|innerHeight|top|clientWidth|innerWidth|HTML|fixed|absolute|arguments|offsetLite|lite|apply|jQuery|scrollTo|oa|each|sf|undefined|left|max|Math|paddingRight|break|overflow|borderRightWidth|paddingBottom|clientHeight|borderBottomWidth|scrollWidth|jquery|parseInt|relative|pageYOffset|pageXOffset|scrollHeight|offset|outerWidth|outerHeight'.split('|'),0,{}));
+
+
+/**
+ * jQuery context menu
+ */
+(function($){var menu,shadow,trigger,content,hash,currentTarget;var defaults={menuStyle:{listStyle:'none',padding:'1px',margin:'0px',backgroundColor:'#fff',border:'1px solid #999',width:'100px'},itemStyle:{margin:'0px',color:'#000',display:'block',cursor:'default',padding:'3px',border:'1px solid #fff',backgroundColor:'transparent'},itemHoverStyle:{border:'1px solid #0a246a',backgroundColor:'#b6bdd2'},eventPosX:'pageX',eventPosY:'pageY',shadow:true,onContextMenu:null,onShowMenu:null};$.fn.contextMenu=function(id,options){if(!menu){menu=$('<div id="jqContextMenu"></div>').hide().css({position:'absolute',zIndex:'500'}).appendTo('body').bind('click',function(e){e.stopPropagation()})}if(!shadow){shadow=$('<div></div>').css({backgroundColor:'#000',position:'absolute',opacity:0.2,zIndex:499}).appendTo('body').hide()}hash=hash||[];hash.push({id:id,menuStyle:$.extend({},defaults.menuStyle,options.menuStyle||{}),itemStyle:$.extend({},defaults.itemStyle,options.itemStyle||{}),itemHove!
rStyle:$.extend({},defaults.itemHoverStyle,options.itemHoverStyle||{}),bindings:options.bindings||{},shadow:options.shadow||options.shadow===false?options.shadow:defaults.shadow,onContextMenu:options.onContextMenu||defaults.onContextMenu,onShowMenu:options.onShowMenu||defaults.onShowMenu,eventPosX:options.eventPosX||defaults.eventPosX,eventPosY:options.eventPosY||defaults.eventPosY});var index=hash.length-1;$(this).bind('contextmenu',function(e){var bShowContext=(!!hash[index].onContextMenu)?hash[index].onContextMenu(e):true;if(bShowContext)display(index,this,e,options);return false});return this};function display(index,trigger,e,options){var cur=hash[index];content=$('#'+cur.id).find('ul:first').clone(true);content.css(cur.menuStyle).find('li').css(cur.itemStyle).hover(function(){$(this).css(cur.itemHoverStyle)},function(){$(this).css(cur.itemStyle)}).find('img').css({verticalAlign:'middle',paddingRight:'2px'});menu.html(content);if(!!cur.onShowMenu)menu=cur.onShowMenu(e,m!
enu);$.each(cur.bindings,function(id,func){$('#'+id,menu).bind('click'
,function(e){hide();func(trigger,currentTarget)})});menu.css({'left':e[cur.eventPosX],'top':e[cur.eventPosY]}).show();if(cur.shadow)shadow.css({width:menu.width(),height:menu.height(),left:e.pageX+2,top:e.pageY+2}).show();$(document).one('click',hide)}function hide(){menu.hide();shadow.hide()}$.contextMenu={defaults:function(userDefaults){$.each(userDefaults,function(i,val){if(typeof val=='object'&&defaults[i]){$.extend(defaults[i],val)}else defaults[i]=val})}}})(jQuery);$(function(){$('div.contextMenu').hide()});
+
+
+/*
+ * Interface elements for jQuery - 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}('4.1h={5m:k(e){d x=0;d y=0;d 27=1g;d L=e.1d;8(4(e).H(\'15\')==\'1b\'){21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';27=1P}d 7=e;2W(7){x+=7.4Q+(7.2a&&!4.3T.4T?G(7.2a.3v)||0:0);y+=7.4Z+(7.2a&&!4.3T.4T?G(7.2a.3z)||0:0);7=7.4S}7=e;2W(7&&7.3m&&7.3m.3s()!=\'16\'){x-=7.2c||0;y-=7.1S||0;7=7.34}8(27){L.15=\'1b\';L.I=33;L.1t=21}u{x:x,y:y}},5j:k(7){d x=0,y=0;2W(7){x+=7.4Q||0;y+=7.4Z||0;7=7.4S}u{x:x,y:y}},3C:k(e){d w=4.H(e,\'C\');d h=4.H(e,\'B\');d 1F=0;d 1K=0;d L=e.1d;8(4(e).H(\'15\')!=\'1b\'){1F=e.3X;1K=e.3N}J{21=L.1t;33=L.I;L.1t=\'2j\';L.15=\'2w\';L.I=\'2t\';1F=e.3X;1K=e.3N;L.15=\'1b\';L.I=33;L.1t=21}u{w:w,h:h,1F:1F,1K:1K}},5u:k(7){u{1F:7.3X||0,1K:7.3N||0!
}},5h:k(e){d h,w,2p;8(e){w=e.2v;h=e.2I}J{2p=K.1k;w=3E.3I||35.3I||(2p&&2p.2v)||K.16.2v;h=3E.40||35.40||(2p&&2p.2I)||K.16.2I}u{w:w,h:h}},4t:k(e){d t,l,w,h,2i,2b;8(e&&e.38.3s()!=\'16\'){t=e.1S;l=e.2c;w=e.3Y;h=e.3D;2i=0;2b=0}J{8(K.1k&&K.1k.1S){t=K.1k.1S;l=K.1k.2c;w=K.1k.3Y;h=K.1k.3D}J 8(K.16){t=K.16.1S;l=K.16.2c;w=K.16.3Y;h=K.16.3D}2i=35.3I||K.1k.2v||K.16.2v||0;2b=35.40||K.1k.2I||K.16.2I||0}u{t:t,l:l,w:w,h:h,2i:2i,2b:2b}},4e:k(e,28){d 7=4(e);d t=7.H(\'2H\')||\'\';d r=7.H(\'2C\')||\'\';d b=7.H(\'2O\')||\'\';d l=7.H(\'2B\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},59:k(e,28){d 7=4(e);d t=7.H(\'48\')||\'\';d r=7.H(\'44\')||\'\';d b=7.H(\'43\')||\'\';d l=7.H(\'49\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)};J u{t:t,r:r,b:b,l:l}},61:k(e,28){d 7=4(e);d t=7.H(\'3z\')||\'\';d r=7.H(\'4k\')||\'\';d b=7.H(\'4m\')||\'\';d l=7.H(\'3v\')||\'\';8(28)u{t:G(t)||0,r:G(r)||0,b:G(b)||0,l:G(l)||0};J u{t:t,r:r,b:b,l:l}},2y:k(2F){d x=2F.5Z||(2F.5x+(K.1k.2c||K!
.16.2c))||0;d y=2F.5Y||(2F.64+(K.1k.1S||K.16.1S))||0;u{x:x,y:y}},3V:k(
1n,3R){3R(1n);1n=1n.4g;2W(1n){4.1h.3V(1n,3R);1n=1n.6e}},6a:k(1n){4.1h.3V(1n,k(7){Z(d 1I 1u 7){8(1m 7[1I]===\'k\'){7[1I]=W}}})},5U:k(7,2S){d 1y=$.1h.4t();d 3x=$.1h.3C(7);8(!2S||2S==\'5F\')$(7).H({E:1y.t+((14.1M(1y.h,1y.2b)-1y.t-3x.1K)/2)+\'V\'});8(!2S||2S==\'5H\')$(7).H({F:1y.l+((14.1M(1y.w,1y.2i)-1y.l-3x.1F)/2)+\'V\'})},5D:k(7,4Y){d 57=$(\'4j[@36*="3r"]\',7||K),3r;57.2h(k(){3r=A.36;A.36=4Y;A.1d.5I="5J:5Q.5R.5L(36=\'"+3r+"\')"})}};[].46||(5N.5M.46=k(v,n){n=(n==W)?0:n;d m=A.1x;Z(d i=n;i<m;i++)8(A[i]==v)u i;u-1});4.4f=k(e){8(/^5K$|^5O$|^5P$|^5S$|^5B$|^5A$|^5z$|^5y$|^5C$|^16$|^5G$|^5E$|^5T$|^69$|^68$|^67$|^66$/i.2Z(e.38))u 1g;J u 1P};4.P.6b=k(e,1B){d c=e.4g;d 1z=c.1d;1z.I=1B.I;1z.2H=1B.1q.t;1z.2B=1B.1q.l;1z.2O=1B.1q.b;1z.2C=1B.1q.r;1z.E=1B.E+\'V\';1z.F=1B.F+\'V\';e.34.4c(c,e);e.34.6c(e)};4.P.65=k(e){8(!4.4f(e))u 1g;d t=4(e);d L=e.1d;d 27=1g;d U={};U.I=t.H(\'I\');8(t.H(\'15\')==\'1b\'){21=t.H(\'1t\');L.1t=\'2j\';L.15=\'\';27=1P}U.X=4.1h.3C(e);U.1q=4.1h.4e(e);d 3L=e.2a?e.2a.45:t.H!
(\'5X\');U.E=G(t.H(\'E\'))||0;U.F=G(t.H(\'F\'))||0;d 4l=\'5W\'+G(14.5V()*4z);d 1R=K.60(/^4j$|^63$|^62$|^6f$|^5v$|^5a$|^3Z$|^5g$|^5d$|^5b$|^5f$|^5e$|^5c$|^58$/i.2Z(e.38)?\'5w\':e.38);4.1I(1R,\'5r\',4l);1R.4L=\'5q\';d 12=1R.1d;d E=0;d F=0;8(U.I==\'2K\'||U.I==\'2t\'){E=U.E;F=U.F}12.15=\'1b\';12.E=E+\'V\';12.F=F+\'V\';12.I=U.I!=\'2K\'&&U.I!=\'2t\'?\'2K\':U.I;12.2U=\'2j\';12.B=U.X.1K+\'V\';12.C=U.X.1F+\'V\';12.2H=U.1q.t;12.2C=U.1q.r;12.2O=U.1q.b;12.2B=U.1q.l;8(4.3T.5s){12.45=3L}J{12.5t=3L}e.34.4c(1R,e);L.2H=\'2f\';L.2C=\'2f\';L.2O=\'2f\';L.2B=\'2f\';L.I=\'2t\';L.5p=\'1b\';L.E=\'2f\';L.F=\'2f\';8(27){L.15=\'1b\';L.1t=21}1R.5o(e);12.15=\'2w\';u{U:U,5i:4(1R)}};4.P.2z={5k:[0,M,M],5l:[4n,M,M],5n:[4q,4q,6d],6D:[0,0,0],7s:[0,0,M],7r:[4h,42,42],7q:[0,M,M],7o:[0,0,2l],7p:[0,2l,2l],7t:[3U,3U,3U],7u:[0,7y,0],7x:[7w,7v,4i],7n:[2l,0,2l],7m:[7e,4i,47],7d:[M,4o,0],7c:[7A,50,7b],7f:[2l,0,0],7g:[7l,7k,7j],7h:[7i,0,3n],7z:[M,0,M],7L:[M,7T,0],7U:[0,1N,0],7Q:[75,0,7S],7V:[4n,4a,4o],7P:[7F,7E,4a],7N!
:[4b,M,M],7B:[4d,7C,4d],7G:[3n,3n,3n],7H:[M,7J,7D],7I:[M,M,4b],7K:[0,M
,0],7M:[M,0,M],7O:[1N,0,0],7R:[0,0,1N],7a:[1N,1N,0],78:[M,4h,0],6z:[M,30,6y],6x:[1N,0,1N],6v:[M,0,0],6w:[30,30,30],6A:[M,M,M],6B:[M,M,0]};4.P.1V=k(1o,4p){8(4.P.2z[1o])u{r:4.P.2z[1o][0],g:4.P.2z[1o][1],b:4.P.2z[1o][2]};J 8(Y=/^23\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)$/.3i(1o))u{r:G(Y[1]),g:G(Y[2]),b:G(Y[3])};J 8(Y=/23\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)$/.3i(1o))u{r:1i(Y[1])*2.55,g:1i(Y[2])*2.55,b:1i(Y[3])*2.55};J 8(Y=/^#([a-20-24-9])([a-20-24-9])([a-20-24-9])$/.3i(1o))u{r:G("2e"+Y[1]+Y[1]),g:G("2e"+Y[2]+Y[2]),b:G("2e"+Y[3]+Y[3])};J 8(Y=/^#([a-20-24-9]{2})([a-20-24-9]{2})([a-20-24-9]{2})$/.3i(1o))u{r:G("2e"+Y[1]),g:G("2e"+Y[2]),b:G("2e"+Y[3])};J u 4p==1P?1g:{r:M,g:M,b:M}};4.P.4O={4m:1,3v:1,4k:1,3z:1,6F:1,6E:1,B:1,F:1,79:1,6C:1,2O:1,2B:1,2C:1,2H:1,2u:1,3p:1,2M:1,3o:1,1D:1,6u:1,6t:1,43:1,49:1,44:1,48:1,6l:1,6k:1,E:1,C:1,3k:1};4.P.4B={6j:1,6h:1,6i:1,6m:1,6n:1,1o:1,6g:1};4.P.2A=[\!
'6s\',\'6r\',\'6q\',\'6o\'];4.P.3w={\'3y\':[\'2L\',\'4w\'],\'3t\':[\'2L\',\'3B\'],\'3h\':[\'3h\',\'\'],\'3q\':[\'3q\',\'\']};4.4P.2R({6p:k(1C,2k,11,3a){u A.2G(k(){d 3u=4.2k(2k,11,3a);d e=2N 4.53(A,3u,1C)})},3A:k(2k,3a){u A.2G(k(){d 3u=4.2k(2k,3a);d e=2N 4.3A(A,3u)})},3d:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l)})},6G:k(1l){u A.2h(k(){8(A.1G)4.3F(A,1l);8(A.2G&&A.2G[\'P\'])A.2G.P=[]})}});4.2R({3A:k(N,D){d z=A,4R;z.1l=k(){8(4.4y(D.32))D.32.1H(N)};z.2x=4C(k(){z.1l()},D.1J);N.1G=z},11:{4N:k(p,n,51,54,1J){u((-14.6H(p*14.70)/2)+0.5)*54+51}},53:k(N,D,1C){d z=A,4R;d y=N.1d;d 4G=4.H(N,"2U");d 2g=4.H(N,"15");d O={};z.3j=(2N 4F()).4r();D.11=D.11&&4.11[D.11]?D.11:\'4N\';z.2T=k(S,1a){8(4.P.4O[S]){8(1a==\'2X\'||1a==\'2V\'||1a==\'4A\'){8(!N.1T)N.1T={};d r=1i(4.1Y(N,S));N.1T[S]=r&&r>-4z?r:(1i(4.H(N,S))||0);1a=1a==\'4A\'?(2g==\'1b\'?\'2X\':\'2V\'):1a;D[1a]=1P;O[S]=1a==\'2X\'?[0,N.1T[S]]:[N.1T[S],0];8(S!=\'1D\')y[S]=O[S][0]+(S!=\'3k\'&&S!=\'3H\'?\'V\':\'\');J 4.1I(y,"1D",O[S][0])}J{O[S]=[1i(4.1Y(N,S!
)),1i(1a)||0]}}J 8(4.P.4B[S])O[S]=[4.P.1V(4.1Y(N,S)),4.P.1V(1a)];J 8(/
^3h$|3q$|2L$|3t$|3y$/i.2Z(S)){d m=1a.1Q(/\\s+/g,\' \').1Q(/23\\s*\\(\\s*/g,\'23(\').1Q(/\\s*,\\s*/g,\',\').1Q(/\\s*\\)/g,\')\').4x(/([^\\s]+)/g);2n(S){R\'3h\':R\'3q\':R\'3y\':R\'3t\':m[3]=m[3]||m[1]||m[0];m[2]=m[2]||m[0];m[1]=m[1]||m[0];Z(d i=0;i<4.P.2A.1x;i++){d 1A=4.P.3w[S][0]+4.P.2A[i]+4.P.3w[S][1];O[1A]=S==\'3t\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),1i(m[i])]}19;R\'2L\':Z(d i=0;i<m.1x;i++){d 3M=1i(m[i]);d 2Y=!6Z(3M)?\'4w\':(!/6Y|1b|2j|6W|6X|71|72|77|76|74|73/i.2Z(m[i])?\'3B\':1g);8(2Y){Z(d j=0;j<4.P.2A.1x;j++){1A=\'2L\'+4.P.2A[j]+2Y;O[1A]=2Y==\'3B\'?[4.P.1V(4.1Y(N,1A)),4.P.1V(m[i])]:[1i(4.1Y(N,1A)),3M]}}J{y[\'6V\']=m[i]}}19}}J{y[S]=1a}u 1g};Z(p 1u 1C){8(p==\'1d\'){d 1w=4.3J(1C[p]);Z(2s 1u 1w){A.2T(2s,1w[2s])}}J 8(p==\'4L\'){8(K.31)Z(d i=0;i<K.31.1x;i++){d 2m=K.31[i].2m||K.31[i].6U||W;8(2m){Z(d j=0;j<2m.1x;j++){8(2m[j].6M==\'.\'+1C[p]){d 26=2N 6L(\'\\.\'+1C[p]+\' {\');d 1E=2m[j].1d.6K;d 1w=4.3J(1E.1Q(26,\'\').1Q(/}/g,\'\'));Z(2s 1u 1w){A.2T(2s,1w[2s])}}}}}}J{!
A.2T(p,1C[p])}}y.15=2g==\'1b\'?\'2w\':2g;y.2U=\'2j\';z.1l=k(){d t=(2N 4F()).4r();8(t>D.1J+z.3j){4U(z.2x);z.2x=W;Z(p 1u O){8(p=="1D")4.1I(y,"1D",O[p][1]);J 8(1m O[p][1]==\'3Z\')y[p]=\'23(\'+O[p][1].r+\',\'+O[p][1].g+\',\'+O[p][1].b+\')\';J y[p]=O[p][1]+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}8(D.2V||D.2X)Z(d p 1u N.1T)8(p=="1D")4.1I(y,p,N.1T[p]);J y[p]="";y.15=D.2V?\'1b\':(2g!=\'1b\'?2g:\'2w\');y.2U=4G;N.1G=W;8(4.4y(D.32))D.32.1H(N)}J{d n=t-A.3j;d 2J=n/D.1J;Z(p 1u O){8(1m O[p][1]==\'3Z\'){y[p]=\'23(\'+G(4.11[D.11](2J,n,O[p][0].r,(O[p][1].r-O[p][0].r),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].g,(O[p][1].g-O[p][0].g),D.1J))+\',\'+G(4.11[D.11](2J,n,O[p][0].b,(O[p][1].b-O[p][0].b),D.1J))+\')\'}J{d 3Q=4.11[D.11](2J,n,O[p][0],(O[p][1]-O[p][0]),D.1J);8(p=="1D")4.1I(y,"1D",3Q);J y[p]=3Q+(p!=\'3k\'&&p!=\'3H\'?\'V\':\'\')}}}};z.2x=4C(k(){z.1l()},13);N.1G=z},3F:k(N,1l){8(1l)N.1G.3j-=6I;J{3E.4U(N.1G.2x);N.1G=W;4.6J(N,"P")}}});4.3J=k(1E){d 1w={};8(1m 1E==\'3W\'){1E=1E.3s().4W(\';\');Z(d i=0;i<1E.!
1x;i++){26=1E[i].4W(\':\');8(26.1x==2){1w[4.4V(26[0].1Q(/\\-(\\w)/g,k(
m,c){u c.6N()}))]=4.4V(26[1])}}}u 1w};4.6={o:W,17:W,T:W,1c:W,X:W,I:W,2d:k(e){4.6.T=(A.37)?A.37:A;4.6.1c=4.1h.2y(e);4.6.X={C:G(4(4.6.T).H(\'C\'))||0,B:G(4(4.6.T).H(\'B\'))||0};4.6.I={E:G(4(4.6.T).H(\'E\'))||0,F:G(4(4.6.T).H(\'F\'))||0};4(K).1L(\'3f\',4.6.3G).1L(\'3e\',4.6.3P);8(1m 4.6.T.f.4H===\'k\'){4.6.T.f.4H.1H(4.6.T)}u 1g},3P:k(e){4(K).1X(\'3f\',4.6.3G).1X(\'3e\',4.6.3P);8(1m 4.6.T.f.4E===\'k\'){4.6.T.f.4E.1H(4.6.T)}4.6.T=W},3G:k(e){8(!4.6.T){u}1c=4.1h.2y(e);25=4.6.I.E-4.6.1c.y+1c.y;29=4.6.I.F-4.6.1c.x+1c.x;25=14.1M(14.2P(25,4.6.T.f.2E-4.6.X.B),4.6.T.f.2r);29=14.1M(14.2P(29,4.6.T.f.2D-4.6.X.C),4.6.T.f.2o);8(1m 4.6.T.f.4I===\'k\'){d 2Q=4.6.T.f.4I.1H(4.6.T,[29,25]);8(1m 2Q==\'6O\'&&2Q.1x==2){29=2Q[0];25=2Q[1]}}4.6.T.1d.E=25+\'V\';4.6.T.1d.F=29+\'V\';u 1g},41:k(e){4(K).1L(\'3f\',4.6.3K).1L(\'3e\',4.6.3d);4.6.o=A.o;4.6.17=A.17;4.6.1c=4.1h.2y(e);8(4.6.o.f.4J){4.6.o.f.4J.1H(4.6.o,[A])}4.6.X={C:G(4(A.o).H(\'C\'))||0,B:G(4(A.o).H(\'B\'))||0};4.6.I={E:G(4(A.o).H(\'E\'))||0,F:G(4(A!
.o).H(\'F\'))||0};u 1g},3d:k(){4(K).1X(\'3f\',4.6.3K).1X(\'3e\',4.6.3d);8(4.6.o.f.4M){4.6.o.f.4M.1H(4.6.o,[4.6.17])}4.6.o=W;4.6.17=W},1W:k(1v,3b){u 14.2P(14.1M(4.6.X.C+1v*3b,4.6.o.f.3o),4.6.o.f.3p)},1O:k(1s,3b){u 14.2P(14.1M(4.6.X.B+1s*3b,4.6.o.f.2M),4.6.o.f.2u)},4K:k(B){u 14.2P(14.1M(B,4.6.o.f.2M),4.6.o.f.2u)},3K:k(e){8(4.6.o==W){u}1c=4.1h.2y(e);1v=1c.x-4.6.1c.x;1s=1c.y-4.6.1c.y;q={C:4.6.X.C,B:4.6.X.B};Q={E:4.6.I.E,F:4.6.I.F};2n(4.6.17){R\'e\':q.C=4.6.1W(1v,1);19;R\'4s\':q.C=4.6.1W(1v,1);q.B=4.6.1O(1s,1);19;R\'w\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'3g\':q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;q.B=4.6.1O(1s,1);19;R\'22\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,-1);Q.F=4.6.I.F-q.C+4.6.X.C;19;R\'n\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;19;R\'39\':q.B=4.6.1O(1s,-1);Q.E=4.6.I.E-q.B+4.6.X.B;q.C=4.6.1W(1v,1);19;R\'s\':q.B=4.6.1O(1s,1);19}8(4.6.o.f.1f){8(4.6.17==\'n\'||4.6.17==\'s\')1e=q.B*4.6.o.f.1f;J 1e=q.C;1p=4.6.4K(1e*4.6.o.f.1f);1e=1p/4.6.o!
.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}2n(4.6.17){R\'2
2\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.B=1p;q.C=1e}8(Q.E<4.6.o.f.2r){1p=q.B+Q.E-4.6.o.f.2r;Q.E=4.6.o.f.2r;8(4.6.o.f.1f){1e=1p/4.6.o.f.1f;2n(4.6.17){R\'22\':R\'w\':R\'3g\':Q.F+=q.C-1e;19}q.C=1e}q.B=1p}8(Q.F<4.6.o.f.2o){1e=q.C+Q.F-4.6.o.f.2o;Q.F=4.6.o.f.2o;8(4.6.o.f.1f){1p=1e*4.6.o.f.1f;2n(4.6.17){R\'n\':R\'22\':R\'39\':Q.E+=q.B-1p;19}q.B=1p}q.C=1e}8(Q.E+q.B>4.6.o.f.2E){q.B=4.6.o.f.2E-Q.E;8(4.6.o.f.1f){q.C=q.B/4.6.o.f.1f}}8(Q.F+q.C>4.6.o.f.2D){q.C=4.6.o.f.2D-Q.F;8(4.6.o.f.1f){q.B=q.C*4.6.o.f.1f}}d 1Z=1g;1r=4.6.o.1d;1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';8(4.6.o.f.4D){1Z=4.6.o.f.4D.1H(4.6.o,[q,Q]);8(1Z){8(1Z.X){4.2R(q,1Z.X)}8(1Z.I){4.2R(Q,1Z.I)}}}1r.F=Q.F+\'V\';1r.E=Q.E+\'V\';1r.C=q.C+\'V\';1r.B=q.B+\'V\';u 1g},4X:k(D){8(!D||!D.18||D.18.56!=6T){u}u A.2h(k(){d 7=A;7.f=D;7.f.3o=D.3o||10;7.f.2M=D.2M||10;7.f.3p=D.3p||3c;7.f.2u=D.2u||3c;7.f.2r=D.2r||-4v;7.f.2o=D.2o||-4v;7.f.2D=D.2D||3c;7.f.2E=D.2E||3c;3O=4(7).H(\'I\');8(!(3O==\'2K\'||3O==\'2t\')){7.1d.I=\'2K\'}52=/!
n|39|e|4s|s|3g|w|22/g;Z(i 1u 7.f.18){8(i.3s().4x(52)!=W){8(7.f.18[i].56==6S){2q=4(7.f.18[i]);8(2q.3S()>0){7.f.18[i]=2q.6R(0)}}8(7.f.18[i].3m){7.f.18[i].o=7;7.f.18[i].17=i;4(7.f.18[i]).1L(\'1U\',4.6.41)}}}8(7.f.1j){8(1m 7.f.1j===\'3W\'){3l=4(7.f.1j);8(3l.3S()>0){3l.2h(k(){A.37=7});3l.1L(\'1U\',4.6.2d)}}J 8(7.f.1j.3m){7.f.1j.37=7;4(7.f.1j).1L(\'1U\',4.6.2d)}J 8(7.f.1j==1P){4(A).1L(\'1U\',4.6.2d)}}})},4u:k(){u A.2h(k(){d 7=A;Z(i 1u 7.f.18){7.f.18[i].o=W;7.f.18[i].17=W;4(7.f.18[i]).1X(\'1U\',4.6.41)}8(7.f.1j){8(1m 7.f.1j===\'3W\'){2q=4(7.f.1j);8(2q.3S()>0){2q.1X(\'1U\',4.6.2d)}}J 8(7.f.1j==1P){4(A).1X(\'1U\',4.6.2d)}}7.f=W})}};4.4P.2R({6P:4.6.4X,6Q:4.6.4u});',62,492,'||||jQuery||iResize|el|if|||||var||resizeOptions|||||function||||resizeElement||newSizes||||return||||||this|height|width|options|top|left|parseInt|css|position|else|document|es|255|elem|props|fx|newPosition|case|tp|dragged|oldStyle|px|null|sizes|result|for||easing|wrs||Math|display|body|resizeDirection|handlers|br!
eak|vp|none|pointer|style|nWidth|ratio|false|iUtil|parseFloat|dragHand
le|documentElement|step|typeof|nodeEl|color|nHeight|margins|elS|dy|visibility|in|dx|newStyles|length|clientScroll|cs|nmp|old|prop|opacity|styles|wb|animationHandler|apply|attr|duration|hb|bind|max|128|getHeight|true|replace|wr|scrollTop|orig|mousedown|parseColor|getWidth|unbind|curCSS|newDimensions|fA|oldVisibility|nw|rgb|F0|newTop|rule|restoreStyle|toInteger|newLeft|currentStyle|ih|scrollLeft|startDrag|0x|0px|oldDisplay|each|iw|hidden|speed|139|cssRules|switch|minLeft|de|handle|minTop|np|absolute|maxHeight|clientWidth|block|timer|getPointer|namedColors|cssSides|marginLeft|marginRight|maxRight|maxBottom|event|queue|marginTop|clientHeight|pr|relative|border|minHeight|new|marginBottom|min|newPos|extend|axis|getValues|overflow|hide|while|show|sideEnd|test|192|styleSheets|complete|oldPosition|parentNode|self|src|dragEl|nodeName|ne|callback|side|3000|stop|mouseup|mousemove|sw|margin|exec|startTime|zIndex|handleEl|tagName|211|minWidth|maxWidth|padding|png|toLowerCase|borderColor|o!
pt|borderLeftWidth|cssSidesEnd|windowSize|borderWidth|borderTopWidth|pause|Color|getSize|scrollHeight|window|stopAnim|moveDrag|fontWeight|innerWidth|parseStyle|move|oldFloat|floatVal|offsetHeight|elPosition|stopDrag|pValue|func|size|browser|169|traverseDOM|string|offsetWidth|scrollWidth|object|innerHeight|start||paddingBottom|paddingRight|styleFloat|indexOf||paddingTop|paddingLeft|230|224|insertBefore|144|getMargins|fxCheckTag|firstChild|165|107|img|borderRightWidth|wid|borderBottomWidth|240|140|notColor|245|getTime|se|getScroll|destroy|1000|Width|match|isFunction|10000|toggle|colorCssProps|setInterval|onResize|onDragStop|Date|oldOverflow|onDragStart|onDrag|onStart|getHeightMinMax|className|onStop|linear|cssProps|fn|offsetLeft|values|offsetParent|opera|clearInterval|trim|split|build|emptyGIF|offsetTop||firstNum|directions|fxe|delta||constructor|images|ol|getPadding|textarea|form|dl|button|ul|table|iframe|getClient|wrapper|getPositionLite|aqua|azure|getPosition|beige|appendC!
hild|listStyle|fxWrapper|id|msie|cssFloat|getSizeLite|select|div|clien
tX|colgroup|col|tfoot|thead|th|fixPNG|script|vertically|header|horizontally|filter|progid|tr|AlphaImageLoader|prototype|Array|td|tbody|DXImageTransform|Microsoft|caption|frame|centerEl|random|w_|float|pageY|pageX|createElement|getBorder|input|br|clientY|buildWrapper|meta|optgroup|option|frameset|purgeEvents|destroyWrapper|removeChild|220|nextSibling|hr|outlineColor|borderBottomColor|borderLeftColor|backgroundColor|textIndent|right|borderRightColor|borderTopColor|Left|animate|Bottom|Right|Top|outlineWidth|outlineOffset|red|silver|purple|203|pink|white|yellow|lineHeight|black|fontSize|bottom|stopAll|cos|100000000|dequeue|cssText|RegExp|selectorText|toUpperCase|array|Resizable|ResizableDestroy|get|String|Object|rules|borderStyle|dotted|dashed|transparent|isNaN|PI|solid|double|outset|inset||ridge|groove|orange|letterSpacing|olive|204|darkorchid|darkorange|85|darkred|darksalmon|darkviolet|148|122|150|233|darkolivegreen|darkmagenta|darkblue|darkcyan|cyan|brown|blue|darkgrey|darkgr!
een|183|189|darkkhaki|100|fuchsia|153|lightgreen|238|193|216|173|lightgrey|lightpink|lightyellow|182|lime|gold|magenta|lightcyan|maroon|lightblue|indigo|navy|130|215|green|khaki'.split('|'),0,{}));
Added: trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js (rev 0)
+++ trunk/examples/wiki/view/themes/sfwkorg/js/lacewiki.js 2008-02-14 23:11:13 UTC (rev 7424)
@@ -0,0 +1,110 @@
+/* Cachable global scripts */
+
+// ###################### Log #################################
+
+function log(message) {
+ return; // Remove to enable logging
+ if (!log.window_ || log.window_.closed) {
+ var win = window.open("", null, "width=400,height=200," +
+ "scrollbars=yes,resizable=yes,status=no," +
+ "location=no,menubar=no,toolbar=no");
+ if (!win) return;
+ var doc = win.document;
+ doc.write("<html><head><title>Debug Log</title></head><body style='font-family: monospace'></body></html>");
+ doc.close();
+ log.window_ = win;
+ }
+ var logLine = log.window_.document.createElement("div");
+ logLine.appendChild(log.window_.document.createTextNode(message));
+ log.window_.document.body.appendChild(logLine);
+}
+
+// ###################### Seam Remoting #################################
+
+Seam.Remoting.displayLoadingMessage = function() {};
+Seam.Remoting.hideLoadingMessage = function() {};
+
+// ###################### jQuery Integration #################################
+
+jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
+
+function jsf(id) {
+ // Find the dynamic JSF client identifier by looking up
+ // the static identifier of its j4j proxy child element
+ if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
+ var realId = document.getElementById(id).title;
+ var element = document.getElementById(realId);
+ return jQuery(element);
+}
+
+// ###################### Form helpers #################################
+
+function onAjaxRequestComplete() {
+ resetSessionTimeoutCheck();
+ wrapBoxes();
+}
+
+function selectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).attr("checked", "true");
+}
+function deselectCheckBoxes(styleClass) {
+ jQuery("."+styleClass).removeAttr("checked");
+}
+
+function clickClear(thisfield, defaulttext) {
+ if (thisfield.value == defaulttext) {
+ thisfield.value = "";
+ }
+}
+function clickRecall(thisfield, defaulttext) {
+ if (thisfield.value == '') {
+ thisfield.value = defaulttext;
+ }
+}
+
+function trimString(s) {
+ return s.replace(/(^\s+|\s+$)/g, "");
+}
+
+function stringEndsWith(s, suffix) {
+ return s.substring(s.length - suffix.length) == suffix;
+}
+
+function formatText(textArea, formatString) {
+ var inlinePlaceholder = "{i}";
+ var blockPlaceholder = "{b}";
+ var inline = formatString.indexOf(inlinePlaceholder) != -1;
+ var block = formatString.indexOf(blockPlaceholder) != -1;
+ if (!(inline || block)) return;
+ var prefix = formatString.substring(0, formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder));
+ var suffix = formatString.substring(formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder)+3, formatString.length);
+ if (block) {
+ prefix = "\n" + prefix;
+ suffix = suffix + "\n";
+ }
+
+ if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
+ var caretPos = textArea.caretPos;
+ caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? prefix + caretPos.text + suffix + ' ' : prefix + caretPos.text + suffix;
+ caretPos.select();
+ } else if (typeof(textArea.selectionStart) != "undefined") {
+ var begin = textArea.value.substr(0, textArea.selectionStart);
+ var selection = textArea.value.substr(textArea.selectionStart, textArea.selectionEnd - textArea.selectionStart);
+ var end = textArea.value.substr(textArea.selectionEnd);
+ var newCursorPos = textArea.selectionStart;
+ var scrollPos = textArea.scrollTop;
+ textArea.value = begin + prefix + selection + suffix + end;
+ if (textArea.setSelectionRange) {
+ if (selection.length == 0)
+ textArea.setSelectionRange(newCursorPos + prefix.length, newCursorPos + prefix.length);
+ else
+ textArea.setSelectionRange(newCursorPos, newCursorPos + prefix.length + selection.length + suffix.length);
+ textArea.focus();
+ }
+ textArea.scrollTop = scrollPos;
+ } else {
+ textArea.value += prefix + suffix;
+ textArea.focus(textArea.value.length - 1);
+ }
+}
+
Modified: trunk/examples/wiki/view/themes/sfwkorg/template.xhtml
===================================================================
--- trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-02-14 20:36:04 UTC (rev 7423)
+++ trunk/examples/wiki/view/themes/sfwkorg/template.xhtml 2008-02-14 23:11:13 UTC (rev 7424)
@@ -15,44 +15,17 @@
<title><h:outputText value="Seam Framework - "/><ui:insert name="screenname"/></title>
<link href="#{themePath}/css/sfwk.css" rel="stylesheet" type="text/css"/>
- <link href="#{themePath}/css/userControl.css" rel="stylesheet" type="text/css"/>
- <link href="#{themePath}/css/searchControl.css" rel="stylesheet" type="text/css"/>
- <link href="#{themePath}/css/mainMenu.css" rel="stylesheet" type="text/css"/>
<ui:insert name="includeHeaders"/>
- <script type="text/javascript" src="#{themePath}/js/jquery.js"></script>
- <script type="text/javascript" src="#{themePath}/js/interface.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqModal.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqTabs.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqHistoryRemote.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqProgressBar.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqDimensions.js"></script>
- <script type="text/javascript" src="#{themePath}/js/jqContextMenu.js"></script>
-
<script type="text/javascript" src="#{basePath}/seam/resource/remoting/resource/remote.js"></script>
<script type="text/javascript" src="#{basePath}/seam/resource/remoting/interface.js?httpSessionChecker"></script>
+ <script type="text/javascript" src="#{themePath}/js/jquery.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/jqueryPlugins.js"></script>
+ <script type="text/javascript" src="#{themePath}/js/lacewiki.js"></script>
<script type="text/javascript">
- // ###################### Seam Remoting #################################
-
- Seam.Remoting.displayLoadingMessage = function() {};
- Seam.Remoting.hideLoadingMessage = function() {};
-
- // ###################### jQuery Integration #################################
-
- jQuery.noConflict(); // Avoid conflicts with the RichFaces/Prototype library
-
- function jsf(id) {
- // Find the dynamic JSF client identifier by looking up
- // the static identifier of its j4j proxy child element
- if (document.getElementById(id) == null) { alert("Couldn't find JSF element: " + id); }
- var realId = document.getElementById(id).title;
- var element = document.getElementById(realId);
- return jQuery(element);
- }
-
// ###################### Session timeout alert #################################
var sessionChecker = Seam.Component.getInstance("httpSessionChecker");
@@ -87,77 +60,6 @@
}
}
- // ###################### Form helpers #################################
-
- function onAjaxRequestComplete() {
- resetSessionTimeoutCheck();
- wrapBoxes();
- }
-
- function selectCheckBoxes(styleClass) {
- jQuery("."+styleClass).attr("checked", "true");
- }
- function deselectCheckBoxes(styleClass) {
- jQuery("."+styleClass).removeAttr("checked");
- }
-
- function clickClear(thisfield, defaulttext) {
- if (thisfield.value == defaulttext) {
- thisfield.value = "";
- }
- }
- function clickRecall(thisfield, defaulttext) {
- if (thisfield.value == '') {
- thisfield.value = defaulttext;
- }
- }
-
- function trimString(s) {
- return s.replace(/(^\s+|\s+$)/g, "");
- }
-
- function stringEndsWith(s, suffix) {
- return s.substring(s.length - suffix.length) == suffix;
- }
-
- function formatText(textArea, formatString) {
- var inlinePlaceholder = "{i}";
- var blockPlaceholder = "{b}";
- var inline = formatString.indexOf(inlinePlaceholder) != -1;
- var block = formatString.indexOf(blockPlaceholder) != -1;
- if (!(inline || block)) return;
- var prefix = formatString.substring(0, formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder));
- var suffix = formatString.substring(formatString.indexOf(inline ? inlinePlaceholder : blockPlaceholder)+3, formatString.length);
- if (block) {
- prefix = "\n" + prefix;
- suffix = suffix + "\n";
- }
-
- if (typeof(textArea.caretPos) != "undefined" && textArea.createTextRange) {
- var caretPos = textArea.caretPos;
- caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? prefix + caretPos.text + suffix + ' ' : prefix + caretPos.text + suffix;
- caretPos.select();
- } else if (typeof(textArea.selectionStart) != "undefined") {
- var begin = textArea.value.substr(0, textArea.selectionStart);
- var selection = textArea.value.substr(textArea.selectionStart, textArea.selectionEnd - textArea.selectionStart);
- var end = textArea.value.substr(textArea.selectionEnd);
- var newCursorPos = textArea.selectionStart;
- var scrollPos = textArea.scrollTop;
- textArea.value = begin + prefix + selection + suffix + end;
- if (textArea.setSelectionRange) {
- if (selection.length == 0)
- textArea.setSelectionRange(newCursorPos + prefix.length, newCursorPos + prefix.length);
- else
- textArea.setSelectionRange(newCursorPos, newCursorPos + prefix.length + selection.length + suffix.length);
- textArea.focus();
- }
- textArea.scrollTop = scrollPos;
- } else {
- textArea.value += prefix + suffix;
- textArea.focus(textArea.value.length - 1);
- }
- }
-
// ###################### Popups #################################
function deleteConfirmation(message, deleteFunction) {
16 years, 10 months
Seam SVN: r7423 - trunk/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-02-14 15:36:04 -0500 (Thu, 14 Feb 2008)
New Revision: 7423
Modified:
trunk/src/main/org/jboss/seam/pages-2.1.xsd
Log:
JBSEAM-2386
Modified: trunk/src/main/org/jboss/seam/pages-2.1.xsd
===================================================================
--- trunk/src/main/org/jboss/seam/pages-2.1.xsd 2008-02-14 20:35:48 UTC (rev 7422)
+++ trunk/src/main/org/jboss/seam/pages-2.1.xsd 2008-02-14 20:36:04 UTC (rev 7423)
@@ -389,11 +389,13 @@
<xs:element minOccurs="0" ref="pages:message"/>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="pages:param"/>
</xs:sequence>
- <xs:attributeGroup ref="pages:attlist.redirect"/>
+
+ <xs:attributeGroup ref="pages:attlist.redirect"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="attlist.redirect">
<xs:attribute name="view-id"/>
+ <xs:attribute name="url"/>
</xs:attributeGroup>
<xs:element name="http-error">
<xs:complexType>
16 years, 10 months
Seam SVN: r7422 - in trunk/src/main/org/jboss/seam: navigation and 1 other directory.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-02-14 15:35:48 -0500 (Thu, 14 Feb 2008)
New Revision: 7422
Modified:
trunk/src/main/org/jboss/seam/faces/FacesManager.java
trunk/src/main/org/jboss/seam/faces/Navigator.java
trunk/src/main/org/jboss/seam/navigation/Pages.java
trunk/src/main/org/jboss/seam/navigation/RedirectNavigationHandler.java
Log:
JBSEAM-2386
Modified: trunk/src/main/org/jboss/seam/faces/FacesManager.java
===================================================================
--- trunk/src/main/org/jboss/seam/faces/FacesManager.java 2008-02-14 07:57:43 UTC (rev 7421)
+++ trunk/src/main/org/jboss/seam/faces/FacesManager.java 2008-02-14 20:35:48 UTC (rev 7422)
@@ -135,6 +135,14 @@
}
}
+ public void redirectToExternalURL(String url) {
+ try {
+ FacesContext.getCurrentInstance().getExternalContext().redirect(url);
+ } catch (IOException e) {
+ throw new RedirectException(e);
+ }
+ }
+
/**
* Redirect to the given view id, after encoding parameters and conversation
* id into the request URL.
@@ -185,7 +193,7 @@
url = encodeConversationId(url, viewId, conversationId);
redirect(viewId, context, url);
}
-
+
private void redirect(String viewId, FacesContext context, String url)
{
url = Pages.instance().encodeScheme(viewId, context, url);
Modified: trunk/src/main/org/jboss/seam/faces/Navigator.java
===================================================================
--- trunk/src/main/org/jboss/seam/faces/Navigator.java 2008-02-14 07:57:43 UTC (rev 7421)
+++ trunk/src/main/org/jboss/seam/faces/Navigator.java 2008-02-14 20:35:48 UTC (rev 7422)
@@ -1,5 +1,6 @@
package org.jboss.seam.faces;
+import java.io.IOException;
import java.util.Map;
import javax.faces.application.FacesMessage.Severity;
@@ -33,6 +34,10 @@
}
}
+ protected void redirectExternal(String url) {
+ FacesManager.instance().redirectToExternalURL(url);
+ }
+
/**
* Redirect to the view id.
*/
Modified: trunk/src/main/org/jboss/seam/navigation/Pages.java
===================================================================
--- trunk/src/main/org/jboss/seam/navigation/Pages.java 2008-02-14 07:57:43 UTC (rev 7421)
+++ trunk/src/main/org/jboss/seam/navigation/Pages.java 2008-02-14 20:35:48 UTC (rev 7422)
@@ -1365,8 +1365,7 @@
Severity severity = severityName==null ?
FacesMessage.SEVERITY_INFO :
getFacesMessageValuesMap().get( severityName.toUpperCase() );
- rule.addNavigationHandler( new RenderNavigationHandler(viewId == null ? null :
- Expressions.instance().createValueExpression(viewId, String.class), message, severity, control) );
+ rule.addNavigationHandler( new RenderNavigationHandler(stringValueExpressionFor(viewId), message, severity, control) );
}
Element redirect = element.element("redirect");
@@ -1379,6 +1378,8 @@
params.add( parseParam(child) );
}
final String viewId = redirect.attributeValue("view-id");
+ final String url = redirect.attributeValue("url");
+
Element messageElement = redirect.element("message");
String control = messageElement==null ? null : messageElement.attributeValue("for");
String message = messageElement==null ? null : messageElement.getTextTrim();
@@ -1386,8 +1387,9 @@
Severity severity = severityName==null ?
FacesMessage.SEVERITY_INFO :
getFacesMessageValuesMap().get( severityName.toUpperCase() );
- rule.addNavigationHandler( new RedirectNavigationHandler(viewId == null ? null :
- Expressions.instance().createValueExpression(viewId, String.class), params, message, severity, control) );
+ rule.addNavigationHandler(new RedirectNavigationHandler(stringValueExpressionFor(viewId),
+ stringValueExpressionFor(url),
+ params, message, severity, control) );
}
List<Element> childElements = element.elements("out");
@@ -1410,6 +1412,10 @@
}
+ private static ValueExpression<String> stringValueExpressionFor(String expr) {
+ return (ValueExpression<String>) ((expr == null) ? expr : Expressions.instance().createValueExpression(expr, String.class));
+ }
+
public static Map<String, Severity> getFacesMessageValuesMap()
{
Map<String, Severity> result = new HashMap<String, Severity>();
Modified: trunk/src/main/org/jboss/seam/navigation/RedirectNavigationHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/navigation/RedirectNavigationHandler.java 2008-02-14 07:57:43 UTC (rev 7421)
+++ trunk/src/main/org/jboss/seam/navigation/RedirectNavigationHandler.java 2008-02-14 20:35:48 UTC (rev 7422)
@@ -1,5 +1,6 @@
package org.jboss.seam.navigation;
+import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -18,14 +19,17 @@
public final class RedirectNavigationHandler extends NavigationHandler
{
private final ValueExpression<String> viewId;
+ private final ValueExpression<String> url;
private final List<Param> params;
private final String message;
private final Severity severity;
private final String control;
- public RedirectNavigationHandler(ValueExpression<String> viewId, List<Param> params, String message, Severity severity, String control)
+ public RedirectNavigationHandler(ValueExpression<String> viewId, ValueExpression<String> url,
+ List<Param> params, String message, Severity severity, String control)
{
this.viewId = viewId;
+ this.url = url;
this.params = params;
this.message = message;
this.severity = severity;
@@ -50,7 +54,12 @@
//}
}
- redirect(viewId == null ? null : viewId.getValue(), parameters);
+ if (url != null) {
+ redirectExternal(url.getValue());
+ } else {
+ redirect(viewId == null ? null : viewId.getValue(), parameters);
+ }
+
return true;
}
16 years, 10 months