You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(48) |
Dec
(31) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(22) |
Feb
(68) |
Mar
(185) |
Apr
(11) |
May
(21) |
Jun
(23) |
Jul
(46) |
Aug
(69) |
Sep
(211) |
Oct
(26) |
Nov
(51) |
Dec
(52) |
2006 |
Jan
(13) |
Feb
(13) |
Mar
(8) |
Apr
(21) |
May
(17) |
Jun
(100) |
Jul
(34) |
Aug
(23) |
Sep
(26) |
Oct
(16) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(66) |
Oct
(10) |
Nov
(1) |
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(3) |
May
(8) |
Jun
(5) |
Jul
(31) |
Aug
(8) |
Sep
(11) |
Oct
(6) |
Nov
|
Dec
|
2012 |
Jan
(13) |
Feb
(2) |
Mar
(9) |
Apr
(6) |
May
(24) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(120) |
2013 |
Jan
(6) |
Feb
(35) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <pb...@fe...> - 2012-12-17 16:49:25
|
Author: pboy Date: 2012-12-17 16:49:14 +0000 (Mon, 17 Dec 2012) New Revision: 2414 Added: contrib/camden/ccm-ldn-camden-aplaws/bundles/intranet/ Removed: contrib/camden/ccm-ldn-camden-aplaws/bundles/camden-essentials/ Log: Unifying name space (part 2) |
From: <pb...@fe...> - 2012-12-17 16:46:06
|
Author: pboy Date: 2012-12-17 16:45:58 +0000 (Mon, 17 Dec 2012) New Revision: 2413 Added: contrib/camden/ccm-ldn-camden-aplaws/ Removed: contrib/camden/ccm-ldn-camden-intranet/ Log: Unifying name space |
From: <pb...@fe...> - 2012-12-17 13:35:55
|
Author: pboy Date: 2012-12-17 13:35:42 +0000 (Mon, 17 Dec 2012) New Revision: 2412 Removed: releases/2.0.0/ccm-bundle/bundles/devel/ releases/2.0.0/ccm-ldn-aplaws/bundles/devel/ releases/2.0.0/ccm-simplesurvey/ releases/2.0.0/ccm-weblog/ releases/2.0.0/ccm-webpage/ Log: Removed devel bundles (not part of version 2.0 official release). |
From: <pb...@fe...> - 2012-12-17 13:19:58
|
Author: pboy Date: 2012-12-17 13:19:48 +0000 (Mon, 17 Dec 2012) New Revision: 2411 Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java Log: Backport r2408 (on behalf of JensP) Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java 2012-12-17 13:07:53 UTC (rev 2410) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java 2012-12-17 13:19:48 UTC (rev 2411) @@ -301,6 +301,31 @@ @Override public void generateXML(ContentItem item, Element element, PageState state) { + if (getPerson() != null) { + Element personElem = element.newChildElement("person"); + GenericPerson person = getPerson(); + + if ((person.getSurname() != null) && !person.getSurname().isEmpty()) { + Element surnameElem = personElem.newChildElement("surname"); + surnameElem.setText(person.getSurname()); + } + + if ((person.getGivenName() != null) && !person.getGivenName().isEmpty()) { + Element givenNameElem = personElem.newChildElement("givenname"); + givenNameElem.setText(person.getGivenName()); + } + + if ((person.getTitlePre() != null) && !person.getTitlePre().isEmpty()) { + Element titlePreElem = personElem.newChildElement("titlepre"); + titlePreElem.setText(person.getTitlePre()); + } + + if ((person.getTitlePost() != null) && !person.getTitlePost().isEmpty()) { + Element titlePostElem = personElem.newChildElement("titlepost"); + titlePostElem.setText(person.getTitlePost()); + } + } + StringTokenizer keys = s_config.getContactEntryKeys(); Element contactKeysElem = element.newChildElement("contactEntryKeys"); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java 2012-12-17 13:07:53 UTC (rev 2410) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java 2012-12-17 13:19:48 UTC (rev 2411) @@ -81,7 +81,7 @@ findByAssociatedObjectType(getPersonType())); /*m_itemSearch.getItemField().addValidationListener( new NotNullValidationListener());*/ - m_itemSearch.setDisableCreatePane(true); + m_itemSearch.setDisableCreatePane(false); add(this.m_itemSearch); selectedPersonNameLabel = new Label(""); |
From: <pb...@fe...> - 2012-12-17 13:08:05
|
Author: pboy Date: 2012-12-17 13:07:53 +0000 (Mon, 17 Dec 2012) New Revision: 2410 Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentBundle.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentItem.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java releases/2.0.0/ccm-core/src/com/arsdigita/categorization/Category.java releases/2.0.0/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java Log: Fixed sort order in object lists (backport r2407). (on behalf of JensP) Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentBundle.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentBundle.java 2012-12-17 13:04:19 UTC (rev 2409) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentBundle.java 2012-12-17 13:07:53 UTC (rev 2410) @@ -670,7 +670,8 @@ CategoryCollection categories = source.getCategoryCollection(); while (categories.next()) { final Category category = categories.getCategory(); - category.addChild(this); + + category.addChild(this, categories.getSortKey()); category.save(); // XXX remove me } categories.close(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentItem.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentItem.java 2012-12-17 13:04:19 UTC (rev 2409) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ContentItem.java 2012-12-17 13:07:53 UTC (rev 2410) @@ -1893,6 +1893,7 @@ } // If live Bundle already exists, recategorize. + // jensp 2012: Behavior changed. The ContentBundle will also be republished. if (PARENT.equals(attribute)) { ACSObject parent = ((ContentItem) source).getParent(); if (parent != null && copier.getCopyType() @@ -1906,9 +1907,7 @@ //published because the ContentBundle was not republished. //Moved the next lines out of the if below to enable //republishing of the ContentBundle - final ContentBundle liveBundle = - (ContentBundle) bundle. - createPendingVersion(null); + final ContentBundle liveBundle = (ContentBundle) bundle.createPendingVersion(null); /* * if (liveBundle == null) { } else { Set liveCatSet = new * HashSet(); Set draftCatSet = new HashSet(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java 2012-12-17 13:04:19 UTC (rev 2409) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java 2012-12-17 13:07:53 UTC (rev 2410) @@ -35,7 +35,6 @@ import java.math.BigDecimal; import javax.servlet.ServletException; - /** * A List of all objects currently categorized under this category * @@ -52,25 +51,36 @@ setModelBuilder(new CategorizedObjectsModelBuilder()); - Label label = new Label(GlobalizationUtil.globalize - ("cms.ui.category.item.none")); + Label label = new Label(GlobalizationUtil.globalize("cms.ui.category.item.none")); label.setFontWeight(Label.ITALIC); setEmptyView(label); } /** - * This actually performs the sorting + * This actually performs the sorting */ public void respond(PageState ps) throws ServletException { - String event = ps.getControlEventName(); + final String event = ps.getControlEventName(); if (NEXT_EVENT.equals(event) || PREV_EVENT.equals(event)) { - BigDecimal selectedID = new BigDecimal(ps.getControlEventValue()); - Category parent = getCategory(ps); + final BigDecimal selectedID = new BigDecimal(ps.getControlEventValue()); + final Category parent = getCategory(ps); + + final ContentItem selectedItem = new ContentItem(selectedID); + final BigDecimal selectedDraftId = selectedItem.getDraftVersion().getID(); - if (CMS.getContext().getSecurityManager().canAccess - (SecurityManager.CATEGORY_ADMIN)) { - parent.swapSortKeys(selectedID, getSwapID(parent,selectedID,event)); + if (CMS.getContext().getSecurityManager().canAccess(SecurityManager.CATEGORY_ADMIN)) { + final BigDecimal swapId = getSwapID(parent, selectedID, event); + parent.swapSortKeys(selectedID, swapId); + final ContentItem swapItem = new ContentItem(swapId); + final BigDecimal swapDraftId = swapItem.getDraftVersion().getID(); + + final BigDecimal sortKey1 = parent.getSortKey(selectedItem); + final BigDecimal sortKey2 = parent.getSortKey(swapItem); + + parent.setSortKey(new ContentItem(selectedDraftId), sortKey1); + parent.setSortKey(new ContentItem(swapDraftId), sortKey2); + } } else { super.respond(ps); @@ -83,9 +93,8 @@ boolean foundSelectedID = false; if (category != null && category.hasChildObjects()) { - CategorizedCollection items = category.getObjects - (ContentItem.BASE_DATA_OBJECT_TYPE); - items.addEqualsFilter(ContentItem.VERSION,ContentItem.LIVE); + CategorizedCollection items = category.getObjects(ContentItem.BASE_DATA_OBJECT_TYPE); + items.addEqualsFilter(ContentItem.VERSION, ContentItem.LIVE); items.sort(true); while (items.next()) { BigDecimal thisID = items.getACSObject().getID(); @@ -111,14 +120,14 @@ private class CategorizedObjectsModelBuilder extends LockableImpl implements ListModelBuilder { + public final ListModel makeModel(final List list, final PageState state) { final Category category = getCategory(state); if (category != null && category.hasChildObjects()) { - CategorizedCollection items = category.getObjects - (ContentItem.BASE_DATA_OBJECT_TYPE); - items.addEqualsFilter(ContentItem.VERSION,ContentItem.LIVE); + CategorizedCollection items = category.getObjects(ContentItem.BASE_DATA_OBJECT_TYPE); + items.addEqualsFilter(ContentItem.VERSION, ContentItem.LIVE); items.sort(true); return new CategorizedCollectionListModel(items); } else { @@ -131,6 +140,7 @@ * A {@link ListModel} that iterates over categorized objects via an iterator */ private static class CategorizedCollectionListModel implements ListModel { + private CategorizedCollection m_objs; private ACSObject m_object; @@ -140,7 +150,7 @@ } public boolean next() { - if ( m_objs.next() ) { + if (m_objs.next()) { m_object = (ACSObject) m_objs.getDomainObject(); return true; } else { Modified: releases/2.0.0/ccm-core/src/com/arsdigita/categorization/Category.java =================================================================== --- releases/2.0.0/ccm-core/src/com/arsdigita/categorization/Category.java 2012-12-17 13:04:19 UTC (rev 2409) +++ releases/2.0.0/ccm-core/src/com/arsdigita/categorization/Category.java 2012-12-17 13:07:53 UTC (rev 2410) @@ -109,9 +109,9 @@ * */ public static final String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.categorization.Category"; + "com.arsdigita.categorization.Category"; private static final String BASE_DATA_OBJECT_PACKAGE = - "com.arsdigita.categorization"; + "com.arsdigita.categorization"; /** * The * <code>PrivilegeDescriptor corresponding</code> to the privilege to @@ -119,7 +119,7 @@ * */ public static final PrivilegeDescriptor MAP_DESCRIPTOR = - new PrivilegeDescriptor( + new PrivilegeDescriptor( "map_to_category"); // Quasimodo: Begin private static CategorizationConfig s_config = CategorizationConfig @@ -185,7 +185,7 @@ * An attribute name for the underlying data object. */ public static final String IGNORE_PARENT_INDEX_ITEM = - "ignoreParentIndexItem"; + "ignoreParentIndexItem"; /** * An attribute name for the underlying data object. */ @@ -197,7 +197,7 @@ public static final String LOCALIZATIONS = "localizations"; // some named queries in the pdl files private static final String CHILD_CATEGORY_IDS = - "com.arsdigita.categorization.childCategoryIDs"; + "com.arsdigita.categorization.childCategoryIDs"; private static final String CURRENT_SORT_KEY = "currentSortKey"; private HierarchyDenormalization m_hierarchy; // Quasimodo: Begin @@ -416,7 +416,8 @@ public String getName(String locale) { // Test for localized version - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -517,7 +518,7 @@ * @return category path */ public String getPreferredQualifiedName(String delimiter, - boolean includeRoot) { + boolean includeRoot) { // is this a synonym? CategoryCollection cc = new CategoryCollection(getRelatedCategories( PREFERRED)); @@ -525,7 +526,7 @@ Category preferred = cc.getCategory(); cc.close(); String preferredPath = preferred.getQualifiedName(delimiter, - includeRoot); + includeRoot); return preferredPath + " (" + getName() + ")"; } else { return getQualifiedName(delimiter, includeRoot); @@ -602,7 +603,8 @@ // Test for localized version // HACK - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -679,7 +681,8 @@ public String getURL(String locale) { // Test for localized version - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -751,7 +754,8 @@ } // Test for localized version - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -950,8 +954,8 @@ try { if (children.next()) { throw new CategorizationException("This category is the default parent of another category." - + " You must explicitly delete the child categories first. " - + "Child category: " + children. + + " You must explicitly delete the child categories first. " + + "Child category: " + children. getDataObject()); } } finally { @@ -959,13 +963,13 @@ } DataAssociationCursor objects = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); if (objects != null) { try { if (objects.next()) { throw new CategorizationException("This category has child objects. You must delete " - + " any such objects explicitly, before deleting the " - + " category. Child object: " + objects. + + " any such objects explicitly, before deleting the " + + " category. Child object: " + objects. getDataObject()); } } finally { @@ -999,7 +1003,7 @@ public void deleteCategorySubtree() { // we get the association between this category and its children DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); while (cursor.next()) { DataObject link = cursor.getLink(); @@ -1038,7 +1042,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); while (cursor.next()) { DataObject link = cursor.getLink(); @@ -1047,7 +1051,7 @@ remove(RELATED_CATEGORIES, cursor.getDataObject()); if ("child".equals(relationType)) { Category category = new Category(cursor.getDataObject()); - parent.addChild(category); + parent.addChild(category, null); if (Boolean.TRUE.equals(isDefault)) { category.setDefaultParentCategory(parent); } @@ -1104,13 +1108,18 @@ * categories and becomes a CHILD category.</p> * * @param object the domain object to categorize + * @param sortKey optional sort key. May be <code>null</code> * * @pre !isAbstract() * @pre canMap() * */ + public void addChild(ACSObject object, BigDecimal sortKey) { + addMapping(object, "child", sortKey); + } + public void addChild(ACSObject object) { - addMapping(object, "child"); + addChild(object, null); } /** @@ -1149,21 +1158,25 @@ /** * Adds the passed in object to the correct association. + * + * @param acsObj Object to add to the category + * @param relationType Type of the relation + * @param sortKey Optional sort key. May be <code>null</code>. * * @pre canMap() */ - private void addMapping(ACSObject acsObj, String relationType) { + private void addMapping(ACSObject acsObj, String relationType, BigDecimal sortKey) { if (acsObj instanceof Category) { addMapping((Category) acsObj, relationType); return; } Assert.isFalse(isAbstract(), - "You cannot categorize an object " - + "within an abstract category. If you are " - + "seeing this message then your UI is " - + "allowing you to do something that you " - + "are not allowed to do and you " - + "should email your site administrator."); + "You cannot categorize an object " + + "within an abstract category. If you are " + + "seeing this message then your UI is " + + "allowing you to do something that you " + + "are not allowed to do and you " + + "should email your site administrator."); if (RELATED.equals(relationType)) { throw new CategorizationException( @@ -1172,21 +1185,24 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, acsObj.getID()); if (cursor.size() == 0) { // if the cursor.size() > 0 then the object is already // a child and does not need to be added again. - add(CHILD_OBJECTS, acsObj); + DataObject link = add(CHILD_OBJECTS, acsObj); + if (sortKey != null) { + link.set("sortKey", sortKey); + } Categorization.triggerMapEvent(this, acsObj); if (s_log.isDebugEnabled()) { s_log.debug(acsObj + " added to " + CHILD_OBJECTS + " of catID=" - + getID() + " type=" + relationType + " (ignored)"); + + getID() + " type=" + relationType + " (ignored)"); } } else { if (s_log.isDebugEnabled()) { s_log.debug(acsObj + " is already related to catID=" + getID() - + " type=" + relationType + " (ignored)"); + + " type=" + relationType + " (ignored)"); } } } @@ -1195,8 +1211,8 @@ // Let's check for loops. if ("child".equals(relationType) && category.isMemberOfSubtree(this)) { throw new CategorizationException("The object that you are " - + "trying to add as a child is already " - + "a member of the subtree."); + + "trying to add as a child is already " + + "a member of the subtree."); } @@ -1204,7 +1220,7 @@ // Otherwise, we add and then update. DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); cursor.addEqualsFilter(ID, category.getID()); DataObject link; if (cursor.next()) { @@ -1223,7 +1239,7 @@ cursor.close(); if (s_log.isDebugEnabled()) { s_log.debug("updating related catID=" + category.getID() + " type=" - + relationType + " default=false"); + + relationType + " default=false"); } link.set(REL_TYPE, relationType); @@ -1400,7 +1416,7 @@ */ public long getParentCategoryCount() { DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); try { return cursor.size(); } finally { @@ -1432,7 +1448,7 @@ boolean found = false; DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); while (cursor.next()) { DataObject category = cursor.getDataObject(); DataObject link = cursor.getLink(); @@ -1468,7 +1484,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, child.getID()); if (cursor.next()) { @@ -1534,7 +1550,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, child.getID()); if (cursor.next()) { @@ -1590,7 +1606,7 @@ private void swapCategoryKeys(int key, int nextKey) { swapKeys(getSession().retrieveDataOperation( "com.arsdigita.categorization.swapCategoryWithNextCategory"), - key, nextKey); + key, nextKey); } /** @@ -1599,7 +1615,7 @@ private void swapObjectKeys(int key, int nextKey) { swapKeys(getSession().retrieveDataOperation( "com.arsdigita.categorization.swapObjectWithNextObject"), - key, nextKey); + key, nextKey); } /** @@ -1628,6 +1644,24 @@ } } + public BigDecimal getSortKey(final ACSObject object) { + return getSortKey(object.getID()); + } + + public BigDecimal getSortKey(final BigDecimal objId) { + final DataAssociationCursor cursor = ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + cursor.addEqualsFilter(ID, objId); + if (cursor.next()) { + return (BigDecimal) cursor.getLink().get(SORT_KEY); + } + + return null; + } + + public void setSortKey(ACSObject object, int key) { + setSortKey(object, new BigDecimal(key)); + } + /** * Explicitly sets the sort key for this child object (category or * otherwise). @@ -1635,19 +1669,19 @@ * @param child The child object or category to set the sortKey for * @param key The integer to use for the sortKey */ - public void setSortKey(ACSObject child, int key) { + public void setSortKey(ACSObject child, BigDecimal key) { if (isCategory(child)) { setSortKey((Category) child, key); return; } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, child.getID()); if (cursor.next()) { DataObject link = cursor.getLink(); - link.set(SORT_KEY, new BigDecimal(key)); + link.set(SORT_KEY, key); } cursor.close(); } @@ -1668,7 +1702,7 @@ BigDecimal key2; DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, childID1); if (cursor.next()) { link1 = cursor.getLink(); @@ -1714,10 +1748,10 @@ */ public DataAssociationCursor getRelatedCategories(String relation) { Assert.isTrue(relation.equals(CHILD) || relation.equals(RELATED) - || relation.equals(PREFERRED), - " invalid relation {" + relation + "}"); + || relation.equals(PREFERRED), + " invalid relation {" + relation + "}"); DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); cursor.addEqualsFilter("link.relationType", relation); return cursor; } @@ -1799,7 +1833,7 @@ } StringBuilder sb = - new StringBuilder(path.length() + pathExtension.length() + 1); + new StringBuilder(path.length() + pathExtension.length() + 1); sb.append(path).append(".").append(pathExtension); return sb.toString(); } @@ -1813,7 +1847,7 @@ */ public long getNumberOfChildObjects() { DataAssociationCursor association = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); if (association == null) { return 0; } else { @@ -1838,7 +1872,7 @@ */ public Category getDefaultParentCategory() { DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); cursor.addEqualsFilter("link.isDefault", Boolean.TRUE); try { @@ -1850,7 +1884,7 @@ } throw new CategoryNotFoundException("The Category " + this + " does " - + "not have a default parent"); + + "not have a default parent"); } /** @@ -1901,7 +1935,7 @@ */ public CategoryCollection getDefaultAscendants() { DataCollection collection = - getSession().retrieve(BASE_DATA_OBJECT_TYPE); + getSession().retrieve(BASE_DATA_OBJECT_TYPE); String ids = (String) get(DEFAULT_ANCESTORS); if (ids == null) { @@ -1958,7 +1992,7 @@ */ public CategorizedCollection getDescendantObjects() { return getDescendantObjects(ACSObject.BASE_DATA_OBJECT_TYPE, - "categories.roTransParents"); + "categories.roTransParents"); } private static String appendID(String path) { @@ -1968,7 +2002,7 @@ } public CategorizedCollection getDescendantObjects(String objectType, - String path) { + String path) { s_log.info("retrieving objectType=" + objectType + "; path=" + path); final CategorizedCollection result = new CategorizedCollection(getSession(). retrieve(objectType)); @@ -2041,6 +2075,7 @@ public String getToken() { return m_token; } + } @Override @@ -2059,7 +2094,7 @@ DataCollection dc = SessionManager.getSession().retrieve( "com.arsdigita.categorization.UseContext"); dc.addFilter("categoryOwner.id = :ownerID").set("ownerID", - acsObj.getID()); + acsObj.getID()); return dc; } @@ -2106,9 +2141,9 @@ DataObject secondRoot = cats.getDataObject(); cats.close(); throw new IllegalStateException("there is more than one root for object:\n" - + object + "\nfirst root: " - + triple + "\nsecond root: " - + secondRoot); + + object + "\nfirst root: " + + triple + "\nsecond root: " + + secondRoot); } cats.close(); } @@ -2149,14 +2184,14 @@ * @param root the root category for the object */ public static void setRootForObject(ACSObject acsObj, Category rootCat, - String context) { + String context) { DataCollection rootCats = getRootCategoriesAssoc(acsObj); rootCats.addEqualsFilter(USE_CONTEXT, context); if (rootCats.next()) { DataObject triple = rootCats.getDataObject(); triple.set(ROOT_CATEGORY, - DomainServiceInterfaceExposer.getDataObject(rootCat)); + DomainServiceInterfaceExposer.getDataObject(rootCat)); rootCats.close(); return; } @@ -2173,9 +2208,9 @@ throw new UncheckedWrapperException(ex); } triple.set(CATEGORY_OWNER, - DomainServiceInterfaceExposer.getDataObject(acsObj)); + DomainServiceInterfaceExposer.getDataObject(acsObj)); triple.set(ROOT_CATEGORY, - DomainServiceInterfaceExposer.getDataObject(rootCat)); + DomainServiceInterfaceExposer.getDataObject(rootCat)); triple.set(USE_CONTEXT, context); } @@ -2292,7 +2327,7 @@ * Add a new language set to this category */ public boolean addLanguage(String locale, String name, String description, - String url) { + String url) { // If locale don't exist if (!locale.isEmpty() && m_categoryLocalizationCollection != null && !m_categoryLocalizationCollection. @@ -2344,4 +2379,5 @@ return false; } + } Modified: releases/2.0.0/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java =================================================================== --- releases/2.0.0/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java 2012-12-17 13:04:19 UTC (rev 2409) +++ releases/2.0.0/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java 2012-12-17 13:07:53 UTC (rev 2410) @@ -21,6 +21,7 @@ import com.arsdigita.kernel.ACSObject; import com.arsdigita.kernel.ACSObjectCollection; import com.arsdigita.persistence.DataCollection; +import java.math.BigDecimal; /** * Represents a collection of categories. @@ -84,6 +85,10 @@ return getCategory(); } + public BigDecimal getSortKey() { + return (BigDecimal) get("link.sortKey"); + } + /** * Sorts the category collection by the category sort key. * |
From: <pb...@fe...> - 2012-12-17 13:04:36
|
Author: pboy Date: 2012-12-17 13:04:19 +0000 (Mon, 17 Dec 2012) New Revision: 2409 Modified: releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js Log: Fixed ASCIIMathML equation Xinha plugin (backport r2405, Strings amath & graph will work now). (on behalf of quasimodo) Modified: releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js =================================================================== --- releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 12:55:07 UTC (rev 2408) +++ releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 13:04:19 UTC (rev 2409) @@ -1,2 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -var mathcolor="blue";var mathfontsize="1em";var mathfontfamily="serif";var automathrecognize=false;var checkForMathML=true;var notifyIfNoMathML=true;var alertIfNoMathML=false;var translateOnLoad=true;var translateLaTeX=true;var translateLaTeXformatting=true;var translateASCIIMath=true;var translateASCIIsvg=true;var avoidinnerHTML=false;var displaystyle=true;var showasciiformulaonhover=true;var decimalsign=".";var AMdelimiter1="`",AMescape1="\\\\`";var AMdocumentId="wikitext";var checkforprocessasciimathinmoodle=false;var dsvglocation="";var isIE=document.createElementNS==null;var noMathML=false,translated=false;if(isIE){document.write('<object id="mathplayer" classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987"></object>');document.write('<?import namespace="m" implementation="#mathplayer"?>')}function setStylesheet(a){var c="AMMLcustomStyleSheet";var b=document.getElementById(c);if(document.createStyleSheet){if(b){b.parentNode.removeChild(b)}document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," <style id='"+c+"'>"+a+"</style>")}else{if(b){b.replaceChild(document.createTextNode(a),b.firstChild)}else{b=document.createElement("style");b.type="text/css";b.id=c;b.appendChild(document.createTextNode(a));document.getElementsByTagName("head")[0].appendChild(b)}}}setStylesheet("#AMMLcloseDiv {font-size:0.8em; padding-top:1em; color:#014}\n#AMMLwarningBox {position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30}");function init(){var b,a=new Array();if(document.getElementById==null){alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer");return null}if(checkForMathML&&(b=checkMathML())){a.push(b)}if(checkIfSVGavailable&&(b=checkSVG())){a.push(b)}if(a.length>0){displayWarnings(a)}if(!noMathML){initSymbols()}return true}function checkMathML(){if(navigator.appName.slice(0,8)=="Netscape"){if(navigator.appVersion.slice(0,1)>="5"){noMathML=null}else{noMathML=true}}else{if(navigator.appName.slice(0,9)=="Microsoft"){try{var c=new ActiveXObject("MathPlayer.Factory.1");noMathML=null}catch(a){noMathML=true}}else{if(navigator.appName.slice(0,5)=="Opera"){if(navigator.appVersion.slice(0,3)>="9.5"){noMathML=null}else{noMathML=true}}}}if(noMathML&¬ifyIfNoMathML){var b="To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.";if(alertIfNoMathML){alert(b)}else{return b}}}function hideWarning(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("AMMLwarningBox"));a.onclick=null}function displayWarnings(b){var c,g,f=createElementXHTML("div");var a=document.getElementsByTagName("body")[0];a.onclick=hideWarning;f.id="AMMLwarningBox";for(c=0;c<b.length;c++){g=createElementXHTML("div");g.appendChild(document.createTextNode(b[c]));g.style.paddingBottom="1.0em";f.appendChild(g)}f.appendChild(createElementXHTML("p"));f.appendChild(document.createTextNode("For instructions see the "));var d=createElementXHTML("a");d.appendChild(document.createTextNode("ASCIIMathML"));d.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html");f.appendChild(d);f.appendChild(document.createTextNode(" homepage"));d=createElementXHTML("div");d.id="AMMLcloseDiv";d.appendChild(document.createTextNode("(click anywhere to close this warning)"));f.appendChild(d);var a=document.getElementsByTagName("body")[0];a.insertBefore(f,a.childNodes[0])}function translate(b){if(!translated){translated=true;var a=document.getElementsByTagName("body")[0];var c=document.getElementById(AMdocumentId);if(translateLaTeX){LMprocessNode((c!=null?c:a))}if(translateASCIIMath){AMprocessNode((c!=null?c:a),false,b)}}}function createElementXHTML(a){if(isIE){return document.createElement(a)}else{return document.createElementNS("http://www.w3.org/1999/xhtml",a)}}function createMmlNode(a,c){if(isIE){var b=document.createElement("m:"+a)}else{var b=document.createElementNS("http://www.w3.org/1998/Math/MathML",a)}if(c){b.appendChild(c)}return b}var AMcal=[61237,8492,61238,61239,8496,8497,61240,8459,8464,61241,61242,8466,8499,61243,61244,61245,61246,8475,61247,61248,61249,61250,61251,61252,61253,61254];var AMfrk=[61277,61278,8493,61279,61280,61281,61282,8460,8465,61283,61284,61285,61286,61287,61288,61289,61290,8476,61291,61292,61293,61294,61295,61296,61297,8488];var AMbbb=[61324,61325,8450,61326,61327,61328,61329,8461,61330,61331,61332,61333,61334,8469,61335,8473,8474,8477,61336,61337,61338,61339,61340,61341,61342,8484];var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10,BIG=11,LONG=12,STRETCHY=13,MATRIX=14;var AMquote={input:'"',tag:"mtext",output:"mbox",tex:null,ttype:TEXT};var AMsymbols=[{input:"alpha",tag:"mi",output:"\u03B1",tex:null,ttype:CONST},{input:"beta",tag:"mi",output:"\u03B2",tex:null,ttype:CONST},{input:"chi",tag:"mi",output:"\u03C7",tex:null,ttype:CONST},{input:"delta",tag:"mi",output:"\u03B4",tex:null,ttype:CONST},{input:"Delta",tag:"mo",output:"\u0394",tex:null,ttype:CONST},{input:"epsi",tag:"mi",output:"\u03B5",tex:"epsilon",ttype:CONST},{input:"varepsilon",tag:"mi",output:"\u025B",tex:null,ttype:CONST},{input:"eta",tag:"mi",output:"\u03B7",tex:null,ttype:CONST},{input:"gamma",tag:"mi",output:"\u03B3",tex:null,ttype:CONST},{input:"Gamma",tag:"mo",output:"\u0393",tex:null,ttype:CONST},{input:"iota",tag:"mi",output:"\u03B9",tex:null,ttype:CONST},{input:"kappa",tag:"mi",output:"\u03BA",tex:null,ttype:CONST},{input:"lambda",tag:"mi",output:"\u03BB",tex:null,ttype:CONST},{input:"Lambda",tag:"mo",output:"\u039B",tex:null,ttype:CONST},{input:"mu",tag:"mi",output:"\u03BC",tex:null,ttype:CONST},{input:"nu",tag:"mi",output:"\u03BD",tex:null,ttype:CONST},{input:"omega",tag:"mi",output:"\u03C9",tex:null,ttype:CONST},{input:"Omega",tag:"mo",output:"\u03A9",tex:null,ttype:CONST},{input:"phi",tag:"mi",output:"\u03C6",tex:null,ttype:CONST},{input:"varphi",tag:"mi",output:"\u03D5",tex:null,ttype:CONST},{input:"Phi",tag:"mo",output:"\u03A6",tex:null,ttype:CONST},{input:"pi",tag:"mi",output:"\u03C0",tex:null,ttype:CONST},{input:"Pi",tag:"mo",output:"\u03A0",tex:null,ttype:CONST},{input:"psi",tag:"mi",output:"\u03C8",tex:null,ttype:CONST},{input:"Psi",tag:"mi",output:"\u03A8",tex:null,ttype:CONST},{input:"rho",tag:"mi",output:"\u03C1",tex:null,ttype:CONST},{input:"sigma",tag:"mi",output:"\u03C3",tex:null,ttype:CONST},{input:"Sigma",tag:"mo",output:"\u03A3",tex:null,ttype:CONST},{input:"tau",tag:"mi",output:"\u03C4",tex:null,ttype:CONST},{input:"theta",tag:"mi",output:"\u03B8",tex:null,ttype:CONST},{input:"vartheta",tag:"mi",output:"\u03D1",tex:null,ttype:CONST},{input:"Theta",tag:"mo",output:"\u0398",tex:null,ttype:CONST},{input:"upsilon",tag:"mi",output:"\u03C5",tex:null,ttype:CONST},{input:"xi",tag:"mi",output:"\u03BE",tex:null,ttype:CONST},{input:"Xi",tag:"mo",output:"\u039E",tex:null,ttype:CONST},{input:"zeta",tag:"mi",output:"\u03B6",tex:null,ttype:CONST},{input:"*",tag:"mo",output:"\u22C5",tex:"cdot",ttype:CONST},{input:"**",tag:"mo",output:"\u22C6",tex:"star",ttype:CONST},{input:"//",tag:"mo",output:"/",tex:null,ttype:CONST},{input:"\\\\",tag:"mo",output:"\\",tex:"backslash",ttype:CONST},{input:"setminus",tag:"mo",output:"\\",tex:null,ttype:CONST},{input:"xx",tag:"mo",output:"\u00D7",tex:"times",ttype:CONST},{input:"-:",tag:"mo",output:"\u00F7",tex:"divide",ttype:CONST},{input:"@",tag:"mo",output:"\u26AC",tex:"circ",ttype:CONST},{input:"o+",tag:"mo",output:"\u2295",tex:"oplus",ttype:CONST},{input:"ox",tag:"mo",output:"\u2297",tex:"otimes",ttype:CONST},{input:"o.",tag:"mo",output:"\u2299",tex:"odot",ttype:CONST},{input:"sum",tag:"mo",output:"\u2211",tex:null,ttype:UNDEROVER},{input:"prod",tag:"mo",output:"\u220F",tex:null,ttype:UNDEROVER},{input:"^^",tag:"mo",output:"\u2227",tex:"wedge",ttype:CONST},{input:"^^^",tag:"mo",output:"\u22C0",tex:"bigwedge",ttype:UNDEROVER},{input:"vv",tag:"mo",output:"\u2228",tex:"vee",ttype:CONST},{input:"vvv",tag:"mo",output:"\u22C1",tex:"bigvee",ttype:UNDEROVER},{input:"nn",tag:"mo",output:"\u2229",tex:"cap",ttype:CONST},{input:"nnn",tag:"mo",output:"\u22C2",tex:"bigcap",ttype:UNDEROVER},{input:"uu",tag:"mo",output:"\u222A",tex:"cup",ttype:CONST},{input:"uuu",tag:"mo",output:"\u22C3",tex:"bigcup",ttype:UNDEROVER},{input:"!=",tag:"mo",output:"\u2260",tex:"ne",ttype:CONST},{input:":=",tag:"mo",output:":=",tex:null,ttype:CONST},{input:"lt",tag:"mo",output:"<",tex:null,ttype:CONST},{input:"<=",tag:"mo",output:"\u2264",tex:"le",ttype:CONST},{input:"lt=",tag:"mo",output:"\u2264",tex:"leq",ttype:CONST},{input:">=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227A",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227A",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227B",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2AAF",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2AB0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221D",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\u00AC",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21D2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21D4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22A5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22A4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22A2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22A8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232A",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232A",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222B",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222E",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\u00B1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221E",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\u00A0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\u00A0\u00A0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\u00A0\u00A0\u00A0\u00A0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22EF",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22EE",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22F1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22C4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25A1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230A",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230B",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211A",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211D",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:">->",tag:"mo",output:"\u21A3",tex:"rightarrowtail",ttype:CONST},{input:"->>",tag:"mo",output:"\u21A0",tex:"twoheadrightarrow",ttype:CONST},{input:">->>",tag:"mo",output:"\u2916",tex:"twoheadrightarrowtail",ttype:CONST},{input:"|->",tag:"mo",output:"\u21A6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21D2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21D0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21D4",tex:"Leftrightarrow",ttype:CONST},{input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},{input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},{input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},{input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},{input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},{input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},{input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},{input:"hat",tag:"mover",output:"\u005E",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\u00AF",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},{input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},{input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}];function compareNames(b,a){if(b.input>a.input){return 1}else{return -1}}var AMnames=[];function initSymbols(){var b=[],a;for(a=0;a<AMsymbols.length;a++){if(AMsymbols[a].tex){b[b.length]={input:AMsymbols[a].tex,tag:AMsymbols[a].tag,output:AMsymbols[a].output,ttype:AMsymbols[a].ttype}}}AMsymbols=AMsymbols.concat(b);refreshSymbols()}function refreshSymbols(){var a;AMsymbols.sort(compareNames);for(a=0;a<AMsymbols.length;a++){AMnames[a]=AMsymbols[a].input}LMsymbols.sort(compareNames);for(a=0;a<LMsymbols.length;a++){LMnames[a]=LMsymbols[a].input}}function define(b,a){if(b.substr(0,1)=="\\"){LMsymbols=LMsymbols.concat([{input:b,tag:"mo",output:a,ttype:DEFINITION}])}else{AMsymbols=AMsymbols.concat([{input:b,tag:"mo",output:a,tex:null,ttype:DEFINITION}])}refreshSymbols()}function AMremoveCharsAndBlanks(c,d){var a;if(c.charAt(d)=="\\"&&c.charAt(d+1)!="\\"&&c.charAt(d+1)!=" "){a=c.slice(d+1)}else{a=c.slice(d)}for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function position(b,f,g){if(g==0){var d,a;g=-1;d=b.length;while(g+1<d){a=(g+d)>>1;if(b[a]<f){g=a}else{d=a}}return d}else{for(var c=g;c<b.length&&b[c]<f;c++){}}return c}function AMgetSymbol(h){var a=0;var b=0;var d;var m;var n;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){m=h.slice(0,c);b=a;a=position(AMnames,m,b);if(a<AMnames.length&&h.slice(0,AMnames[a].length)==AMnames[a]){f=AMnames[a];d=a;c=f.length}g=a<AMnames.length&&h.slice(0,AMnames[a].length)>=AMnames[a]}AMpreviousSymbol=AMcurrentSymbol;if(f!=""){AMcurrentSymbol=AMsymbols[d].ttype;return AMsymbols[d]}AMcurrentSymbol=CONST;a=1;m=h.slice(0,1);var l=true;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}if(m==decimalsign){m=h.slice(a,a+1);if("0"<=m&&m<="9"){l=false;a++;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}}}if((l&&a>1)||a>2){m=h.slice(0,a-1);n="mn"}else{a=2;m=h.slice(0,1);n=(("A">m||m>"Z")&&("a">m||m>"z")?"mo":"mi")}if(m=="-"&&AMpreviousSymbol==INFIX){AMcurrentSymbol=INFIX;return{input:m,tag:n,output:m,ttype:UNARY,func:true}}return{input:m,tag:n,output:m,ttype:CONST}}function AMremoveBrackets(b){var a;if(b.nodeName=="mrow"){a=b.firstChild.firstChild.nodeValue;if(a=="("||a=="["||a=="{"){b.removeChild(b.firstChild)}}if(b.nodeName=="mrow"){a=b.lastChild.firstChild.nodeValue;if(a==")"||a=="]"||a=="}"){b.removeChild(b.lastChild)}}}var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;function AMparseSexpr(h){var d,b,k,f,m,g=document.createDocumentFragment();h=AMremoveCharsAndBlanks(h,0);d=AMgetSymbol(h);if(d==null||d.ttype==RIGHTBRACKET&&AMnestingDepth>0){return[null,h]}if(d.ttype==DEFINITION){h=d.output+AMremoveCharsAndBlanks(h,d.input.length);d=AMgetSymbol(h)}switch(d.ttype){case UNDEROVER:case CONST:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h];case LEFTBRACKET:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,true);AMnestingDepth--;if(typeof d.invisible=="boolean"&&d.invisible){b=createMmlNode("mrow",k[0])}else{b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0])}return[b,k[1]];case TEXT:if(d!=AMquote){h=AMremoveCharsAndBlanks(h,d.input.length)}if(h.charAt(0)=="{"){f=h.indexOf("}")}else{if(h.charAt(0)=="("){f=h.indexOf(")")}else{if(h.charAt(0)=="["){f=h.indexOf("]")}else{if(d==AMquote){f=h.slice(1).indexOf('"')+1}else{f=0}}}}if(f==-1){f=h.length}m=h.slice(1,f);if(m.charAt(0)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}g.appendChild(createMmlNode(d.tag,document.createTextNode(m)));if(m.charAt(m.length-1)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}h=AMremoveCharsAndBlanks(h,f+1);return[createMmlNode("mrow",g),h];case UNARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}if(typeof d.func=="boolean"&&d.func){m=h.charAt(0);if(m=="^"||m=="_"||m=="/"||m=="|"||m==","){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}else{b=createMmlNode("mrow",createMmlNode(d.tag,document.createTextNode(d.output)));b.appendChild(k[0]);return[b,k[1]]}}AMremoveBrackets(k[0]);if(d.input=="sqrt"){return[createMmlNode(d.tag,k[0]),k[1]]}else{if(typeof d.acc=="boolean"&&d.acc){b=createMmlNode(d.tag,k[0]);b.appendChild(createMmlNode("mo",document.createTextNode(d.output)));return[b,k[1]]}else{if(!isIE&&typeof d.codes!="undefined"){for(f=0;f<k[0].childNodes.length;f++){if(k[0].childNodes[f].nodeName=="mi"||k[0].nodeName=="mi"){m=(k[0].nodeName=="mi"?k[0].firstChild.nodeValue:k[0].childNodes[f].firstChild.nodeValue);var l=[];for(var c=0;c<m.length;c++){if(m.charCodeAt(c)>64&&m.charCodeAt(c)<91){l=l+String.fromCharCode(d.codes[m.charCodeAt(c)-65])}else{l=l+m.charAt(c)}}if(k[0].nodeName=="mi"){k[0]=createMmlNode("mo").appendChild(document.createTextNode(l))}else{k[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(l)),k[0].childNodes[f])}}}}b=createMmlNode(d.tag,k[0]);b.setAttribute(d.atname,d.atval);return[b,k[1]]}}case BINARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(k[0]);var a=AMparseSexpr(k[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(a[0]);if(d.input=="root"||d.input=="stackrel"){g.appendChild(a[0])}g.appendChild(k[0]);if(d.input=="frac"){g.appendChild(a[0])}return[createMmlNode(d.tag,g),a[1]];case INFIX:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode("mo",document.createTextNode(d.output)),h];case SPACE:h=AMremoveCharsAndBlanks(h,d.input.length);b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);g.appendChild(createMmlNode(d.tag,document.createTextNode(d.output)));b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);return[createMmlNode("mrow",g),h];case LEFTRIGHT:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,false);AMnestingDepth--;var m="";if(k[0].lastChild!=null){m=k[0].lastChild.firstChild.nodeValue}if(m=="|"){b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0]);return[b,k[1]]}else{b=createMmlNode("mo",document.createTextNode("\u2223"));b=createMmlNode("mrow",b);return[b,h]}default:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}}function AMparseIexpr(h){var a,j,g,d,f,b;h=AMremoveCharsAndBlanks(h,0);j=AMgetSymbol(h);f=AMparseSexpr(h);d=f[0];h=f[1];a=AMgetSymbol(h);if(a.ttype==INFIX&&a.input!="/"){h=AMremoveCharsAndBlanks(h,a.input.length);f=AMparseSexpr(h);if(f[0]==null){f[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(f[0])}h=f[1];if(a.input=="_"){g=AMgetSymbol(h);b=(j.ttype==UNDEROVER);if(g.input=="^"){h=AMremoveCharsAndBlanks(h,g.input.length);var c=AMparseSexpr(h);AMremoveBrackets(c[0]);h=c[1];d=createMmlNode((b?"munderover":"msubsup"),d);d.appendChild(f[0]);d.appendChild(c[0]);d=createMmlNode("mrow",d)}else{d=createMmlNode((b?"munder":"msub"),d);d.appendChild(f[0])}}else{d=createMmlNode(a.tag,d);d.appendChild(f[0])}}return[d,h]}function AMparseExpr(p,q){var x,o,a,t,z=[],g=document.createDocumentFragment();do{p=AMremoveCharsAndBlanks(p,0);a=AMparseIexpr(p);o=a[0];p=a[1];x=AMgetSymbol(p);if(x.ttype==INFIX&&x.input=="/"){p=AMremoveCharsAndBlanks(p,x.input.length);a=AMparseIexpr(p);if(a[0]==null){a[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(a[0])}p=a[1];AMremoveBrackets(o);o=createMmlNode(x.tag,o);o.appendChild(a[0]);g.appendChild(o);x=AMgetSymbol(p)}else{if(o!=undefined){g.appendChild(o)}}}while((x.ttype!=RIGHTBRACKET&&(x.ttype!=LEFTRIGHT||q)||AMnestingDepth==0)&&x!=null&&x.output!="");if(x.ttype==RIGHTBRACKET||x.ttype==LEFTRIGHT){var v=g.childNodes.length;if(v>0&&g.childNodes[v-1].nodeName=="mrow"&&v>1&&g.childNodes[v-2].nodeName=="mo"&&g.childNodes[v-2].firstChild.nodeValue==","){var A=g.childNodes[v-1].lastChild.firstChild.nodeValue;if(A==")"||A=="]"){var c=g.childNodes[v-1].firstChild.firstChild.nodeValue;if(c=="("&&A==")"&&x.output!="}"||c=="["&&A=="]"){var d=[];var w=true;var l=g.childNodes.length;for(t=0;w&&t<l;t=t+2){d[t]=[];o=g.childNodes[t];if(w){w=o.nodeName=="mrow"&&(t==l-1||o.nextSibling.nodeName=="mo"&&o.nextSibling.firstChild.nodeValue==",")&&o.firstChild.firstChild.nodeValue==c&&o.lastChild.firstChild.nodeValue==A}if(w){for(var s=0;s<o.childNodes.length;s++){if(o.childNodes[s].firstChild.nodeValue==","){d[t][d[t].length]=s}}}if(w&&t>1){w=d[t].length==d[t-2].length}}if(w){var f,b,h,r,y=document.createDocumentFragment();for(t=0;t<l;t=t+2){f=document.createDocumentFragment();b=document.createDocumentFragment();o=g.firstChild;h=o.childNodes.length;r=0;o.removeChild(o.firstChild);for(s=1;s<h-1;s++){if(typeof d[t][r]!="undefined"&&s==d[t][r]){o.removeChild(o.firstChild);f.appendChild(createMmlNode("mtd",b));r++}else{b.appendChild(o.firstChild)}}f.appendChild(createMmlNode("mtd",b));if(g.childNodes.length>2){g.removeChild(g.firstChild);g.removeChild(g.firstChild)}y.appendChild(createMmlNode("mtr",f))}o=createMmlNode("mtable",y);if(typeof x.invisible=="boolean"&&x.invisible){o.setAttribute("columnalign","left")}g.replaceChild(o,g.firstChild)}}}}p=AMremoveCharsAndBlanks(p,x.input.length);if(typeof x.invisible!="boolean"||!x.invisible){o=createMmlNode("mo",document.createTextNode(x.output));g.appendChild(o)}}return[g,p]}function parseMath(c,b){var d,a;AMnestingDepth=0;d=b?LMparseExpr(c.replace(/^\s+/g,""),false,false)[0]:AMparseExpr(c.replace(/^\s+/g,""),false)[0];a=createMmlNode("mstyle",d);a.setAttribute("mathcolor",mathcolor);a.setAttribute("fontfamily",mathfontfamily);a.setAttribute("mathsize",mathfontsize);if(displaystyle){a.setAttribute("displaystyle","true")}a=createMmlNode("math",a);if(showasciiformulaonhover){a.setAttribute("title",c.replace(/\s+/g," "))}return a}function strarr2docFrag(a,d,g){var k=document.createDocumentFragment();var h=false;for(var f=0;f<a.length;f++){if(h){k.appendChild(parseMath(a[f],g))}else{var b=(d?a[f].split("\n\n"):[a[f]]);k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[0])));for(var c=1;c<b.length;c++){k.appendChild(createElementXHTML("p"));k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[c])))}}h=!h}return k}function AMautomathrec(m){var b="\\\\[a-zA-Z]+|\\\\\\s|";var k="\\b(?:oo|lim|ln|int|oint|del|grad|aleph|prod|prop|sinh|cosh|tanh|cos|sec|pi|tt|fr|sf|sube|supe|sub|sup|det|mod|gcd|lcm|min|max|vec|ddot|ul|chi|eta|nu|mu)(?![a-z])|";var l="\\b(?:sum|ox|log|sin|tan|dim|hat|bar|dot)(?![a-z])|";var g="|\\bI\\b|\\bin\\b|\\btext\\b";var a="NN|ZZ|QQ|RR|CC|TT|AA|EE|sqrt|dx|dy|dz|dt|xx|vv|uu|nn|bb|cc|csc|cot|alpha|beta|delta|Delta|epsilon|gamma|Gamma|kappa|lambda|Lambda|omega|phi|Phi|Pi|psi|Psi|rho|sigma|Sigma|tau|theta|Theta|xi|Xi|zeta";var j="[a-zA-HJ-Z](?=(?:[^a-zA-Z]|$|"+k+l+a+"))|";var c=j+b+"\\d+|[-()[\\]{}+=*&^_%\\@/<>,\\|!:;'~]|\\.(?!(?:\x20|$))|"+k+l+a;var n=new RegExp("(^|\\s)((("+c+")\\s?)(("+c+g+")\\s?)+)([,.?]?(?=\\s|$))","g");m=m.replace(n," `$2`$7");var f=m.split(AMdelimiter1);var h=new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+b+k+a+")(\\s|\\n|$)","g");var d=new RegExp("(^|\\s)([a-z]|"+b+k+a+")([,.])","g");for(i=0;i<f.length;i++){if(i%2==0){f[i]=f[i].replace(h," `$2`$3");f[i]=f[i].replace(d," `$2`$3");f[i]=f[i].replace(/([{}[\]])/,"`$1`")}}m=f.join(AMdelimiter1);m=m.replace(/((^|\s)\([a-zA-Z]{2,}.*?)\)`/g,"$1`)");m=m.replace(/`(\((a\s|in\s))(.*?[a-zA-Z]{2,}\))/g,"$1`$3");m=m.replace(/\sin`/g,"` in");m=m.replace(/`(\(\w\)[,.]?(\s|\n|$))/g,"$1`");m=m.replace(/`([0-9.]+|e.g|i.e)`(\.?)/gi,"$1$2");m=m.replace(/`([0-9.]+:)`/g,"$1");return m}function processNodeR(c,h,b){var k,j,f,a,d;if(c.childNodes.length==0){if((c.nodeType!=8||h)&&c.parentNode.nodeName!="form"&&c.parentNode.nodeName!="FORM"&&c.parentNode.nodeName!="textarea"&&c.parentNode.nodeName!="TEXTAREA"){j=c.nodeValue;if(!(j==null)){j=j.replace(/\r\n\r\n/g,"\n\n");j=j.replace(/\x20+/g," ");j=j.replace(/\s*\r\n/g," ");if(b){k=(j.indexOf("$")==-1?false:true);j=j.replace(/([^\\])\$/g,"$1 $");j=j.replace(/^\$/," $");f=j.split(" $");for(d=0;d<f.length;d++){f[d]=f[d].replace(/\\\$/g,"$")}}else{k=false;j=j.replace(new RegExp(AMescape1,"g"),function(){k=true;return"AMescape1"});j=j.replace(/\\?end{?a?math}?/i,function(){automathrecognize=false;k=true;return""});j=j.replace(/amath\b|\\begin{a?math}/i,function(){automathrecognize=true;k=true;return""});f=j.split(AMdelimiter1);if(automathrecognize){for(d=0;d<f.length;d++){if(d%2==0){f[d]=AMautomathrec(f[d])}}}j=f.join(AMdelimiter1);f=j.split(AMdelimiter1);for(d=0;d<f.length;d++){f[d]=f[d].replace(/AMescape1/g,AMdelimiter1)}}if(f.length>1||k){if(!noMathML){a=strarr2docFrag(f,c.nodeType==8,b);var g=a.childNodes.length;c.parentNode.replaceChild(a,c);return g-1}else{return 0}}}}else{return 0}}else{if(c.nodeName!="math"){for(d=0;d<c.childNodes.length;d++){d+=processNodeR(c.childNodes[d],h,b)}}}return 0}function AMprocessNode(h,c,a){var g,b;if(a!=null){g=document.getElementsByTagName("span");for(var d=0;d<g.length;d++){if(g[d].className=="AM"){processNodeR(g[d],c,false)}}}else{try{b=h.innerHTML}catch(f){}if(b==null||/amath\b|\\begin{a?math}/i.test(b)||b.indexOf(AMdelimiter1+" ")!=-1||b.slice(-1)==AMdelimiter1||b.indexOf(AMdelimiter1+"<")!=-1||b.indexOf(AMdelimiter1+"\n")!=-1){processNodeR(h,c,false)}}}var LMsymbols=[{input:"\\alpha",tag:"mi",output:"\u03B1",ttype:CONST},{input:"\\beta",tag:"mi",output:"\u03B2",ttype:CONST},{input:"\\gamma",tag:"mi",output:"\u03B3",ttype:CONST},{input:"\\delta",tag:"mi",output:"\u03B4",ttype:CONST},{input:"\\epsilon",tag:"mi",output:"\u03B5",ttype:CONST},{input:"\\varepsilon",tag:"mi",output:"\u025B",ttype:CONST},{input:"\\zeta",tag:"mi",output:"\u03B6",ttype:CONST},{input:"\\eta",tag:"mi",output:"\u03B7",ttype:CONST},{input:"\\theta",tag:"mi",output:"\u03B8",ttype:CONST},{input:"\\vartheta",tag:"mi",output:"\u03D1",ttype:CONST},{input:"\\iota",tag:"mi",output:"\u03B9",ttype:CONST},{input:"\\kappa",tag:"mi",output:"\u03BA",ttype:CONST},{input:"\\lambda",tag:"mi",output:"\u03BB",ttype:CONST},{input:"\\mu",tag:"mi",output:"\u03BC",ttype:CONST},{input:"\\nu",tag:"mi",output:"\u03BD",ttype:CONST},{input:"\\xi",tag:"mi",output:"\u03BE",ttype:CONST},{input:"\\pi",tag:"mi",output:"\u03C0",ttype:CONST},{input:"\\varpi",tag:"mi",output:"\u03D6",ttype:CONST},{input:"\\rho",tag:"mi",output:"\u03C1",ttype:CONST},{input:"\\varrho",tag:"mi",output:"\u03F1",ttype:CONST},{input:"\\varsigma",tag:"mi",output:"\u03C2",ttype:CONST},{input:"\\sigma",tag:"mi",output:"\u03C3",ttype:CONST},{input:"\\tau",tag:"mi",output:"\u03C4",ttype:CONST},{input:"\\upsilon",tag:"mi",output:"\u03C5",ttype:CONST},{input:"\\phi",tag:"mi",output:"\u03C6",ttype:CONST},{input:"\\varphi",tag:"mi",output:"\u03D5",ttype:CONST},{input:"\\chi",tag:"mi",output:"\u03C7",ttype:CONST},{input:"\\psi",tag:"mi",output:"\u03C8",ttype:CONST},{input:"\\omega",tag:"mi",output:"\u03C9",ttype:CONST},{input:"\\Gamma",tag:"mo",output:"\u0393",ttype:CONST},{input:"\\Delta",tag:"mo",output:"\u0394",ttype:CONST},{input:"\\Theta",tag:"mo",output:"\u0398",ttype:CONST},{input:"\\Lambda",tag:"mo",output:"\u039B",ttype:CONST},{input:"\\Xi",tag:"mo",output:"\u039E",ttype:CONST},{input:"\\Pi",tag:"mo",output:"\u03A0",ttype:CONST},{input:"\\Sigma",tag:"mo",output:"\u03A3",ttype:CONST},{input:"\\Upsilon",tag:"mo",output:"\u03A5",ttype:CONST},{input:"\\Phi",tag:"mo",output:"\u03A6",ttype:CONST},{input:"\\Psi",tag:"mo",output:"\u03A8",ttype:CONST},{input:"\\Omega",tag:"mo",output:"\u03A9",ttype:CONST},{input:"\\frac12",tag:"mo",output:"\u00BD",ttype:CONST},{input:"\\frac14",tag:"mo",output:"\u00BC",ttype:CONST},{input:"\\frac34",tag:"mo",output:"\u00BE",ttype:CONST},{input:"\\frac13",tag:"mo",output:"\u2153",ttype:CONST},{input:"\\frac23",tag:"mo",output:"\u2154",ttype:CONST},{input:"\\frac15",tag:"mo",output:"\u2155",ttype:CONST},{input:"\\frac25",tag:"mo",output:"\u2156",ttype:CONST},{input:"\\frac35",tag:"mo",output:"\u2157",ttype:CONST},{input:"\\frac45",tag:"mo",output:"\u2158",ttype:CONST},{input:"\\frac16",tag:"mo",output:"\u2159",ttype:CONST},{input:"\\frac56",tag:"mo",output:"\u215A",ttype:CONST},{input:"\\frac18",tag:"mo",output:"\u215B",ttype:CONST},{input:"\\frac38",tag:"mo",output:"\u215C",ttype:CONST},{input:"\\frac58",tag:"mo",output:"\u215D",ttype:CONST},{input:"\\frac78",tag:"mo",output:"\u215E",ttype:CONST},{input:"\\pm",tag:"mo",output:"\u00B1",ttype:CONST},{input:"\\mp",tag:"mo",output:"\u2213",ttype:CONST},{input:"\\triangleleft",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\triangleright",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\cdot",tag:"mo",output:"\u22C5",ttype:CONST},{input:"\\star",tag:"mo",output:"\u22C6",ttype:CONST},{input:"\\ast",tag:"mo",output:"\u002A",ttype:CONST},{input:"\\times",tag:"mo",output:"\u00D7",ttype:CONST},{input:"\\div",tag:"mo",output:"\u00F7",ttype:CONST},{input:"\\circ",tag:"mo",output:"\u2218",ttype:CONST},{input:"\\bullet",tag:"mo",output:"\u2022",ttype:CONST},{input:"\\oplus",tag:"mo",output:"\u2295",ttype:CONST},{input:"\\ominus",tag:"mo",output:"\u2296",ttype:CONST},{input:"\\otimes",tag:"mo",output:"\u2297",ttype:CONST},{input:"\\bigcirc",tag:"mo",output:"\u25CB",ttype:CONST},{input:"\\oslash",tag:"mo",output:"\u2298",ttype:CONST},{input:"\\odot",tag:"mo",output:"\u2299",ttype:CONST},{input:"\\land",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\wedge",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\lor",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\vee",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\cap",tag:"mo",output:"\u2229",ttype:CONST},{input:"\\cup",tag:"mo",output:"\u222A",ttype:CONST},{input:"\\sqcap",tag:"mo",output:"\u2293",ttype:CONST},{input:"\\sqcup",tag:"mo",output:"\u2294",ttype:CONST},{input:"\\uplus",tag:"mo",output:"\u228E",ttype:CONST},{input:"\\amalg",tag:"mo",output:"\u2210",ttype:CONST},{input:"\\bigtriangleup",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\bigtriangledown",tag:"mo",output:"\u25BD",ttype:CONST},{input:"\\dag",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\dagger",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\ddag",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\ddagger",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\lhd",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\rhd",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\unlhd",tag:"mo",output:"\u22B4",ttype:CONST},{input:"\\unrhd",tag:"mo",output:"\u22B5",ttype:CONST},{input:"\\sum",tag:"mo",output:"\u2211",ttype:UNDEROVER},{input:"\\prod",tag:"mo",output:"\u220F",ttype:UNDEROVER},{input:"\\bigcap",tag:"mo",output:"\u22C2",ttype:UNDEROVER},{input:"\\bigcup",tag:"mo",output:"\u22C3",ttype:UNDEROVER},{input:"\\bigwedge",tag:"mo",output:"\u22C0",ttype:UNDEROVER},{input:"\\bigvee",tag:"mo",output:"\u22C1",ttype:UNDEROVER},{input:"\\bigsqcap",tag:"mo",output:"\u2A05",ttype:UNDEROVER},{input:"\\bigsqcup",tag:"mo",output:"\u2A06",ttype:UNDEROVER},{input:"\\coprod",tag:"mo",output:"\u2210",ttype:UNDEROVER},{input:"\\bigoplus",tag:"mo",output:"\u2A01",ttype:UNDEROVER},{input:"\\bigotimes",tag:"mo",output:"\u2A02",ttype:UNDEROVER},{input:"\\bigodot",tag:"mo",output:"\u2A00",ttype:UNDEROVER},{input:"\\biguplus",tag:"mo",output:"\u2A04",ttype:UNDEROVER},{input:"\\int",tag:"mo",output:"\u222B",ttype:CONST},{input:"\\oint",tag:"mo",output:"\u222E",ttype:CONST},{input:":=",tag:"mo",output:":=",ttype:CONST},{input:"\\lt",tag:"mo",output:"<",ttype:CONST},{input:"\\gt",tag:"mo",output:">",ttype:CONST},{input:"\\ne",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\neq",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\le",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leq",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leqslant",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\ge",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geq",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geqslant",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\equiv",tag:"mo",output:"\u2261",ttype:CONST},{input:"\\ll",tag:"mo",output:"\u226A",ttype:CONST},{input:"\\gg",tag:"mo",output:"\u226B",ttype:CONST},{input:"\\doteq",tag:"mo",output:"\u2250",ttype:CONST},{input:"\\prec",tag:"mo",output:"\u227A",ttype:CONST},{input:"\\succ",tag:"mo",output:"\u227B",ttype:CONST},{input:"\\preceq",tag:"mo",output:"\u227C",ttype:CONST},{input:"\\succeq",tag:"mo",output:"\u227D",ttype:CONST},{input:"\\subset",tag:"mo",output:"\u2282",ttype:CONST},{input:"\\supset",tag:"mo",output:"\u2283",ttype:CONST},{input:"\\subseteq",tag:"mo",output:"\u2286",ttype:CONST},{input:"\\supseteq",tag:"mo",output:"\u2287",ttype:CONST},{input:"\\sqsubset",tag:"mo",output:"\u228F",ttype:CONST},{input:"\\sqsupset",tag:"mo",output:"\u2290",ttype:CONST},{input:"\\sqsubseteq",tag:"mo",output:"\u2291",ttype:CONST},{input:"\\sqsupseteq",tag:"mo",output:"\u2292",ttype:CONST},{input:"\\sim",tag:"mo",output:"\u223C",ttype:CONST},{input:"\\simeq",tag:"mo",output:"\u2243",ttype:CONST},{input:"\\approx",tag:"mo",output:"\u2248",ttype:CONST},{input:"\\cong",tag:"mo",output:"\u2245",ttype:CONST},{input:"\\Join",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\bowtie",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\in",tag:"mo",output:"\u2208",ttype:CONST},{input:"\\ni",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\owns",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\propto",tag:"mo",output:"\u221D",ttype:CONST},{input:"\\vdash",tag:"mo",output:"\u22A2",ttype:CONST},{input:"\\dashv",tag:"mo",output:"\u22A3",ttype:CONST},{input:"\\models",tag:"mo",output:"\u22A8",ttype:CONST},{input:"\\perp",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\smile",tag:"mo",output:"\u2323",ttype:CONST},{input:"\\frown",tag:"mo",output:"\u2322",ttype:CONST},{input:"\\asymp",tag:"mo",output:"\u224D",ttype:CONST},{input:"\\notin",tag:"mo",output:"\u2209",ttype:CONST},{input:"\\begin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\\begin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\\\\",output:"}&{",ttype:DEFINITION},{input:"\\end{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\\end{array}",output:"}}",ttype:DEFINITION},{input:"\\big",tag:"mo",output:"X",atval:"1.2",ieval:"2.2",ttype:BIG},{input:"\\Big",tag:"mo",output:"X",atval:"1.6",ieval:"2.6",ttype:BIG},{input:"\\bigg",tag:"mo",output:"X",atval:"2.2",ieval:"3.2",ttype:BIG},{input:"\\Bigg",tag:"mo",output:"X",atval:"2.9",ieval:"3.9",ttype:BIG},{input:"\\left",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\\right",tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\lbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\lbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\langle",tag:"mo",output:"\u2329",atval:"1",ttype:STRETCHY},{input:"\\lfloor",tag:"mo",output:"\u230A",atval:"1",ttype:STRETCHY},{input:"\\lceil",tag:"mo",output:"\u2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrace",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rangle",tag:"mo",output:"\u232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rfloor",tag:"mo",output:"\u230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rceil",tag:"mo",output:"\u2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\|",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\vert",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\Vert",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\mid",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\parallel",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\\backslash",tag:"mo",output:"\u2216",atval:"1",ttype:STRETCHY},{input:"\\setminus",tag:"mo",output:"\\",ttype:CONST},{input:"\\!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\\,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input:"\\>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\\quad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\\qquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\\prime",tag:"mo",output:"\u2032",ttype:CONST},{input:"'",tag:"mo",output:"\u02B9",ttype:CONST},{input:"''",tag:"mo",output:"\u02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\u2034",ttype:CONST},{input:"''''",tag:"mo",output:"\u2057",ttype:CONST},{input:"\\ldots",tag:"mo",output:"\u2026",ttype:CONST},{input:"\\cdots",tag:"mo",output:"\u22EF",ttype:CONST},{input:"\\vdots",tag:"mo",output:"\u22EE",ttype:CONST},{input:"\\ddots",tag:"mo",output:"\u22F1",ttype:CONST},{input:"\\forall",tag:"mo",output:"\u2200",ttype:CONST},{input:"\\exists",tag:"mo",output:"\u2203",ttype:CONST},{input:"\\Re",tag:"mo",output:"\u211C",ttype:CONST},{input:"\\Im",tag:"mo",output:"\u2111",ttype:CONST},{input:"\\aleph",tag:"mo",output:"\u2135",ttype:CONST},{input:"\\hbar",tag:"mo",output:"\u210F",ttype:CONST},{input:"\\ell",tag:"mo",output:"\u2113",ttype:CONST},{input:"\\wp",tag:"mo",output:"\u2118",ttype:CONST},{input:"\\emptyset",tag:"mo",output:"\u2205",ttype:CONST},{input:"\\infty",tag:"mo",output:"\u221E",ttype:CONST},{input:"\\surd",tag:"mo",output:"\\sqrt{}",ttype:DEFINITION},{input:"\\partial",tag:"mo",output:"\u2202",ttype:CONST},{input:"\\nabla",tag:"mo",output:"\u2207",ttype:CONST},{input:"\\triangle",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\therefore",tag:"mo",output:"\u2234",ttype:CONST},{input:"\\angle",tag:"mo",output:"\u2220",ttype:CONST},{input:"\\diamond",tag:"mo",output:"\u22C4",ttype:CONST},{input:"\\Diamond",tag:"mo",output:"\u25C7",ttype:CONST},{input:"\\neg",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\lnot",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\bot",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\top",tag:"mo",output:"\u22A4",ttype:CONST},{input:"\\square",tag:"mo",output:"\u25AB",ttype:CONST},{input:"\\Box",tag:"mo",output:"\u25A1",ttype:CONST},{input:"\\wr",tag:"mo",output:"\u2240",ttype:CONST},{input:"\\arccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\\arcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\\arctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\\arg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\\cos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\\cosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\\cot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\\coth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\\csc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\\deg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\\det",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\\dim",tag:"mi",output:"dim",ttype:UNARY,func:true},{input:"\\exp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\\gcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\\hom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\\inf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\\ker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\\lg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\\lim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\\liminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\\limsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\\ln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\\log",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\\max",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\\min",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\\Pr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\\sec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\\sin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\\sinh",tag:"mi",output:"sinh",ttype:UNARY,func:true},{input:"\\sup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\\tan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\\tanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\\gets",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\leftarrow",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\to",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\rightarrow",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\leftrightarrow",tag:"mo",output:"\u2194",ttype:CONST},{input:"\\uparrow",tag:"mo",output:"\u2191",ttype:CONST},{input:"\\downarrow",tag:"mo",output:"\u2193",ttype:CONST},{input:"\\updownarrow",tag:"mo",output:"\u2195",ttype:CONST},{input:"\\Leftarrow",tag:"mo",output:"\u21D0",ttype:CONST},{input:"\\Rightarrow",tag:"mo",output:"\u21D2",ttype:CONST},{input:"\\Leftrightarrow",tag:"mo",output:"\u21D4",ttype:CONST},{input:"\\iff",tag:"mo",output:"~\\Longleftrightarrow~",ttype:DEFINITION},{input:"\\Uparrow",tag:"mo",output:"\u21D1",ttype:CONST},{input:"\\Downarrow",tag:"mo",output:"\u21D3",ttype:CONST},{input:"\\Updownarrow",tag:"mo",output:"\u21D5",ttype:CONST},{input:"\\mapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\longleftarrow",tag:"mo",output:"\u2190",ttype:LONG},{input:"\\longrightarrow",tag:"mo",output:"\u2192",ttype:LONG},{input:"\\longleftrightarrow",tag:"mo",output:"\u2194",ttype:LONG},{input:"\\Longleftarrow",tag:"mo",output:"\u21D0",ttype:LONG},{input:"\\Longrightarrow",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\implies",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\Longleftrightarrow",tag:"mo",output:"\u21D4",ttype:LONG},{input:"\\longmapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\sqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\\root",tag:"mroot",output:"root",ttype:BINARY},{input:"\\frac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\\stackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\\atop",tag:"mfrac",output:"",ttype:INFIX},{input:"\\choose",tag:"mfrac",output:"",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\\mathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\\mbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\\acute",tag:"mover",output:"\u00B4",ttype:UNARY,acc:true},{input:"\\grave",tag:"mover",output:"\u0060",ttype:UNARY,acc:true},{input:"\\breve",tag:"mover",output:"\u02D8",ttype:UNARY,acc:true},{input:"\\check",tag:"mover",output:"\u02C7",ttype:UNARY,acc:true},{input:"\\dot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\\ddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\\mathring",tag:"mover",output:"\u00B0",ttype:UNARY,acc:true},{input:"\\vec",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overrightarrow",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overleftarrow",tag:"mover",output:"\u20D6",ttype:UNARY,acc:true},{input:"\\hat",tag:"mover",output:"\u005E",ttype:UNARY,acc:true},{input:"\\widehat",tag:"mover",output:"\u0302",ttype:UNARY,acc:true},{input:"\\tilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\\widetilde",tag:"mover",output:"\u02DC",ttype:UNARY,acc:true},{input:"\\bar",tag:"mover",output:"\u203E",ttype:UNARY,acc:true},{input:"\\overbrace",tag:"mover",output:"\u23B4",ttype:UNARY,acc:true},{input:"\\overline",tag:"mover",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\underbrace",tag:"munder",output:"\u23B5",ttype:UNARY,acc:true},{input:"\\underline",tag:"munder",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\\textrm",tag:"mstyle",output:"\\mathrm",ttype:DEFINITION},{input:"\\mathbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\textbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\mathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\textit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\mathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\texttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\mathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\\mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:AMbbb},{input:"\\mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:AMcal},{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:AMfrk}];var LMnames=[];function LMremoveCharsAndBlanks(c,d){var a;a=c.slice(d);for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function LMgetSymbol(h){var a=0;var b=0;var d;var l;var m;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){l=h.slice(0,c);b=a;a=position(LMnames,l,b);if(a<LMnames.length&&h.slice(0,LMnames[a].length)==LMnames[a]){f=LMnames[a];d=a;c=f.length}g=a<LMnames.length&&h.slice(0,LMnames[a].length)>=LMnames[a]}LMpreviousSymbol=LMcurrentSymbol;if(f!=""){LMcurrentSymbol=LMsymbols[d].ttype;return LMsymbols[d]}LMcurrentSymbol=CONST;a=1;l=h.slice(0,1);if("0"<=l&&l<="9"){m="mn"}else{m=(("A">l||l>"Z")&&("a">l||l>"z")?"mo":"mi")}return{input:l,tag:m,output:l,ttype:CONST}}var LMpreviousSymbol,LMcurrentSymbol;function LMparseSexpr(n){var t,m,d,a,r,o,l=document.createDocumentFragment();n=LMremoveCharsAndBlanks(n,0);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}if(t.ttype==DEFINITION){n=t.output+LMremoveCharsAndBlanks(n,t.input.length);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}}n=LMremoveCharsAndBlanks(n,t.input.length);switch(t.ttype){case SPACE:m=createMmlNode(t.tag);m.setAttribute(t.atname,t.atval);return[m,n,t.tag];case UNDEROVER:if(isIE){if(t.input.substr(0,4)=="\\big"){n="\\"+t.input.substr(4)+n;t=LMgetSymbol(n);t.ttype=UNDEROVER;n=LMremoveCharsAndBlanks(n,t.input.length)}}return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag];case CONST:var g=t.output;if(isIE){if(t.input=="'"){g="\u2032"}else{if(t.input=="''"){g="\u2033"}else{if(t.input=="'''"){g="\u2033\u2032"}else{if(t.input=="''''"){g="\u2033\u2033"}else{if(t.input=="\\square"){g="\u25A1"}else{if(t.input.substr(0,5)=="\\frac"){var b=t.input.substr(6,1);if(b=="5"||b=="6"){n=t.input.replace(/\\frac/,"\\frac ")+n;return[m,n,t.tag]}}}}}}}}m=createMmlNode(t.tag,document.createTextNode(g));return[m,n,t.tag];case LONG:m=createMmlNode(t.tag,document.createTextNode(t.output));m.setAttribute("minsize","1.5");m.setAttribute("maxsize","1.5");m=createMmlNode("mover",m);m.appendChild(createMmlNode("mspace"));return[m,n,t.tag];case STRETCHY:if(isIE&&t.input=="\\backslash"){t.output="\\"}m=createMmlNode(t.tag,document.createTextNode(t.output));if(t.input=="|"||t.input=="\\vert"||t.input=="\\|"||t.input=="\\Vert"){m.setAttribute("lspace","0em");m.setAttribute("rspace","0em")}m.setAttribute("maxsize",t.atval);if(t.rtag!=null){return[m,n,t.rtag]}else{return[m,n,t.tag]}case BIG:var f=t.atval;if(isIE){f=t.ieval}t=LMgetSymbol(n);if(t==null){return[null,n,null]}n=LMremoveCharsAndBlanks(n,t.input.length);m=createMmlNode(t.tag,document.createTextNode(t.output));if(isIE){var v=createMmlNode("mspace");v.setAttribute("height",f+"ex");m=createMmlNode("mrow",m);m.appendChild(v)}else{m.setAttribute("minsize",f);m.setAttribute("maxsize",f)}return[m,n,t.tag];case LEFTBRACKET:if(t.input=="\\left"){t=LMgetSymbol(n);if(t!=null){if(t.input=="."){t.invisible=true}n=LMremoveCharsAndBlanks(n,t.input.length)}}d=LMparseExpr(n,true,false);if(t==null||(typeof t.invisible=="boolean"&&t.invisible)){m=createMmlNode("mrow",d[0])}else{m=createMmlNode("mo",document.createTextNode(t.output));m=createMmlNode("mrow",m);m.appendChild(d[0])}return[m,d[1],d[2]];case MATRIX:if(t.input=="\\begin{array}"){var s="";t=LMgetSymbol(n);n=LMremoveCharsAndBlanks(n,0);if(t==null){s="l"}else{n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="{"){s="l"}else{do{t=LMgetSymbol(n);if(t!=null){n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="}"){s=s+t.input}}}while(t!=null&&t.input!=""&&t.input!="}")}}d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);s=s.replace(/l/g,"left ");s=s.replace(/r/g,"right ");s=s.replace(/c/g,"center ");m.setAttribute("columnalign",s);m.setAttribute("displaystyle","false");if(isIE){return[m,d[1],null]}var k=createMmlNode("mspace");k.setAttribute("width","0.167em");var p=createMmlNode("mspace");p.setAttribute("width","0.167em");var c=createMmlNode("mrow",k);c.appendChild(m);c.appendChild(p);return[c,d[1],null]}else{d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);if(isIE){m.setAttribute("columnspacing","0.25em")}else{m.setAttribute("columnspacing","0.167em")}m.setAttribute("columnalign","right center left");m.setAttribute("displaystyle","true");m=createMmlNode("mrow",m);return[m,d[1],null]}case TEXT:if(n.charAt(0)=="{"){r=n.indexOf("}")}else{r=0}if(r==-1){r=n.length}o=n.slice(1,r);if(o.charAt(0)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}l.appendChild(createMmlNode(t.tag,document.createTextNode(o)));if(o.charAt(o.length-1)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}n=LMremoveCharsAndBlanks(n,r+1);return[createMmlNode("mrow",l),n,null];case UNARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode(t.tag,document.createTextNode(t.output)),n]}if(typeof t.func=="boolean"&&t.func){o=n.charAt(0);if(o=="^"||o=="_"||o==","){return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}else{m=createMmlNode("mrow",createMmlNode(t.tag,document.createTextNode(t.output)));if(isIE){var v=createMmlNode("mspace");v.setAttribute("width","0.167em");m.appendChild(v)}m.appendChild(d[0]);return[m,d[1],t.tag]}}if(t.input=="\\sqrt"){if(isIE){var v=createMmlNode("mspace");v.setAttribute("height","1.2ex");v.setAttribute("width","0em");m=createMmlNode(t.tag,d[0]);m.appendChild(v);return[m,d[1],t.tag]}else{return[createMmlNode(t.tag,d[0]),d[1],t.tag]}}else{if(typeof t.acc=="boolean"&&t.acc){m=createMmlNode(t.tag,d[0]);var g=t.output;if(isIE){if(t.input=="\\hat"){g="\u0302"}else{if(t.input=="\\widehat"){g="\u005E"}else{if(t.input=="\\bar"){g="\u00AF"}else{if(t.input=="\\grave"){g="\u0300"}else{if(t.input=="\\tilde"){g="\u0303"}}}}}}var c=createMmlNode("mo",document.createTextNode(g));if(t.input=="\\vec"||t.input=="\\check"){c.setAttribute("maxsize","1.2")}if(isIE&&t.input=="\\bar"){c.setAttribute("maxsize","0.5")}if(t.input=="\\underbrace"||t.input=="\\underline"){c.setAttribute("accentunder","true")}else{c.setAttribute("accent","true")}m.appendChild(c);if(t.input=="\\overbrace"||t.input=="\\underbrace"){m.ttype=UNDEROVER}return[m,d[1],t.tag]}else{if(!isIE&&typeof t.codes!="undefined"){for(r=0;r<d[0].childNodes.length;r++){if(d[0].childNodes[r].nodeName=="mi"||d[0].nodeName=="mi"){o=(d[0].nodeName=="mi"?d[0].firstChild.nodeValue:d[0].childNodes[r].firstChild.nodeValue);var h=[];for(var q=0;q<o.length;q++){if(o.charCodeAt(q)>64&&o.charCodeAt(q)<91){h=h+String.fromCharCode(t.codes[o.charCodeAt(q)-65])}else{h=h+o.charAt(q)}}if(d[0].nodeName=="mi"){d[0]=createMmlNode("mo").appendChild(document.createTextNode(h))}else{d[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(h)),d[0].childNodes[r])}}}}m=createMmlNode(t.tag,d[0]);m.setAttribute(t.atname,t.atval);if(t.input=="\\scriptstyle"||t.input=="\\scriptscriptstyle"){m.setAttribute("displaystyle","false")}return[m,d[1],t.tag]}}case BINARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}a=LMparseSexpr(d[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}if(t.input=="\\root"||t.input=="\\stackrel"){l.appendChild(a[0])}l.appendChild(d[0]);if(t.input=="\\frac"){l.appendChild(a[0])}return[createMmlNode(t.tag,l),a[1],t.tag];case INFIX:n=LMremoveCharsAndBlanks(n,t.input.length);return[createMmlNode("mo",document.createTextNode(t.output)),n,t.tag];default:return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}}function LMparseIexpr(g){var f,d,b,c,h,k,j;g=LMremoveCharsAndBlanks(g,0);d=LMgetSymbol(g);h=LMparseSexpr(g);c=h[0];g=h[1];k=h[2];f=LMgetSymbol(g);if(f.ttype==INFIX){g=LMremoveCharsAndBlanks(g,f.input.length);h=LMparseSexpr(g);if(h[0]==null){h[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}g=h[1];k=h[2];if(f.input=="_"||f.input=="^"){b=LMgetSymbol(g);k=null;j=((d.ttype==UNDEROVER)||(c.ttype==UNDEROVER));if(f.input=="_"&&b.input=="^"){g=LMremoveCharsAndBlanks(g,b.input.length);var a=LMparseSexpr(g);g=a[1];k=a[2];c=createMmlNode((j?"munderover":"msubsup"),c);c.appendChild(h[0]);c.appendChild(a[0])}else{if(f.input=="_"){c=createMmlNode((j?"munder":"msub"),c);c.appendChild(h[0])}else{c=createMmlNode((j?"mover":"msup"),c);c.appendChild(h[0])}}c=createMmlNode("mrow",c)}else{c=createMmlNode(f.tag,c);if(f.input=="\\atop"||f.input=="\\choose"){c.setAttribute("linethickness","0ex")}c.appendChild(h[0]);if(f.input=="\\choose"){c=createMmlNode("mfenced",c)}}}return[c,g,k]}function LMparseExpr(o,p,v){var w,l,a,s,z,f=document.createDocumentFragment();do{o=LMremoveCharsAndBlanks(o,0);a=LMparseIexpr(o);l=a[0];o=a[1];z=a[2];w=LMgetSymbol(o);if(l!=undefined){i... [truncated message content] |
From: <pb...@fe...> - 2012-12-17 12:55:20
|
Author: pboy Date: 2012-12-17 12:55:07 +0000 (Mon, 17 Dec 2012) New Revision: 2408 Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/GenericContact.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericOrganizationalUnitPersonAddForm.java Log: Activated CreateTab in ItemSearchWidget, fixed generic contact output, improved localisation. (on behalf of JensP) Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-17 11:16:00 UTC (rev 2407) +++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-17 12:55:07 UTC (rev 2408) @@ -1,17 +1,17 @@ # Package com.arsdigita.cms # ========================= -cms.attributeset_is_already_locked=AttributeSet is already locked -cms.attributeset_is_locked=AttributeSet is locked -cms.cannot_create_xml_document=Cannot create XML document -cms.cant_promote_folders=Can't promote folders -cms.classnotfoundexception=ClassNotFoundException: -cms.illegalaccessexception=IllegalAccessException: -cms.image.erroneous_jpeg_marker_length=Erroneous JPEG marker length -cms.image.expected_soi_marker_first=Expected SOI marker first +cms.attributeset_is_already_locked=AttributeSet is already locked +cms.attributeset_is_locked=AttributeSet is locked +cms.cannot_create_xml_document=Cannot create XML document +cms.cant_promote_folders=Can't promote folders +cms.classnotfoundexception=ClassNotFoundException: +cms.illegalaccessexception=IllegalAccessException: +cms.image.erroneous_jpeg_marker_length=Erroneous JPEG marker length +cms.image.expected_soi_marker_first=Expected SOI marker first cms.image.not_a_jpeg_file=Not a JPEG file -cms.instantiationexception=Instantiation Exception: -cms.nosuchmethodexception=No-Such-Method Exception: -cms.templates=Templates +cms.instantiationexception=Instantiation Exception: +cms.nosuchmethodexception=No-Such-Method Exception: +cms.templates=Templates cms.title=Title no=No yes=Yes @@ -22,49 +22,49 @@ # Package com.arsdigita.cms.contenttypes # ====================================== -cms.contenttypes.contact=Contact: -cms.contenttypes.contact_details=Contact Details: -cms.contenttypes.contact_information=Contact Information: -cms.contenttypes.contactinfo=ContactInfo: -cms.contenttypes.cost=Cost: -cms.contenttypes.coudlnt_retrieve_text=Coudln't retrieve text +cms.contenttypes.contact=Contact: +cms.contenttypes.contact_details=Contact Details: +cms.contenttypes.contact_information=Contact Information: +cms.contenttypes.contactinfo=ContactInfo: +cms.contenttypes.cost=Cost: +cms.contenttypes.coudlnt_retrieve_text=Coudln't retrieve text cms.contenttypes.current_image=Current Image: -cms.contenttypes.department=Department: -cms.contenttypes.end_date=End Date: +cms.contenttypes.department=Department: +cms.contenttypes.end_date=End Date: cms.contenttypes.end_time=End Time: -cms.contenttypes.event_type_not_registered=Event type not registered +cms.contenttypes.event_type_not_registered=Event type not registered #used in ccm-cms-types-job -cms.contenttypes.grade=Grade: +cms.contenttypes.grade=Grade: #used in ccm-cms-types-organization cms.contenttypes.image=Image: -cms.contenttypes.installer.article_section=Article Section -cms.contenttypes.installer.article_section_for_a_multipart_article=Article section for a multi-part article -cms.contenttypes.job_description=Description: -cms.contenttypes.job_type_not_registered=Job type not registered -cms.contenttypes.lead=Description: -cms.contenttypes.legalnotice_type_not_registered=LegalNotice type not registered +cms.contenttypes.installer.article_section=Article Section +cms.contenttypes.installer.article_section_for_a_multipart_article=Article section for a multi-part article +cms.contenttypes.job_description=Description: +cms.contenttypes.job_type_not_registered=Job type not registered +cms.contenttypes.lead=Description: +cms.contenttypes.legalnotice_type_not_registered=LegalNotice type not registered cms.contenttypes.link=Link: -cms.contenttypes.link_to_map=Link to Map: -cms.contenttypes.location=Location: -cms.contenttypes.main_contributor=Main Contributor: -cms.contenttypes.minutes_type_not_registered=Minutes type not registered -cms.contenttypes.news_date=Date: -cms.contenttypes.newsitem_type_not_registered=NewsItem type not registered -cms.contenttypes.no_content_section=No content section -cms.contenttypes.no_section=No section -cms.contenttypes.opening_time=Opening Time: -cms.contenttypes.person_specification=Person Specification: -cms.contenttypes.pressrelease_type_not_registered=PressRelease type not registered -cms.contenttypes.ref_number=Ref. Number: -cms.contenttypes.salary=Salary: -cms.contenttypes.service_type_not_registered=Service type not registered -cms.contenttypes.services_provided=Services Provided: -cms.contenttypes.start_date=Start Date: -cms.contenttypes.start_time=Start Time: -cms.contenttypes.subjectitems=SubjectItems: -cms.contenttypes.summary=Description: -cms.contenttypes.title=Title: +cms.contenttypes.link_to_map=Link to Map: +cms.contenttypes.location=Location: +cms.contenttypes.main_contributor=Main Contributor: +cms.contenttypes.minutes_type_not_registered=Minutes type not registered +cms.contenttypes.news_date=Date: +cms.contenttypes.newsitem_type_not_registered=NewsItem type not registered +cms.contenttypes.no_content_section=No content section +cms.contenttypes.no_section=No section +cms.contenttypes.opening_time=Opening Time: +cms.contenttypes.person_specification=Person Specification: +cms.contenttypes.pressrelease_type_not_registered=PressRelease type not registered +cms.contenttypes.ref_number=Ref. Number: +cms.contenttypes.salary=Salary: +cms.contenttypes.service_type_not_registered=Service type not registered +cms.contenttypes.services_provided=Services Provided: +cms.contenttypes.start_date=Start Date: +cms.contenttypes.start_time=Start Time: +cms.contenttypes.subjectitems=SubjectItems: +cms.contenttypes.summary=Description: +cms.contenttypes.title=Title: cms.contenttypes.template.body_text.title=Body text cms.contenttypes.template.body_text.description=Edit the body text cms.contenttypes.shared.assign_categories.title=Assign Categories @@ -79,127 +79,127 @@ # Package com.arsdigita.cms.contenttypes.ui # ========================================= -cms.contenttypes.ui.action_item=Action Item: -cms.contenttypes.ui.address=Address: -cms.contenttypes.ui.agenda_date=Agenda Date: -cms.contenttypes.ui.agenda_date_and_time=Agenda Date and Time: -cms.contenttypes.ui.attendees=Attendees: -cms.contenttypes.ui.bodyoverview=Body/Overview: -cms.contenttypes.ui.closing_date=Closing Date: -cms.contenttypes.ui.contact_details=Contact Details: -cms.contenttypes.ui.contact_info=Contact Info: -cms.contenttypes.ui.contacts=Contacts: -cms.contenttypes.ui.content_group_current_items=Current Items: -cms.contenttypes.ui.content_group_name=Content Group Name: -cms.contenttypes.ui.content_group_new_item=Add new item: -cms.contenttypes.ui.cost=Cost: -cms.contenttypes.ui.creation_date=Creation Date: -cms.contenttypes.ui.date=Date: -cms.contenttypes.ui.department=Department: -cms.contenttypes.ui.description=Description: +cms.contenttypes.ui.action_item=Action Item: +cms.contenttypes.ui.address=Address: +cms.contenttypes.ui.agenda_date=Agenda Date: +cms.contenttypes.ui.agenda_date_and_time=Agenda Date and Time: +cms.contenttypes.ui.attendees=Attendees: +cms.contenttypes.ui.bodyoverview=Body/Overview: +cms.contenttypes.ui.closing_date=Closing Date: +cms.contenttypes.ui.contact_details=Contact Details: +cms.contenttypes.ui.contact_info=Contact Info: +cms.contenttypes.ui.contacts=Contacts: +cms.contenttypes.ui.content_group_current_items=Current Items: +cms.contenttypes.ui.content_group_name=Content Group Name: +cms.contenttypes.ui.content_group_new_item=Add new item: +cms.contenttypes.ui.cost=Cost: +cms.contenttypes.ui.creation_date=Creation Date: +cms.contenttypes.ui.date=Date: +cms.contenttypes.ui.department=Department: +cms.contenttypes.ui.description=Description: cms.contenttypes.ui.description_missing=Please enter a description -cms.contenttypes.ui.description_of_minutes=Description of Minutes: -cms.contenttypes.ui.end_date=End Date: -cms.contenttypes.ui.end_time=End Time: +cms.contenttypes.ui.description_of_minutes=Description of Minutes: +cms.contenttypes.ui.end_date=End Date: +cms.contenttypes.ui.end_time=End Time: cms.contenttypes.ui.event_start_time=Event Start Time: cms.contenttypes.ui.event_end_time=Event End Time: -cms.contenttypes.ui.government_uid=Government UID: -cms.contenttypes.ui.grade=Grade: +cms.contenttypes.ui.government_uid=Government UID: +cms.contenttypes.ui.grade=Grade: cms.contenttypes.ui.homepage=Homepage: -cms.contenttypes.ui.job_description=Job Description: -cms.contenttypes.ui.launch_date=Launch Date: -cms.contenttypes.ui.lead=Description: -cms.contenttypes.ui.lead_line=Description: -cms.contenttypes.ui.link_to_map=Link to Map: -cms.contenttypes.ui.location=Location: -cms.contenttypes.ui.main_contributor=Main Contributor: -cms.contenttypes.ui.name=Name: -cms.contenttypes.ui.opening_times=Opening Times: -cms.contenttypes.ui.person_specification=Person Specification: -cms.contenttypes.ui.ref_code=Ref. Code: -cms.contenttypes.ui.ref_number=Ref Number: -cms.contenttypes.ui.reference=Reference: -cms.contenttypes.ui.reference_code=Reference Code: -cms.contenttypes.ui.salary=Salary: -cms.contenttypes.ui.services_provided=Services Provided: -cms.contenttypes.ui.start_date=Start Date: -cms.contenttypes.ui.start_time=Start Time: -cms.contenttypes.ui.subject_items=Subject Items: -cms.contenttypes.ui.summary=Description: -cms.contenttypes.ui.there_are_no_events=There are no events -cms.contenttypes.ui.title=Title: +cms.contenttypes.ui.job_description=Job Description: +cms.contenttypes.ui.launch_date=Launch Date: +cms.contenttypes.ui.lead=Description: +cms.contenttypes.ui.lead_line=Description: +cms.contenttypes.ui.link_to_map=Link to Map: +cms.contenttypes.ui.location=Location: +cms.contenttypes.ui.main_contributor=Main Contributor: +cms.contenttypes.ui.name=Name: +cms.contenttypes.ui.opening_times=Opening Times: +cms.contenttypes.ui.person_specification=Person Specification: +cms.contenttypes.ui.ref_code=Ref. Code: +cms.contenttypes.ui.ref_number=Ref Number: +cms.contenttypes.ui.reference=Reference: +cms.contenttypes.ui.reference_code=Reference Code: +cms.contenttypes.ui.salary=Salary: +cms.contenttypes.ui.services_provided=Services Provided: +cms.contenttypes.ui.start_date=Start Date: +cms.contenttypes.ui.start_time=Start Time: +cms.contenttypes.ui.subject_items=Subject Items: +cms.contenttypes.ui.summary=Description: +cms.contenttypes.ui.there_are_no_events=There are no events +cms.contenttypes.ui.title=Title: cms.contenttypes.ui.view_image=view image - - + + # Package com.arsdigita.cms.dispatcher # ===================================== -cms.dispatcher.cannot_find_domain_object=cannot find domain object -cms.dispatcher.could_not_find_imageasset=Could not find ImageAsset: -cms.dispatcher.failed_to_retrieve_imageasset=Failed to retrieve ImageAsset: -cms.dispatcher.no_permission_to_access_resource=no permission to access resource -cms.dispatcher.not_implemented=not implemented +cms.dispatcher.cannot_find_domain_object=cannot find domain object +cms.dispatcher.could_not_find_imageasset=Could not find ImageAsset: +cms.dispatcher.failed_to_retrieve_imageasset=Failed to retrieve ImageAsset: +cms.dispatcher.no_permission_to_access_resource=no permission to access resource +cms.dispatcher.not_implemented=not implemented cms.dispatcher.unknown_context=Unknown context: - - + + # Package com.arsdigita.cms.formbuilder # ===================================== -cms.formbuilder.cannot_create_acsobject=cannot create ACSObject -cms.formbuilder.cannot_instantiate_object=cannot instantiate object -cms.formbuilder.no_such_form=no such form -cms.formbuilder.roll_me_back=Roll me back +cms.formbuilder.cannot_create_acsobject=cannot create ACSObject +cms.formbuilder.cannot_instantiate_object=cannot instantiate object +cms.formbuilder.no_such_form=no such form +cms.formbuilder.roll_me_back=Revert changes cms.formbuilder.css=Cascading Style Sheet (CSS) Class Attribute - - + + # Package com.arsdigita.cms.installer # ===================================== cms.installer.approval=Approval -cms.installer.article=Article +cms.installer.article=Article cms.installer.authoring=Authoring -cms.installer.cannot_find_cms_package_type=cannot find CMS package type -cms.installer.cannot_find_content_type=cannot find content type -cms.installer.cannot_find_file=cannot find file -cms.installer.cannot_find_group_for_email=Cannot find group for email -cms.installer.cannot_read_line_of_data=Cannot read line of data -cms.installer.cannot_set_template_text=Cannot set template text +cms.installer.cannot_find_cms_package_type=cannot find CMS package type +cms.installer.cannot_find_content_type=cannot find content type +cms.installer.cannot_find_file=cannot find file +cms.installer.cannot_find_group_for_email=Cannot find group for email +cms.installer.cannot_read_line_of_data=Cannot read line of data +cms.installer.cannot_set_template_text=Cannot set template text cms.installer.could_not_load_section=Could not load ContentSection named '{0}' cms.installer.deploy=Deploy cms.installer.failed_to_update_the_default_content_section=Failed to update the default content section. -cms.installer.formbuilder.form=Form -cms.installer.formbuilder.form_section=Form Section +cms.installer.formbuilder.form=Form +cms.installer.formbuilder.form_section=Form Section cms.installer.production_workflow=Production Workflow -cms.installer.root_folder=Root Folder -cms.installer.root_site_node_missing=Root site node missing +cms.installer.root_folder=Root Folder +cms.installer.root_site_node_missing=Root site node missing cms.installer.simple_publication=Simple Publication cms.installer.template=Template - + # Package com.arsdigita.cms.lifecycle # =================================== -cms.lifecycle.could_not_fetch_lifecycle=Could not fetch lifecycle: -cms.lifecycle.could_not_fetch_phase=Could not fetch phase: +cms.lifecycle.could_not_fetch_lifecycle=Could not fetch lifecycle: +cms.lifecycle.could_not_fetch_phase=Could not fetch phase: # Package com.arsdigita.cms.publishToFile # ======================================= -cms.publishToFile.cannot_find_file=cannot find file -cms.publishToFile.cannot_find_item_class=cannot find item class -cms.publishToFile.cannot_find_server=cannot find server -cms.publishToFile.cannot_get_sequence_value=cannot get sequence value -cms.publishToFile.cannot_read_template_text=cannot read template text -cms.publishToFile.could_not_get_object_for_oid=Could not get object for oid -cms.publishToFile.error_executing=Error executing '{0}' : -cms.publishToFile.exit_value_was=Exit value was -cms.publishToFile.interrupted_when_doing=interrupted when doing '{0}' -cms.publishToFile.invalid_brokenlinkaction=Invalid BrokenLinkAction: -cms.publishToFile.invalid_reference_target_type=Invalid reference target type: -cms.publishToFile.malformed_url=Malformed URL: -cms.publishToFile.not_found_in_servers_list= not found in servers list -cms.publishToFile.publish_to_file_listener_could_not_be_created=Publish to file listener could not be created: -cms.publishToFile.publish_to_file_setlocalrequestpassword_could_not_be_created=Publish to file SetLocalRequestPassword could not be created: -cms.publishToFile.publishsource_sourcebase_must_end_in_=PublishSource sourceBase must end in '/' -cms.publishToFile.server=server -cms.publishToFile.unable_to_find_closing_for_tag=Unable to find closing '>' for tag. +cms.publishToFile.cannot_find_file=cannot find file +cms.publishToFile.cannot_find_item_class=cannot find item class +cms.publishToFile.cannot_find_server=cannot find server +cms.publishToFile.cannot_get_sequence_value=cannot get sequence value +cms.publishToFile.cannot_read_template_text=cannot read template text +cms.publishToFile.could_not_get_object_for_oid=Could not get object for oid +cms.publishToFile.error_executing=Error executing '{0}' : +cms.publishToFile.exit_value_was=Exit value was +cms.publishToFile.interrupted_when_doing=interrupted when doing '{0}' +cms.publishToFile.invalid_brokenlinkaction=Invalid BrokenLinkAction: +cms.publishToFile.invalid_reference_target_type=Invalid reference target type: +cms.publishToFile.malformed_url=Malformed URL: +cms.publishToFile.not_found_in_servers_list= not found in servers list +cms.publishToFile.publish_to_file_listener_could_not_be_created=Publish to file listener could not be created: +cms.publishToFile.publish_to_file_setlocalrequestpassword_could_not_be_created=Publish to file SetLocalRequestPassword could not be created: +cms.publishToFile.publishsource_sourcebase_must_end_in_=PublishSource sourceBase must end in '/' +cms.publishToFile.server=server +cms.publishToFile.unable_to_find_closing_for_tag=Unable to find closing '>' for tag. cms.publishToFile.unable_to_get_contentitem=Unable to get contentItem: - + # cms.tasks.ui.anyone=Anyone # cms.tasks.ui.assigned_to=Assigned To: # cms.tasks.ui.assignment_info=Assignment Info @@ -220,41 +220,41 @@ # cms.tasks.ui.workflow=Workflow - + # Package com.arsdigita.cms.ui # ============================ cms.ui.action=Action cms.ui.actions=Actions cms.ui.all_items=All Items -cms.ui.assigned_categories=Assigned Categories: +cms.ui.assigned_categories=Assigned Categories: cms.ui.attention=Attention cms.ui.Authoring=Authoring -cms.ui.available_categories=Available Categories: +cms.ui.available_categories=Available Categories: cms.ui.browse=Browse -cms.ui.browse_items_by_category=Browse items by category +cms.ui.browse_items_by_category=Browse items by category cms.ui.cancel=Cancel -cms.ui.cancel_hit=Cancel hit -cms.ui.cancelled=cancelled +cms.ui.cancel_hit=Cancel hit +cms.ui.cancelled=cancelled cms.ui.cannot_assign_groups_to_owner=cannot assign groups to owner cms.ui.categories=Categories cms.ui.choose_target_folder=Choose target folder cms.ui.content_center=Content center cms.ui.content_item=Content item cms.ui.content_section=Content section -cms.ui.content_section_configuration=<h2>Content Section Configuration</h2> +cms.ui.content_section_configuration=<h2>Content Section Configuration</h2> cms.ui.content_types=Content types -cms.ui.contents_of=Contents of +cms.ui.contents_of=Contents of cms.ui.create=Create cms.ui.cse=Soon Expired -cms.ui.default_locale=Default Locale: +cms.ui.default_locale=Default Locale: cms.ui.delete=Delete cms.ui.description=Description cms.ui.edit=Edit cms.ui.edit_folder=Rename the current folder cms.ui.email=Email -cms.ui.enter_a_keyword=Enter a keyword: -cms.ui.enter_first_name_last_name_andor_email_address=Enter first name, last name, and/or email address: -cms.ui.enter_first_name_last_name_email_address_andor_group_name=Enter first name, last name, email address and/or Group Name: +cms.ui.enter_a_keyword=Enter a keyword: +cms.ui.enter_first_name_last_name_andor_email_address=Enter first name, last name, and/or email address: +cms.ui.enter_first_name_last_name_email_address_andor_group_name=Enter first name, last name, email address and/or Group Name: cms.ui.failed_to_create_new_dp_item=Failed to create a new DP Item. cms.ui.failed_to_fetch_content_section_for_item=Failed to fetch the content section for the item: cms.ui.failed_to_fetch_content_type=Failed to fetch content type for @@ -269,12 +269,12 @@ cms.ui.for=for cms.ui.help=Help cms.ui.History=History -cms.ui.history.history=History -cms.ui.history.no_history=No History -cms.ui.history.preview=Preview -cms.ui.history.rollback=Rollback -cms.ui.insufficient_privileges=Insufficient Privileges -cms.ui.invalid_item_id=Invalid item id:{0} +cms.ui.history.history=History +cms.ui.history.no_history=No History +cms.ui.history.preview=Preview +cms.ui.history.rollback=Rollback +cms.ui.insufficient_privileges=Insufficient Privileges +cms.ui.invalid_item_id=Invalid item id:{0} cms.ui.item=Content item cms.ui.item_name_already_in_folder=That title is already in use by another item in this folder: cms.ui.label=Label @@ -285,9 +285,9 @@ cms.ui.language_instance.new=New Language Instance cms.ui.language_instances=Language Instances cms.ui.lifecycles=Lifecycles -cms.ui.locales=Locales: -cms.ui.logout_failed=Logout failed -cms.ui.matches=Matches +cms.ui.locales=Locales: +cms.ui.logout_failed=Logout failed +cms.ui.matches=Matches cms.ui.max_launch=Maximum Launch Date cms.ui.min_launch=Minimum Launch Date cms.ui.my_workspace=My Portal @@ -297,133 +297,133 @@ cms.ui.new_folder=Create new folder cms.ui.new_item=New Item cms.ui.no=No -cms.ui.no_content_section_for_page=No content section for page -cms.ui.no_items_matched_the_search=No items matched the search +cms.ui.no_content_section_for_page=No content section for page +cms.ui.no_items_matched_the_search=No items matched the search cms.ui.none=None cms.ui.parent=Parent -cms.ui.permissions=Permissions -cms.ui.preview=Preview +cms.ui.permissions=Permissions +cms.ui.preview=Preview cms.ui.primary_instance=Primary Instance cms.ui.Publishing=Publishing cms.ui.remove=Remove cms.ui.reports=Reports -cms.ui.restore_default_permissions=Restore Default Permissions +cms.ui.restore_default_permissions=Restore Default Permissions cms.ui.roles=Roles cms.ui.save=Save cms.ui.search=Search cms.ui.search_prompt=Search to add new members -cms.ui.search_to_add_new_members=Search to Add New Members +cms.ui.search_to_add_new_members=Search to Add New Members cms.ui.search_errors.empty_terms=Please enter some search terms cms.ui.search_errors.bad_terms=Your search terms contain illegal words or characters cms.ui.search_no_results=Sorry. Your search returned 0 results. cms.ui.select_one=--select one-- cms.ui.sign_out=Sign out -cms.ui.submission_cancelled=Submission Cancelled +cms.ui.submission_cancelled=Submission Cancelled cms.ui.Summary=Summary cms.ui.tasks_due_date=Due date cms.ui.tasks_status_no_colon=Status cms.ui.template=Template cms.ui.Templates=Templates -cms.ui.the_model_is_empty=The model is empty -cms.ui.there_are_no_items=There are no items. -cms.ui.there_was_no_one_matching_the_search_criteria=There was no one matching the search criteria. -cms.ui.this_should_never_happen=This should never happen +cms.ui.the_model_is_empty=The model is empty +cms.ui.there_are_no_items=There are no items. +cms.ui.there_was_no_one_matching_the_search_criteria=There was no one matching the search criteria. +cms.ui.this_should_never_happen=This should never happen cms.ui.types=Content types cms.ui.unknown=unknown cms.ui.upload_new_content=Upload new content -cms.ui.use_custom_permissions=Use Custom Permissions +cms.ui.use_custom_permissions=Use Custom Permissions cms.ui.user=User cms.ui.user_admin=User administration cms.ui.user_not_found=User not found -cms.ui.util.= +cms.ui.util.= # cms.ui.view_all_enabled_tasks=View all enabled tasks //currently not used// # cms.ui.view_all_enabled_tasks=View all {0} enabled tasks //currently not used// -cms.ui.view_tasks_sorted_by_due_date=View tasks sorted by due date +cms.ui.view_tasks_sorted_by_due_date=View tasks sorted by due date cms.ui.viewers=Viewers -cms.ui.welcome=Welcome CMS USER +cms.ui.welcome=Welcome CMS USER cms.ui.workflow=Workflow cms.ui.workflows=Workflows cms.ui.workflow_profile_exists_on_selected_folder=Workflow Profile exists on selected folder cms.ui.yes=Yes -cms.ui.you_do_not_have_sufficient_privileges_to_access_this_page=You do not have sufficient privileges to access this page. +cms.ui.you_do_not_have_sufficient_privileges_to_access_this_page=You do not have sufficient privileges to access this page. cms.ui.item_search.page_title=Item Search cms.ui.item_search.browse=Browse cms.ui.item_search.search=Search - + # Package com.arsdigita.cms.ui.authoring # ====================================== -cms.ui.authoring.an_item_with_this_name_already_exists=An item with this name already exists -cms.ui.authoring.bad_getblob_datatype=Bad getBlob datatype -cms.ui.authoring.bad_getclob_datatype=Bad getClob datatype -cms.ui.authoring.body=Body: -cms.ui.authoring.caption=Caption: -cms.ui.authoring.content_type=Content Type: -cms.ui.authoring.couldnt_create_contentpage=Couldn't create ContentPage -cms.ui.authoring.edit_body_text=Edit Body Text: -cms.ui.authoring.edit_caption=Edit caption -cms.ui.authoring.file_action=File Action +cms.ui.authoring.an_item_with_this_name_already_exists=An item with this name already exists +cms.ui.authoring.bad_getblob_datatype=Bad getBlob datatype +cms.ui.authoring.bad_getclob_datatype=Bad getClob datatype +cms.ui.authoring.body=Body: +cms.ui.authoring.caption=Caption: +cms.ui.authoring.content_type=Content Type: +cms.ui.authoring.couldnt_create_contentpage=Couldn't create ContentPage +cms.ui.authoring.edit_body_text=Edit Body Text: +cms.ui.authoring.edit_caption=Edit caption +cms.ui.authoring.file_action=File Action cms.ui.authoring.file_upload.auto_detect=(Auto-detect) cms.ui.authoring.file_upload.file_type=File Type: -cms.ui.authoring.image_action=Image Action +cms.ui.authoring.image_action=Image Action cms.ui.authoring.invalid_create_component=Creation component for parent content type is invalid. -cms.ui.authoring.missing_content_type=Missing content type -cms.ui.authoring.missing_item_id=Missing item id -cms.ui.authoring.name=Name: -cms.ui.authoring.name_url=Name (URL): -cms.ui.authoring.no_asset=No asset -cms.ui.authoring.no_content_types_were_found=No content types were found -cms.ui.authoring.no_current_wizard=No current wizard +cms.ui.authoring.missing_content_type=Missing content type +cms.ui.authoring.missing_item_id=Missing item id +cms.ui.authoring.name=Name: +cms.ui.authoring.name_url=Name (URL): +cms.ui.authoring.no_asset=No asset +cms.ui.authoring.no_content_types_were_found=No content types were found +cms.ui.authoring.no_current_wizard=No current wizard cms.ui.authoring.none=<i>none</i> -cms.ui.authoring.not_implemented=Not Implemented -cms.ui.authoring.page_launch_date=Launch Date: -cms.ui.authoring.page_title=Page Title: -cms.ui.authoring.remove_image=Remove image -cms.ui.authoring.select_an_existing_image=Select an existing image -cms.ui.authoring.sql_error_in_getting_byte_content=SQL Error in getting byte content! -cms.ui.authoring.sqle=SQLE +cms.ui.authoring.not_implemented=Not Implemented +cms.ui.authoring.page_launch_date=Launch Date: +cms.ui.authoring.page_title=Page Title: +cms.ui.authoring.remove_image=Remove image +cms.ui.authoring.select_an_existing_image=Select an existing image +cms.ui.authoring.sql_error_in_getting_byte_content=SQL Error in getting byte content! +cms.ui.authoring.sqle=SQLE cms.ui.authoring.steps=Authoring steps -cms.ui.authoring.submission_cancelled=Submission Cancelled -cms.ui.authoring.text_type=Text Type: -cms.ui.authoring.this_article_does_not_have_an_image=This article does not have an image. -cms.ui.authoring.title=Title: -cms.ui.authoring.unable_to_load_file=Unable to load file: -cms.ui.authoring.upload_a_new_image=Upload a new image +cms.ui.authoring.submission_cancelled=Submission Cancelled +cms.ui.authoring.text_type=Text Type: +cms.ui.authoring.this_article_does_not_have_an_image=This article does not have an image. +cms.ui.authoring.title=Title: +cms.ui.authoring.unable_to_load_file=Unable to load file: +cms.ui.authoring.upload_a_new_image=Upload a new image cms.ui.authoring.upload_image=Upload Image: cms.ui.authoring.upload_image=Upload Image: cms.ui.authoring.workflow=Select a Workflow - + # Package com.arsdigita.cms.ui.authoringkit # ========================================= -cms.ui.authoringkit.authoring_kit_for=Authoring Kit for +cms.ui.authoringkit.authoring_kit_for=Authoring Kit for cms.ui.authoringkit.authoring_kit_has_more_than_one_step=This authoring kit has more than one step: cms.ui.authoringkit.authoring_kit_has_no_steps=This authoring kit has no steps: -cms.ui.authoringkit.component=Component: -cms.ui.authoringkit.content_type_id=Content Type ID# -cms.ui.authoringkit.create_component=Create Component: -cms.ui.authoringkit.createcomponent=CreateComponent: -cms.ui.authoringkit.current_row_does_not_exists=Current row does not exists -cms.ui.authoringkit.description=Description: +cms.ui.authoringkit.component=Component: +cms.ui.authoringkit.content_type_id=Content Type ID# +cms.ui.authoringkit.create_component=Create Component: +cms.ui.authoringkit.createcomponent=CreateComponent: +cms.ui.authoringkit.current_row_does_not_exists=Current row does not exists +cms.ui.authoringkit.description=Description: cms.ui.authoringkit.description_bundle=Description Bundle cms.ui.authoringkit.description_key=Description Key -cms.ui.authoringkit.do_you_really_want_to_delete_this_authoring_step=Do you really want to delete this authoring step? -cms.ui.authoringkit.label=Label: +cms.ui.authoringkit.do_you_really_want_to_delete_this_authoring_step=Do you really want to delete this authoring step? +cms.ui.authoringkit.label=Label: cms.ui.authoringkit.label_bundle=Label Bundle cms.ui.authoringkit.label_key=Label Key -cms.ui.authoringkit.ordering=Ordering: -cms.ui.authoringkit.submission_cancelled=Submission Cancelled +cms.ui.authoringkit.ordering=Ordering: +cms.ui.authoringkit.submission_cancelled=Submission Cancelled - + # Package com.arsdigita.cms.ui.category # ===================================== cms.ui.category.add=Add category cms.ui.category.add_index_item=Set index item cms.ui.category.add_use_context=Add Use Context -cms.ui.category.assigned_purposes=Assigned Purposes: -cms.ui.category.available_purposes=Available Purposes: -cms.ui.category.back= (back) +cms.ui.category.assigned_purposes=Assigned Purposes: +cms.ui.category.available_purposes=Available Purposes: +cms.ui.category.back= (back) cms.ui.category.batch_categorized_objects=Batch Order Items in This Category cms.ui.category.batch_order_objects_order=Priority cms.ui.category.batch_order_objects_title=Title @@ -433,12 +433,12 @@ cms.ui.category.content_item=Content Item cms.ui.category.delete=Delete category cms.ui.category.delete_prompt=Are you sure you want to delete this category? -cms.ui.category.descriptionn=Description:\n +cms.ui.category.descriptionn=Description:\n cms.ui.category.details=Category details cms.ui.category.edit=Edit category -cms.ui.category.edit_index_item=Edit index item +cms.ui.category.edit_index_item=Edit index item cms.ui.category.edit_a_category=Edit a Category -cms.ui.category.edit_purposes=Edit purposes +cms.ui.category.edit_purposes=Edit purposes cms.ui.category.index_item.select=Select an index item for this category cms.ui.category.index_item=Index item cms.ui.category.intro=Select a category @@ -447,7 +447,7 @@ cms.ui.category.is_not_abstract=Can you place objects in this category? cms.ui.category.item.none=There are no items in this category cms.ui.category.item=Categorized item -cms.ui.category.labeln=Label:\n +cms.ui.category.labeln=Label:\n cms.ui.category.linked=Linked categories cms.ui.category.linked_add=Add or remove linked categories cms.ui.category.linked_none=This category has no linked categories @@ -464,9 +464,9 @@ cms.ui.category.localization_url=URL cms.ui.category.name_not_unique=There is already a category with this name cms.ui.category.no_categorized_objects=There are no categorized objects -cms.ui.category.no_category_purposes=No Category Purposes +cms.ui.category.no_category_purposes=No Category Purposes cms.ui.category.no_linked_categories=No linked categories -cms.ui.category.no_subcategories=No subcategories +cms.ui.category.no_subcategories=No subcategories cms.ui.category.purpose_add=Add or remove category purposes cms.ui.category.purpose_assigned=Assigned purposes cms.ui.category.purpose_available=Available purposes @@ -483,9 +483,9 @@ cms.ui.category.use_context=Use Context cms.ui.category.use_contexts=Use Contexts cms.ui.category.use_context_must_be_unique=Use context must be unique within a Content Section. -cms.ui.category.view_index_item=View index item +cms.ui.category.view_index_item=View index item - + # Package com.arsdigita.cms.ui.cse # ================================ cms.ui.cse.authorName=Author @@ -496,42 +496,42 @@ cms.ui.cse.editLink=edit cms.ui.cse.endDateTime=Live Until - + # Package com.arsdigita.cms.ui.folder # =================================== -cms.ui.folder.cancelled=cancelled -cms.ui.folder.cannot_find_a_root_folder=Cannot find a root folder. -cms.ui.folder.na=N/A -cms.ui.folder.no_source_items_specified=No source items specified. +cms.ui.folder.cancelled=cancelled +cms.ui.folder.cannot_find_a_root_folder=Cannot find a root folder. +cms.ui.folder.na=N/A +cms.ui.folder.no_source_items_specified=No source items specified. cms.ui.folder.parent=Parent Folder cms.ui.folder.rename=Rename folder - - + + # Package com.arsdigita.cms.ui.formbuilder # ======================================== -cms.ui.formbuilder.description=Description: -cms.ui.formbuilder.name=Name: -cms.ui.formbuilder.oh_no_you_dont=Oh no you don't -cms.ui.formbuilder.title=Title: +cms.ui.formbuilder.description=Description: +cms.ui.formbuilder.name=Name: +cms.ui.formbuilder.oh_no_you_dont=Oh no you don't +cms.ui.formbuilder.title=Title: - + # Package com.arsdigita.cms.ui.item # ================================= -cms.ui.item.access_denied=Access denied. -cms.ui.item.apply_a_lifecycle=Apply a Lifecycle +cms.ui.item.access_denied=Access denied. +cms.ui.item.apply_a_lifecycle=Apply a Lifecycle cms.ui.item.authoring=Authoring cms.ui.item.categories.assigned=Assigned categories cms.ui.item.categories.available=Available categories -cms.ui.item.current_row_does_not_exist=Current row does not exist +cms.ui.item.current_row_does_not_exist=Current row does not exist cms.ui.item.days=days -cms.ui.item.edit_lifecycle=Edit Lifecycle +cms.ui.item.edit_lifecycle=Edit Lifecycle cms.ui.item.end_date=End date: cms.ui.item.end_time=End time: -cms.ui.item.end_time_incomplete=End time incomplete +cms.ui.item.end_time_incomplete=End time incomplete cms.ui.item.history=History -cms.ui.item.hours=hours -cms.ui.item.invalid_end_date_please_try_again=Invalid end date, please try again -cms.ui.item.invalid_start_date_please_try_again=Invalid start date, please try again +cms.ui.item.hours=hours +cms.ui.item.invalid_end_date_please_try_again=Invalid end date, please try again +cms.ui.item.invalid_start_date_please_try_again=Invalid start date, please try again cms.ui.item.language.add=Add language cms.ui.item.language.change=Change language cms.ui.item.languages=Languages @@ -554,7 +554,7 @@ cms.ui.item.notification_period=Notify in advance: cms.ui.item.notification_period_before_start=The period for advance notification must not be longer than the publishing period. cms.ui.item.preview=Preview -cms.ui.item.reapply_a_lifecycle=Re-apply a Lifecycle +cms.ui.item.reapply_a_lifecycle=Re-apply a Lifecycle cms.ui.item.revision.added=Added To cms.ui.item.revision.current=Current revision cms.ui.item.revision.difference_show=Show difference @@ -583,21 +583,21 @@ cms.ui.item.revisions=Revisions cms.ui.item.start_date=Start date: cms.ui.item.start_time=Start time: -cms.ui.item.start_time_incomplete=Start time incomplete -cms.ui.item.submission_cancelled=Submission Cancelled +cms.ui.item.start_time_incomplete=Start time incomplete +cms.ui.item.submission_cancelled=Submission Cancelled cms.ui.item.summary=Summary cms.ui.item.templates=Templates -cms.ui.item.the_current_row_does_not_exists=The current row does not exists +cms.ui.item.the_current_row_does_not_exists=The current row does not exists cms.ui.item.workflow=Workflow cms.ui.item.workflow.start=Start workflow cms.ui.item.workflow.stop=Stop workflow - + # Package com.arsdigita.cms.ui.lifecycle # ====================================== cms.ui.lifecycle.add=Create new lifecycle -cms.ui.lifecycle.add_a_phase=Add a Phase -cms.ui.lifecycle.create_a_lifecycle=Create a Lifecycle +cms.ui.lifecycle.add_a_phase=Add a Phase +cms.ui.lifecycle.create_a_lifecycle=Create a Lifecycle cms.ui.lifecycle.days=Days cms.ui.lifecycle.delete_prompt=Are you sure you want to delete this lifecycle? cms.ui.lifecycle.delete=Delete lifecycle @@ -608,13 +608,13 @@ cms.ui.lifecycle.forever=Forever cms.ui.lifecycle.hours=Hours cms.ui.lifecycle.intro=Select an existing lifecycle or create a new one -cms.ui.lifecycle.label=Label: -cms.ui.lifecycle.lifecycle_information=Lifecycle Information +cms.ui.lifecycle.label=Label: +cms.ui.lifecycle.lifecycle_information=Lifecycle Information cms.ui.lifecycle.lifecycles=Lifecycles cms.ui.lifecycle.mins=Mins cms.ui.lifecycle.name=Name cms.ui.lifecycle.name_not_unique=There is already a lifecycle with this name -cms.ui.lifecycle.no_lifecycles_defined_for_this_section=No lifecycles defined for this section. +cms.ui.lifecycle.no_lifecycles_defined_for_this_section=No lifecycles defined for this section. cms.ui.lifecycle.no_phases=This lifecycle has no phases cms.ui.lifecycle.phase_add=Add phase cms.ui.lifecycle.phase_days=Days @@ -631,26 +631,26 @@ cms.ui.lifecycle.phase_none=This lifecycle has no phases cms.ui.lifecycle.phase_start_delay=Start delay cms.ui.lifecycle.phases=Phases -cms.ui.lifecycle.start_delay=Start Delay: +cms.ui.lifecycle.start_delay=Start Delay: - + # Package com.arsdigita.cms.ui.permissions # ======================================== -cms.ui.permissions.add_administrator=Add administrator -cms.ui.permissions.cannot_add_user=cannot add user -cms.ui.permissions.cannot_retrieve_party=Cannot retrieve party -cms.ui.permissions.column_index=Column index -cms.ui.permissions.could_not_find_this_object=Could not find this Object -cms.ui.permissions.current_object_is_null=current Object is null! -cms.ui.permissions.no_users_were_selected=No users were selected. -cms.ui.permissions.not_an_object_adminstrator=not an object adminstrator -cms.ui.permissions.out_of_bounds= out of bounds -cms.ui.permissions.remove=remove -cms.ui.permissions.return_to_object_info=Return to object info -cms.ui.permissions.these_are_the_current_permissions_for_this_folder=These are the current permissions for this folder. -cms.ui.permissions.these_are_the_custom_permissions_that_have_been_granted_on_this_object=These are the custom permissions that have been granted on this object. +cms.ui.permissions.add_administrator=Add administrator +cms.ui.permissions.cannot_add_user=cannot add user +cms.ui.permissions.cannot_retrieve_party=Cannot retrieve party +cms.ui.permissions.column_index=Column index +cms.ui.permissions.could_not_find_this_object=Could not find this Object +cms.ui.permissions.current_object_is_null=current Object is null! +cms.ui.permissions.no_users_were_selected=No users were selected. +cms.ui.permissions.not_an_object_adminstrator=not an object adminstrator +cms.ui.permissions.out_of_bounds= out of bounds +cms.ui.permissions.remove=remove +cms.ui.permissions.return_to_object_info=Return to object info +cms.ui.permissions.these_are_the_current_permissions_for_this_folder=These are the current permissions for this folder. +cms.ui.permissions.these_are_the_custom_permissions_that_have_been_granted_on_this_object=These are the custom permissions that have been granted on this object. - + # Package com.arsdigita.cms.ui.portlet # ==================================== cms.ui.portlet.tasks.no_assigned_tasks=You currently have no assigned tasks. @@ -669,7 +669,7 @@ cms.ui.reports.css.subfolderCount=Subfolders cms.ui.reports.css.contentType=Content Type cms.ui.reports.css.draft=Draft -cms.ui.reports.css.live=Live +cms.ui.reports.css.live=Live # Package com.arsdigita.cms.ui.role # ================================= @@ -700,47 +700,47 @@ cms.ui.role.staff=Staff roles cms.ui.role.viewer.add=Add a viewer role cms.ui.role.viewers=Viewer roles - + # Package com.arsdigita.cms.ui.staff # ================================== cms.ui.staff.add_member=Add member cms.ui.staff.add_role=Create new role -cms.ui.staff.create_a_role=Create a role +cms.ui.staff.create_a_role=Create a role cms.ui.staff.delete_confirmation_prompt=Are you sure you want to delete this role? -cms.ui.staff.description=Description -cms.ui.staff.edit_a_role=Edit a Role +cms.ui.staff.description=Description +cms.ui.staff.edit_a_role=Edit a Role cms.ui.staff.edit_role=Edit role -cms.ui.staff.label=Label +cms.ui.staff.label=Label cms.ui.staff.no_roles_defined=No roles are defined for this section -cms.ui.staff.privileges=Privileges -cms.ui.staff.remove=Remove +cms.ui.staff.privileges=Privileges +cms.ui.staff.remove=Remove cms.ui.staff.role_description=Description cms.ui.staff.role_details=Role details cms.ui.staff.role_intro=Select an existing role or create a new one cms.ui.staff.role_members=Role members cms.ui.staff.role_name=Name cms.ui.staff.roles=Roles -cms.ui.staff.there_are_no_administrators_for_this_role=There are no administrators for this role +cms.ui.staff.there_are_no_administrators_for_this_role=There are no administrators for this role - + # Package com.arsdigita.cms.ui.templates # ====================================== -cms.ui.templates.assign_a_template_to=Assign a template to -cms.ui.templates.assign_template=Assign Template -cms.ui.templates.assign_this_template=Assign this template +cms.ui.templates.assign_a_template_to=Assign a template to +cms.ui.templates.assign_template=Assign Template +cms.ui.templates.assign_this_template=Assign this template cms.ui.templates.assigned_templates=Assigned templates -cms.ui.templates.default=Default -cms.ui.templates.dummy=dummy -cms.ui.templates.label=Label: -cms.ui.templates.name=Name: -cms.ui.templates.no_templates=No Templates -cms.ui.templates.not_implemented=Not Implemented -cms.ui.templates.preview=Preview -cms.ui.templates.remove=Remove -cms.ui.templates.set_as_default=Set as Default -cms.ui.templates.use_context=Use Context: +cms.ui.templates.default=Default +cms.ui.templates.dummy=dummy +cms.ui.templates.label=Label: +cms.ui.templates.name=Name: +cms.ui.templates.no_templates=No Templates +cms.ui.templates.not_implemented=Not Implemented +cms.ui.templates.preview=Preview +cms.ui.templates.remove=Remove +cms.ui.templates.set_as_default=Set as Default +cms.ui.templates.use_context=Use Context: - + # Package com.arsdigita.cms.ui.type # ================================= cms.ui.type.add=Add content type @@ -788,32 +788,32 @@ cms.ui.type.year_range_wrong_order=The years in the range are out of order cms.ui.type.year_too_anachronistic=The range dates appear abnormal - + # Package com.arsdigita.cms.ui.worfklow # ===================================== cms.ui.worfklow.task_roles=Assigned roles cms.ui.workflow.add=Add workflow -cms.ui.workflow.add_a_new_task_to=Add a new Task to -cms.ui.workflow.add_task=Add Task -cms.ui.workflow.assign_roles_for=Assign Roles for -cms.ui.workflow.cancel_hit=Cancel hit +cms.ui.workflow.add_a_new_task_to=Add a new Task to +cms.ui.workflow.add_task=Add Task +cms.ui.workflow.assign_roles_for=Assign Roles for +cms.ui.workflow.cancel_hit=Cancel hit cms.ui.workflow.comment=Comment cms.ui.workflow.current_state=Current state cms.ui.workflow.delete=Delete workflow cms.ui.workflow.delete_prompt=Are you sure you want to delete this workflow? -cms.ui.workflow.delete_user=delete user -cms.ui.workflow.delete_workflow=Delete workflow +cms.ui.workflow.delete_user=delete user +cms.ui.workflow.delete_workflow=Delete workflow cms.ui.workflow.description=Description cms.ui.workflow.details=Workflow details cms.ui.workflow.edit=Edit workflow -cms.ui.workflow.edit_task_in=Edit Task in +cms.ui.workflow.edit_task_in=Edit Task in cms.ui.workflow.insufficient_privileges=You have insufficient privileges cms.ui.workflow.intro=Select a workflow or add a new one cms.ui.workflow.lock_tasks=Lock my tasks for this content item -cms.ui.workflow.no_users_were_selected=No users were selected. +cms.ui.workflow.no_users_were_selected=No users were selected. cms.ui.workflow.num_tasks=Number of tasks -cms.ui.workflow.restart_stopped_workflow=Restart stopped workflow -cms.ui.workflow.stop_workflow=Stop workflow +cms.ui.workflow.restart_stopped_workflow=Restart stopped workflow +cms.ui.workflow.stop_workflow=Stop workflow cms.ui.workflow.task.add=Add task cms.ui.workflow.task.approve=Approve cms.ui.workflow.task.approve_prompt=Approve this work? Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-17 11:16:00 UTC (rev 2407) +++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-17 12:55:07 UTC (rev 2408) @@ -1,16 +1,16 @@ # Package com.arsdigita.cms # ========================= -cms.attributeset_is_already_locked=AttributeSet ist bereits gesperrt -cms.attributeset_is_locked=AttributeSet ist gesperrt -cms.cannot_create_xml_document=Kann XML Dokument nicht erstellen -cms.cant_promote_folders=Can't promote folders +cms.attributeset_is_already_locked=AttributeSet ist bereits gesperrt +cms.attributeset_is_locked=AttributeSet ist gesperrt +cms.cannot_create_xml_document=Kann XML Dokument nicht erstellen +cms.cant_promote_folders=Can't promote folders cms.classnotfoundexception=ClassNotFoundException: -cms.illegalaccessexception=IllegalAccessException: -cms.image.erroneous_jpeg_marker_length=Erroneous JPEG marker length -cms.image.expected_soi_marker_first=Expected SOI marker first +cms.illegalaccessexception=IllegalAccessException: +cms.image.erroneous_jpeg_marker_length=Erroneous JPEG marker length +cms.image.expected_soi_marker_first=Expected SOI marker first cms.image.not_a_jpeg_file=Keine JPEG Datei -cms.instantiationexception=Ausnahmebedinung bei Instantiierung: -cms.nosuchmethodexception=NoSuchMethodException: +cms.instantiationexception=Ausnahmebedinung bei Instantiierung: +cms.nosuchmethodexception=NoSuchMethodException: cms.templates=Vorlagen cms.title=Titel no=Nein @@ -22,48 +22,48 @@ # Package com.arsdigita.cms.contenttypes # ====================================== -cms.contenttypes.contact=Kontakt: -cms.contenttypes.contact_details=Kontakt Details: -cms.contenttypes.contact_information=Kontakt Information: -cms.contenttypes.contactinfo=KontaktInfo: -cms.contenttypes.cost=Kosten: -cms.contenttypes.coudlnt_retrieve_text=Text konnte nicht gefunden werden +cms.contenttypes.contact=Kontakt: +cms.contenttypes.contact_details=Kontaktdetails: +cms.contenttypes.contact_information=Kontaktinformation: +cms.contenttypes.contactinfo=Kontaktinformation: +cms.contenttypes.cost=Kosten: +cms.contenttypes.coudlnt_retrieve_text=Text konnte nicht gefunden werden cms.contenttypes.current_image=Gegenw\u00e4rtiges Bild\: -cms.contenttypes.department=Abteilung: -cms.contenttypes.end_date=Datum Ende: -cms.contenttypes.end_time=Zeitpunkt Ende: -cms.contenttypes.event_type_not_registered=Veranstaltungs-Typ noch nicht registriert +cms.contenttypes.department=Abteilung: +cms.contenttypes.end_date=Enddatum: +cms.contenttypes.end_time=Ende um: +cms.contenttypes.event_type_not_registered=Veranstaltungs-Typ nicht registriert #used in ccm-cms-types-job cms.contenttypes.grade=Grade: -#used in ccm-cms-types-organization +#used in ccm-cms-types-organization cms.contenttypes.image=Bilder: -cms.contenttypes.installer.article_section=Artikel Abschnitt -cms.contenttypes.installer.article_section_for_a_multipart_article=Artikel Abschnitt f\u00fcr einen mehrteiligen Artikel -cms.contenttypes.job_description=Beschreibung: -cms.contenttypes.job_type_not_registered=Inhaltstyp Job nicht registriert -cms.contenttypes.lead=Beschreibung (Lead Text): -cms.contenttypes.legalnotice_type_not_registered=Inhaltstyp LegalNotice nicht registriert +cms.contenttypes.installer.article_section=Artikelabschnitt +cms.contenttypes.installer.article_section_for_a_multipart_article=Artikelabschnitt f\u00fcr einen mehrteiligen Artikel +cms.contenttypes.job_description=Beschreibung: +cms.contenttypes.job_type_not_registered=Inhaltstyp Job nicht registriert +cms.contenttypes.lead=Beschreibung (Lead Text): +cms.contenttypes.legalnotice_type_not_registered=Inhaltstyp LegalNotice nicht registriert cms.contenttypes.link=Link: -cms.contenttypes.link_to_map=Karte (Link)\: -cms.contenttypes.location=Ort: -cms.contenttypes.main_contributor=Hauptredner\: -cms.contenttypes.minutes_type_not_registered=Inhaltstyp Minutes nicht registriert -cms.contenttypes.news_date=Datum: -cms.contenttypes.newsitem_type_not_registered=Inhaltstyp NewsItem nicht registriert -cms.contenttypes.no_content_section=Kein Inhaltsabschnitt -cms.contenttypes.no_section=Kein Abschnitt -cms.contenttypes.opening_time=\u00d6ffnungszeit\: +cms.contenttypes.link_to_map=Karte (Link)\: +cms.contenttypes.location=Ort: +cms.contenttypes.main_contributor=Hauptredner\: +cms.contenttypes.minutes_type_not_registered=Inhaltstyp Minutes nicht registriert +cms.contenttypes.news_date=Datum: +cms.contenttypes.newsitem_type_not_registered=Inhaltstyp NewsItem nicht registriert +cms.contenttypes.no_content_section=Kein Inhaltsabschnitt +cms.contenttypes.no_section=Kein Abschnitt +cms.contenttypes.opening_time=\u00d6ffnungszeit\: cms.contenttypes.person_specification=Person Spezifikation: -cms.contenttypes.pressrelease_type_not_registered=Inhaltstyp PressRelease nicht registriert -cms.contenttypes.ref_number=Ref. Nummer\: -cms.contenttypes.salary=Gehalt: -cms.contenttypes.service_type_not_registered=Inhaltstyp Service nicht registriert -cms.contenttypes.services_provided=Verf\u00fcgbare Services: -cms.contenttypes.start_date=Start Datum: -cms.contenttypes.start_time=Beginn um\: -cms.contenttypes.subjectitems=Themen\: -cms.contenttypes.summary=Beschreibung: +cms.contenttypes.pressrelease_type_not_registered=Inhaltstyp PressRelease nicht registriert +cms.contenttypes.ref_number=Ref. Nummer\: +cms.contenttypes.salary=Gehalt: +cms.contenttypes.service_type_not_registered=Inhaltstyp Service nicht registriert +cms.contenttypes.services_provided=Verf\u00fcgbare Services: +cms.contenttypes.start_date=Startdatum: +cms.contenttypes.start_time=Beginn um\: +cms.contenttypes.subjectitems=Themen: +cms.contenttypes.summary=Beschreibung: cms.contenttypes.title=Titel: cms.contenttypes.template.body_text.title=Haupttext\: cms.contenttypes.template.body_text.description=Haupttext bearbeiten @@ -71,134 +71,134 @@ cms.contenttypes.shared.assign_categories.description=Kategorien zuweisen cms.contenttypes.shared.attach_files.title=Dateien zuordnen cms.contenttypes.shared.attach_files.description=Dateien anh\u00e4ngen -cms.contenttypes.shared.basic_properties.description=Basiseigenschaften editieren +cms.contenttypes.shared.basic_properties.description=Basiseigenschaften bearbeiten cms.contenttypes.shared.basic_properties.title=Basiseigenschaften cms.contenttypes.shared.body_text.title=Haupttext -cms.contenttypes.shared.body_text.description=Haupttext editieren +cms.contenttypes.shared.body_text.description=Haupttext bearbeiten - + # Package com.arsdigita.cms.contenttypes.ui # ========================================= -cms.contenttypes.ui.action_item=Action Item: -cms.contenttypes.ui.address=Adresse: -cms.contenttypes.ui.agenda_date=Zeit: -cms.contenttypes.ui.agenda_date_and_time=Datum und Zeit: +cms.contenttypes.ui.action_item=Aktionselement: +cms.contenttypes.ui.address=Adresse: +cms.contenttypes.ui.agenda_date=Zeit: +cms.contenttypes.ui.agenda_date_and_time=Datum und Zeit: cms.contenttypes.ui.attendees=Teilnehmer: cms.contenttypes.ui.bodyoverview=\u00dcbersicht\: -cms.contenttypes.ui.closing_date=Abschluss am\: -cms.contenttypes.ui.contact_details=Kontakt Details: -cms.contenttypes.ui.contact_info=Kontakt Info: -cms.contenttypes.ui.contacts=Kontakte: -cms.contenttypes.ui.content_group_current_items=Aktuelle Items: -cms.contenttypes.ui.content_group_name=Inhalt Gruppen Name: -cms.contenttypes.ui.content_group_new_item=Neuen Item hinzuf\u00fcgen: -cms.contenttypes.ui.cost=Kosten: -cms.contenttypes.ui.creation_date=Erstellungsdatum: -cms.contenttypes.ui.date=Datum: -cms.contenttypes.ui.department=Abteilung: -cms.contenttypes.ui.description=Beschreibung: +cms.contenttypes.ui.closing_date=Abschluss am\: +cms.contenttypes.ui.contact_details=Kontaktdetails: +cms.contenttypes.ui.contact_info=Kontaktinformation: +cms.contenttypes.ui.contacts=Kontakte: +cms.contenttypes.ui.content_group_current_items=Aktuelle Items: +cms.contenttypes.ui.content_group_name=Inhalt Gruppen Name: +cms.contenttypes.ui.content_group_new_item=Neues Dokument hinzuf\u00fcgen: +cms.contenttypes.ui.cost=Kosten: +cms.contenttypes.ui.creation_date=Erstellungsdatum: +cms.contenttypes.ui.date=Datum: +cms.contenttypes.ui.department=Abteilung: +cms.contenttypes.ui.description=Beschreibung: cms.contenttypes.ui.description_missing=Bitte eine Beschreibung eingeben -cms.contenttypes.ui.description_of_minutes=Description of Minutes: -cms.contenttypes.ui.end_date=Enddatum: -cms.contenttypes.ui.end_time=Ende um\: -cms.contenttypes.ui.event_start_time=Event Beginn um\: -cms.contenttypes.ui.event_end_time=Event Ende um\: -cms.contenttypes.ui.government_uid=Government UID: -cms.contenttypes.ui.grade=Grad: +cms.contenttypes.ui.description_of_minutes=Beschreibung der Tagesordnungspunkte: +cms.contenttypes.ui.end_date=Enddatum: +cms.contenttypes.ui.end_time=Ende um\: +cms.contenttypes.ui.event_start_time=Veranstaltungsbeginn um: +cms.contenttypes.ui.event_end_time=Veranstaltungsende um: +cms.contenttypes.ui.government_uid=Government UID: +cms.contenttypes.ui.grade=Stufe: cms.contenttypes.ui.homepage=Homepage: -cms.contenttypes.ui.job_description=Job Beschreibung: -cms.contenttypes.ui.launch_date=Ver\u00f6ffentlichungsdatum: -cms.contenttypes.ui.lead=Beschreibung (Lead Text): -cms.contenttypes.ui.lead_line=Beschreibung (Lead Zeile): +cms.contenttypes.ui.job_description=Stellenbeschreibung: +cms.contenttypes.ui.launch_date=Ver\u00f6ffentlichungsdatum: +cms.contenttypes.ui.lead=Beschreibung (Lead Text): +cms.contenttypes.ui.lead_line=Beschreibung (Lead Zeile): cms.contenttypes.ui.link_to_map=Lageplan: -cms.contenttypes.ui.location=Ort: -cms.contenttypes.ui.main_contributor=Hauptredner\: -cms.contenttypes.ui.name=Name: +cms.contenttypes.ui.location=Ort: +cms.contenttypes.ui.main_contributor=Hauptredner\: +cms.contenttypes.ui.name=Name: cms.contenttypes.ui.opening_times=\u00d6ffnungszeiten\: -cms.contenttypes.ui.person_specification=Person Specification: -cms.contenttypes.ui.ref_code=Ref. Code: -cms.contenttypes.ui.ref_number=Ref. Nr.: -cms.contenttypes.ui.reference=Referenz: -cms.contenttypes.ui.reference_code=Referenz Code: -cms.contenttypes.ui.salary=Gehalt: -cms.contenttypes.ui.services_provided=Verf\u00fcgbarer Service: -cms.contenttypes.ui.start_date=Anfangsdatum: -cms.contenttypes.ui.start_time=Anfangszeit: +cms.contenttypes.ui.person_specification=Person Specification: +cms.contenttypes.ui.ref_code=Ref. Code: +cms.contenttypes.ui.ref_number=Ref. Nr.: +cms.contenttypes.ui.reference=Referenz: +cms.contenttypes.ui.reference_code=Referenz Code: +cms.contenttypes.ui.salary=Gehalt: +cms.contenttypes.ui.services_provided=Verf\u00fcgbarer Service: +cms.contenttypes.ui.start_date=Anfangsdatum: +cms.contenttypes.ui.start_time=Anfangszeit: cms.contenttypes.ui.subject_items=Thema Items: -cms.contenttypes.ui.summary=Beschreibung: -cms.contenttypes.ui.there_are_no_events=Keine Ereignisse vorhanden -cms.contenttypes.ui.title=Titel: -cms.contenttypes.ui.view_image=Bild anzeigen +cms.contenttypes.ui.summary=Beschreibung: +cms.contenttypes.ui.there_are_no_events=Keine Ereignisse vorhanden +cms.contenttypes.ui.title=Titel: +cms.contenttypes.ui.view_image=Bild anzeigen # Package com.arsdigita.cms.dispatcher # ===================================== -cms.dispatcher.cannot_find_domain_object=Domain Object nicht auffindbar -cms.dispatcher.could_not_find_imageasset=ImageAsset nicht auffindbar: -cms.dispatcher.failed_to_retrieve_imageasset=ImageAsset nicht auffindbar: -cms.dispatcher.no_permission_to_access_resource=Keine Rechte f\u00fcr diese Ressource -cms.dispatcher.not_implemented=nicht implementiert -cms.dispatcher.unknown_context=Unbekannter Kontext: +cms.dispatcher.cannot_find_domain_object=Domain Object nicht auffindbar +cms.dispatcher.could_not_find_imageasset=ImageAsset nicht auffindbar: +cms.dispatcher.failed_to_retrieve_imageasset=ImageAsset nicht auffindbar: +cms.dispatcher.no_permission_to_access_resource=Keine Rechte f\u00fcr diese Ressource +cms.dispatcher.not_implemented=nicht implementiert +cms.dispatcher.unknown_context=Unbekannter Kontext: - + # Package com.arsdigita.cms.formbuilder # ===================================== -cms.formbuilder.cannot_create_acsobject=ACSObject kann nicht erstellt werden +cms.formbuilder.cannot_create_acsobject=ACSObject kann nicht erstellt werden cms.formbuilder.cannot_instantiate_object=Object kann nicht instantiiert werden cms.formbuilder.no_such_form=Form nicht vorhanden -cms.formbuilder.roll_me_back=Roll me back +cms.formbuilder.roll_me_back=\u00c4nderungen r\u00fcckg\u00e4ngig machen cms.formbuilder.css=Cascading Style Sheet (CSS) Class Attribute - + # Package com.arsdigita.cms.installer -# ===================================== +# ===================================== cms.installer.approval=Akzeptieren -cms.installer.article=Artikel +cms.installer.article=Artikel cms.installer.authoring=Verfassen -cms.installer.cannot_find_cms_package_type=kann CMS Pakettyp nicht finden -cms.installer.cannot_find_content_type=kann Inhaltstyp nicht finden -cms.installer.cannot_find_file=kann Datei nicht finden -cms.installer.cannot_find_group_for_email=Kann email-Gruppe nicht finden -cms.installer.cannot_read_line_of_data=Kann Datensatz nicht lesen -cms.installer.cannot_set_template_text=Kann Template Text nicht festlegen -cms.installer.could_not_load_section=Kann die ContentSection '{0}' nicht laden +cms.installer.cannot_find_cms_package_type=kann CMS Pakettyp nicht finden +cms.installer.cannot_find_content_type=kann Inhaltstyp nicht finden +cms.installer.cannot_find_file=kann Datei nicht finden +cms.installer.cannot_find_group_for_email=Kann E-Mail-Gruppe nicht finden +cms.installer.cannot_read_line_of_data=Kann Datensatz nicht lesen +cms.installer.cannot_set_template_text=Kann Template Text nicht festlegen +cms.installer.could_not_load_section=Kann die ContentSection '{0}' nicht laden cms.installer.deploy=Anwenden -cms.installer.failed_to_update_the_default_content_section=Update der Default Content Section gescheitert. -cms.installer.formbuilder.form=Form +cms.installer.failed_to_update_the_default_content_section=Update der Standard Content Section gescheitert. +cms.installer.formbuilder.form=Form cms.installer.formbuilder.form_section=Form Abschnitt cms.installer.production_workflow=Arbeitsablauf Produktion -cms.installer.root_folder=Basisverzeichnis -cms.installer.root_site_node_missing=Root site node missing +cms.installer.root_folder=Basisverzeichnis +cms.installer.root_site_node_missing=Basisseite fehlt cms.installer.simple_publication=Einfache Ver\u00f6ffentlichung cms.installer.template=Vorlage - - + + # Package com.arsdigita.cms.lifecycle # =================================== -cms.lifecycle.could_not_fetch_lifecycle=Could not fetch lifecycle: -cms.lifecycle.could_not_fetch_phase=Could not fetch phase: +cms.lifecycle.could_not_fetch_lifecycle=Konnte Lifecycle nicht finden: +cms.lifecycle.could_not_fetch_phase=Konnte die Phase nicht laden: # Package com.arsdigita.cms.publishToFile # ======================================= -cms.publishToFile.cannot_find_file=Datei nicht gefunden -cms.publishToFile.cannot_find_item_class=Ite... [truncated message content] |
Author: pboy Date: 2012-12-17 11:16:00 +0000 (Mon, 17 Dec 2012) New Revision: 2407 Added: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java.nolongerinuse Removed: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java Modified: trunk/ccm-cms/src/com/arsdigita/cms/ContentBundle.java trunk/ccm-cms/src/com/arsdigita/cms/ContentItem.java trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java trunk/ccm-cms/src/com/arsdigita/cms/ui/category/SortableCategoryList.java trunk/ccm-core/src/com/arsdigita/categorization/Category.java trunk/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java Log: Fixed sort order in object lists. (on behalf of JensP) Modified: trunk/ccm-cms/src/com/arsdigita/cms/ContentBundle.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ContentBundle.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-cms/src/com/arsdigita/cms/ContentBundle.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -670,7 +670,8 @@ CategoryCollection categories = source.getCategoryCollection(); while (categories.next()) { final Category category = categories.getCategory(); - category.addChild(this); + + category.addChild(this, categories.getSortKey()); category.save(); // XXX remove me } categories.close(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ContentItem.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ContentItem.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-cms/src/com/arsdigita/cms/ContentItem.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -1893,6 +1893,7 @@ } // If live Bundle already exists, recategorize. + // jensp 2012: Behavior changed. The ContentBundle will also be republished. if (PARENT.equals(attribute)) { ACSObject parent = ((ContentItem) source).getParent(); if (parent != null && copier.getCopyType() @@ -1906,9 +1907,7 @@ //published because the ContentBundle was not republished. //Moved the next lines out of the if below to enable //republishing of the ContentBundle - final ContentBundle liveBundle = - (ContentBundle) bundle. - createPendingVersion(null); + final ContentBundle liveBundle = (ContentBundle) bundle.createPendingVersion(null); /* * if (liveBundle == null) { } else { Set liveCatSet = new * HashSet(); Set draftCatSet = new HashSet(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-cms/src/com/arsdigita/cms/dispatcher/BaseImage.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -71,7 +71,7 @@ CMS.getConfig().getImageCacheMaxSize()); } } - private final bool IMAGE_CACHE_PREFETCH = CMS.getConfig().getImageCachePrefetchEnabled(); + private final boolean IMAGE_CACHE_PREFETCH = CMS.getConfig().getImageCachePrefetchEnabled(); private static final Logger s_log = Logger.getLogger(BaseImage.class); /** Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategorizedObjectsList.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -35,7 +35,6 @@ import java.math.BigDecimal; import javax.servlet.ServletException; - /** * A List of all objects currently categorized under this category * @@ -52,25 +51,36 @@ setModelBuilder(new CategorizedObjectsModelBuilder()); - Label label = new Label(GlobalizationUtil.globalize - ("cms.ui.category.item.none")); + Label label = new Label(GlobalizationUtil.globalize("cms.ui.category.item.none")); label.setFontWeight(Label.ITALIC); setEmptyView(label); } /** - * This actually performs the sorting + * This actually performs the sorting */ public void respond(PageState ps) throws ServletException { - String event = ps.getControlEventName(); + final String event = ps.getControlEventName(); if (NEXT_EVENT.equals(event) || PREV_EVENT.equals(event)) { - BigDecimal selectedID = new BigDecimal(ps.getControlEventValue()); - Category parent = getCategory(ps); + final BigDecimal selectedID = new BigDecimal(ps.getControlEventValue()); + final Category parent = getCategory(ps); + + final ContentItem selectedItem = new ContentItem(selectedID); + final BigDecimal selectedDraftId = selectedItem.getDraftVersion().getID(); - if (CMS.getContext().getSecurityManager().canAccess - (SecurityManager.CATEGORY_ADMIN)) { - parent.swapSortKeys(selectedID, getSwapID(parent,selectedID,event)); + if (CMS.getContext().getSecurityManager().canAccess(SecurityManager.CATEGORY_ADMIN)) { + final BigDecimal swapId = getSwapID(parent, selectedID, event); + parent.swapSortKeys(selectedID, swapId); + final ContentItem swapItem = new ContentItem(swapId); + final BigDecimal swapDraftId = swapItem.getDraftVersion().getID(); + + final BigDecimal sortKey1 = parent.getSortKey(selectedItem); + final BigDecimal sortKey2 = parent.getSortKey(swapItem); + + parent.setSortKey(new ContentItem(selectedDraftId), sortKey1); + parent.setSortKey(new ContentItem(swapDraftId), sortKey2); + } } else { super.respond(ps); @@ -83,9 +93,8 @@ boolean foundSelectedID = false; if (category != null && category.hasChildObjects()) { - CategorizedCollection items = category.getObjects - (ContentItem.BASE_DATA_OBJECT_TYPE); - items.addEqualsFilter(ContentItem.VERSION,ContentItem.LIVE); + CategorizedCollection items = category.getObjects(ContentItem.BASE_DATA_OBJECT_TYPE); + items.addEqualsFilter(ContentItem.VERSION, ContentItem.LIVE); items.sort(true); while (items.next()) { BigDecimal thisID = items.getACSObject().getID(); @@ -111,14 +120,14 @@ private class CategorizedObjectsModelBuilder extends LockableImpl implements ListModelBuilder { + public final ListModel makeModel(final List list, final PageState state) { final Category category = getCategory(state); if (category != null && category.hasChildObjects()) { - CategorizedCollection items = category.getObjects - (ContentItem.BASE_DATA_OBJECT_TYPE); - items.addEqualsFilter(ContentItem.VERSION,ContentItem.LIVE); + CategorizedCollection items = category.getObjects(ContentItem.BASE_DATA_OBJECT_TYPE); + items.addEqualsFilter(ContentItem.VERSION, ContentItem.LIVE); items.sort(true); return new CategorizedCollectionListModel(items); } else { @@ -131,6 +140,7 @@ * A {@link ListModel} that iterates over categorized objects via an iterator */ private static class CategorizedCollectionListModel implements ListModel { + private CategorizedCollection m_objs; private ACSObject m_object; @@ -140,7 +150,7 @@ } public boolean next() { - if ( m_objs.next() ) { + if (m_objs.next()) { m_object = (ACSObject) m_objs.getDomainObject(); return true; } else { Deleted: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -1,171 +0,0 @@ -/* - * Copyright (C) 2002-2004 Red Hat Inc. All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2.1 of - * the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ -package com.arsdigita.cms.ui.category; - -import com.arsdigita.bebop.Component; -import com.arsdigita.bebop.ControlLink; -import com.arsdigita.bebop.Label; -import com.arsdigita.bebop.PageState; -import com.arsdigita.bebop.list.ListModel; -import com.arsdigita.bebop.util.BebopConstants; -import com.arsdigita.categorization.Category; -import com.arsdigita.cms.CMS; -import com.arsdigita.cms.ContentItem; -import com.arsdigita.domain.DataObjectNotFoundException; -import com.arsdigita.util.Assert; -import com.arsdigita.xml.Element; -import java.io.IOException; -import java.math.BigDecimal; -import javax.servlet.ServletException; - -/** - * This list offers the option for the code to provide the developer - * with links to sort the given categories. - * - * NOTE: This UI currently does not scale well with large numbers of items - * since it just lists all of them. It would probably be nice to integrate - * a paginator as well to as to allow the user to move an item in large - * distances and to insert an item in the middle. Right now, when you add - * an item it is just placed at the end. However, if you want the item to - * appear in the middle then you must hit the "up" arrow n/2 times where - * n is the number of items in the list. This clearly is not a good setup. - * - * @author Randy Graebner (ra...@al...) - * @version $Revision: #11 $ $DateTime: 2004/08/17 23:15:09 $ - * @version $Id$ - */ -public class OrderedCategorizedObjectsList extends CategorizedObjectsList { - - private static final org.apache.log4j.Logger s_log = - org.apache.log4j.Logger.getLogger(OrderedCategorizedObjectsList.class); - - // It would be really nice if this used the save variable as is - // used by List but because List has it as private, we cannot do that. - private static final String SELECT_EVENT = "s"; - private static final String PREV_EVENT = "prev"; - private static final String NEXT_EVENT = "next"; - - /** - * This just makes a standard - * {@link OrderedCategorizedObjectsList} - */ - public OrderedCategorizedObjectsList(final CategoryRequestLocal category) { - super(category); - } - - - /** - * This geneates the XML as specified by the arguments pass in to - * the constructor. - */ - public void generateXML(PageState state, Element parent) { - if ( ! isVisible(state) ) { - return; - } - - // They want the special sort items - ListModel m = getModel(state); - - if (!m.next()) { - super.generateXML(state, parent); - return; - } - - // because m.next() returned true, we know there are items - // in the list - Element list = parent.newChildElement - ("cms:orderedCategorizedObjectList", CMS.CMS_XML_NS); - exportAttributes(list); - - Component c; - Object selKey = getSelectedKey(state); - int i = 0; - boolean hasNext; - do { - Element item = list.newChildElement - (BebopConstants.BEBOP_CELL, BEBOP_XML_NS); - item.addAttribute("configure", "true"); - - String key = m.getKey(); - Assert.exists(key); - - // Converting both keys to String for comparison - // since ListModel.getKey returns a String - boolean selected = (selKey != null) && - key.equals(selKey.toString()); - - if ( selected ) { - item.addAttribute("selected", "selected"); - } - state.setControlEvent(this, SELECT_EVENT, key); - Label l = new Label(m.getElement().toString()); - c = new ControlLink(l); - c.generateXML(state, item); - - hasNext = m.next(); - - // Add attributes containing URLs that fire control events - // for various portlet actions - try { - // Maybe add attribute containing URL for "move up" link - if (i > 0) { - state.setControlEvent(this, PREV_EVENT, key); - item.addAttribute("prevURL", state.stateAsURL()); - } - - // Maybe add attribute containing URL for "move down" link - if (hasNext) { - state.setControlEvent(this, NEXT_EVENT, key); - item.addAttribute("nextURL", state.stateAsURL()); - } - - } catch (IOException ex) { - throw new IllegalStateException("Caught IOException: " + - ex.getMessage()); - } - i++; - } while (hasNext); - - state.clearControlEvent(); - } - - public void respond(PageState ps) throws ServletException { - String event = ps.getControlEventName(); - - if (NEXT_EVENT.equals(event) || PREV_EVENT.equals(event)) { - try { - ContentItem child = - new ContentItem(new BigDecimal(ps.getControlEventValue())); - final Category parent = getCategory(ps); - - if (NEXT_EVENT.equals(event)) { - parent.swapWithNext(child); - } else { - parent.swapWithPrevious(child); - } - parent.save(); - } catch (DataObjectNotFoundException e) { - s_log.error("Trying to create categories with state = " + ps, e); - throw new ServletException(e); - } - } else { - super.respond(ps); - } - } -} Added: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java.nolongerinuse =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java.nolongerinuse (rev 0) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/OrderedCategorizedObjectsList.java.nolongerinuse 2012-12-17 11:16:00 UTC (rev 2407) @@ -0,0 +1,181 @@ +/* + * Copyright (C) 2002-2004 Red Hat Inc. All Rights Reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +package com.arsdigita.cms.ui.category; + +import com.arsdigita.bebop.Component; +import com.arsdigita.bebop.ControlLink; +import com.arsdigita.bebop.Label; +import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.list.ListModel; +import com.arsdigita.bebop.util.BebopConstants; +import com.arsdigita.categorization.Category; +import com.arsdigita.cms.CMS; +import com.arsdigita.cms.ContentItem; +import com.arsdigita.domain.DataObjectNotFoundException; +import com.arsdigita.util.Assert; +import com.arsdigita.xml.Element; +import java.io.IOException; +import java.math.BigDecimal; +import javax.servlet.ServletException; + +/** + * This list offers the option for the code to provide the developer + * with links to sort the given categories. + * + * NOTE: This UI currently does not scale well with large numbers of items + * since it just lists all of them. It would probably be nice to integrate + * a paginator as well to as to allow the user to move an item in large + * distances and to insert an item in the middle. Right now, when you add + * an item it is just placed at the end. However, if you want the item to + * appear in the middle then you must hit the "up" arrow n/2 times where + * n is the number of items in the list. This clearly is not a good setup. + * + * @author Randy Graebner (ra...@al...) + * @version $Revision: #11 $ $DateTime: 2004/08/17 23:15:09 $ + * @version $Id: OrderedCategorizedObjectsList.java 2090 2010-04-17 08:04:14Z pboy $ + */ +public class OrderedCategorizedObjectsList extends CategorizedObjectsList { + + private static final org.apache.log4j.Logger s_log = + org.apache.log4j.Logger.getLogger(OrderedCategorizedObjectsList.class); + + // It would be really nice if this used the save variable as is + // used by List but because List has it as private, we cannot do that. + private static final String SELECT_EVENT = "s"; + private static final String PREV_EVENT = "prev"; + private static final String NEXT_EVENT = "next"; + + /** + * This just makes a standard + * {@link OrderedCategorizedObjectsList} + */ + public OrderedCategorizedObjectsList(final CategoryRequestLocal category) { + super(category); + } + + + /** + * This geneates the XML as specified by the arguments pass in to + * the constructor. + */ + public void generateXML(PageState state, Element parent) { + if ( ! isVisible(state) ) { + return; + } + + // They want the special sort items + ListModel m = getModel(state); + + if (!m.next()) { + super.generateXML(state, parent); + return; + } + + // because m.next() returned true, we know there are items + // in the list + Element list = parent.newChildElement + ("cms:orderedCategorizedObjectList", CMS.CMS_XML_NS); + exportAttributes(list); + + Component c; + Object selKey = getSelectedKey(state); + int i = 0; + boolean hasNext; + do { + Element item = list.newChildElement + (BebopConstants.BEBOP_CELL, BEBOP_XML_NS); + item.addAttribute("configure", "true"); + + String key = m.getKey(); + Assert.exists(key); + + // Converting both keys to String for comparison + // since ListModel.getKey returns a String + boolean selected = (selKey != null) && + key.equals(selKey.toString()); + + if ( selected ) { + item.addAttribute("selected", "selected"); + } + state.setControlEvent(this, SELECT_EVENT, key); + Label l = new Label(m.getElement().toString()); + c = new ControlLink(l); + c.generateXML(state, item); + + hasNext = m.next(); + + // Add attributes containing URLs that fire control events + // for various portlet actions + try { + // Maybe add attribute containing URL for "move up" link + if (i > 0) { + state.setControlEvent(this, PREV_EVENT, key); + item.addAttribute("prevURL", state.stateAsURL()); + } + + // Maybe add attribute containing URL for "move down" link + if (hasNext) { + state.setControlEvent(this, NEXT_EVENT, key); + item.addAttribute("nextURL", state.stateAsURL()); + } + + } catch (IOException ex) { + throw new IllegalStateException("Caught IOException: " + + ex.getMessage()); + } + i++; + } while (hasNext); + + state.clearControlEvent(); + } + + public void respond(PageState ps) throws ServletException { + String event = ps.getControlEventName(); + + if (NEXT_EVENT.equals(event) || PREV_EVENT.equals(event)) { + try { + ContentItem child = new ContentItem(new BigDecimal(ps.getControlEventValue())); + ContentItem draft = null; + if (ContentItem.LIVE.equals(child.getVersion())) { + draft = child.getDraftVersion(); + } + final Category parent = getCategory(ps); + + if (NEXT_EVENT.equals(event)) { + parent.swapWithNext(child); + if (draft != null) { + parent.swapWithNext(draft); + } + } else { + parent.swapWithPrevious(child); + if (draft != null) { + parent.swapWithPrevious(draft); + } + } + parent.save(); + + } catch (DataObjectNotFoundException e) { + s_log.error("Trying to create categories with state = " + ps, e); + throw new ServletException(e); + } + } else { + super.respond(ps); + } + } +} Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/SortableCategoryList.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/SortableCategoryList.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/SortableCategoryList.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -23,6 +23,7 @@ import com.arsdigita.bebop.parameters.BigDecimalParameter; import com.arsdigita.categorization.Category; import com.arsdigita.cms.CMS; +import com.arsdigita.cms.ContentItem; import com.arsdigita.cms.ContentSection; import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.ui.SortableList; @@ -100,7 +101,7 @@ } parent.save(); - } + } } catch (DataObjectNotFoundException e) { s_log.error("Trying to create categories with state = " + ps, e); throw new ServletException(e); Modified: trunk/ccm-core/src/com/arsdigita/categorization/Category.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -109,9 +109,9 @@ * */ public static final String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.categorization.Category"; + "com.arsdigita.categorization.Category"; private static final String BASE_DATA_OBJECT_PACKAGE = - "com.arsdigita.categorization"; + "com.arsdigita.categorization"; /** * The * <code>PrivilegeDescriptor corresponding</code> to the privilege to @@ -119,7 +119,7 @@ * */ public static final PrivilegeDescriptor MAP_DESCRIPTOR = - new PrivilegeDescriptor( + new PrivilegeDescriptor( "map_to_category"); // Quasimodo: Begin private static CategorizationConfig s_config = CategorizationConfig @@ -185,7 +185,7 @@ * An attribute name for the underlying data object. */ public static final String IGNORE_PARENT_INDEX_ITEM = - "ignoreParentIndexItem"; + "ignoreParentIndexItem"; /** * An attribute name for the underlying data object. */ @@ -197,7 +197,7 @@ public static final String LOCALIZATIONS = "localizations"; // some named queries in the pdl files private static final String CHILD_CATEGORY_IDS = - "com.arsdigita.categorization.childCategoryIDs"; + "com.arsdigita.categorization.childCategoryIDs"; private static final String CURRENT_SORT_KEY = "currentSortKey"; private HierarchyDenormalization m_hierarchy; // Quasimodo: Begin @@ -416,7 +416,8 @@ public String getName(String locale) { // Test for localized version - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -517,7 +518,7 @@ * @return category path */ public String getPreferredQualifiedName(String delimiter, - boolean includeRoot) { + boolean includeRoot) { // is this a synonym? CategoryCollection cc = new CategoryCollection(getRelatedCategories( PREFERRED)); @@ -525,7 +526,7 @@ Category preferred = cc.getCategory(); cc.close(); String preferredPath = preferred.getQualifiedName(delimiter, - includeRoot); + includeRoot); return preferredPath + " (" + getName() + ")"; } else { return getQualifiedName(delimiter, includeRoot); @@ -602,7 +603,8 @@ // Test for localized version // HACK - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -679,7 +681,8 @@ public String getURL(String locale) { // Test for localized version - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -751,7 +754,8 @@ } // Test for localized version - if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null + && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -950,8 +954,8 @@ try { if (children.next()) { throw new CategorizationException("This category is the default parent of another category." - + " You must explicitly delete the child categories first. " - + "Child category: " + children. + + " You must explicitly delete the child categories first. " + + "Child category: " + children. getDataObject()); } } finally { @@ -959,13 +963,13 @@ } DataAssociationCursor objects = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); if (objects != null) { try { if (objects.next()) { throw new CategorizationException("This category has child objects. You must delete " - + " any such objects explicitly, before deleting the " - + " category. Child object: " + objects. + + " any such objects explicitly, before deleting the " + + " category. Child object: " + objects. getDataObject()); } } finally { @@ -999,7 +1003,7 @@ public void deleteCategorySubtree() { // we get the association between this category and its children DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); while (cursor.next()) { DataObject link = cursor.getLink(); @@ -1038,7 +1042,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); while (cursor.next()) { DataObject link = cursor.getLink(); @@ -1047,7 +1051,7 @@ remove(RELATED_CATEGORIES, cursor.getDataObject()); if ("child".equals(relationType)) { Category category = new Category(cursor.getDataObject()); - parent.addChild(category); + parent.addChild(category, null); if (Boolean.TRUE.equals(isDefault)) { category.setDefaultParentCategory(parent); } @@ -1104,13 +1108,18 @@ * categories and becomes a CHILD category.</p> * * @param object the domain object to categorize + * @param sortKey optional sort key. May be <code>null</code> * * @pre !isAbstract() * @pre canMap() * */ + public void addChild(ACSObject object, BigDecimal sortKey) { + addMapping(object, "child", sortKey); + } + public void addChild(ACSObject object) { - addMapping(object, "child"); + addChild(object, null); } /** @@ -1149,21 +1158,25 @@ /** * Adds the passed in object to the correct association. + * + * @param acsObj Object to add to the category + * @param relationType Type of the relation + * @param sortKey Optional sort key. May be <code>null</code>. * * @pre canMap() */ - private void addMapping(ACSObject acsObj, String relationType) { + private void addMapping(ACSObject acsObj, String relationType, BigDecimal sortKey) { if (acsObj instanceof Category) { addMapping((Category) acsObj, relationType); return; } Assert.isFalse(isAbstract(), - "You cannot categorize an object " - + "within an abstract category. If you are " - + "seeing this message then your UI is " - + "allowing you to do something that you " - + "are not allowed to do and you " - + "should email your site administrator."); + "You cannot categorize an object " + + "within an abstract category. If you are " + + "seeing this message then your UI is " + + "allowing you to do something that you " + + "are not allowed to do and you " + + "should email your site administrator."); if (RELATED.equals(relationType)) { throw new CategorizationException( @@ -1172,21 +1185,24 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, acsObj.getID()); if (cursor.size() == 0) { // if the cursor.size() > 0 then the object is already // a child and does not need to be added again. - add(CHILD_OBJECTS, acsObj); + DataObject link = add(CHILD_OBJECTS, acsObj); + if (sortKey != null) { + link.set("sortKey", sortKey); + } Categorization.triggerMapEvent(this, acsObj); if (s_log.isDebugEnabled()) { s_log.debug(acsObj + " added to " + CHILD_OBJECTS + " of catID=" - + getID() + " type=" + relationType + " (ignored)"); + + getID() + " type=" + relationType + " (ignored)"); } } else { if (s_log.isDebugEnabled()) { s_log.debug(acsObj + " is already related to catID=" + getID() - + " type=" + relationType + " (ignored)"); + + " type=" + relationType + " (ignored)"); } } } @@ -1195,8 +1211,8 @@ // Let's check for loops. if ("child".equals(relationType) && category.isMemberOfSubtree(this)) { throw new CategorizationException("The object that you are " - + "trying to add as a child is already " - + "a member of the subtree."); + + "trying to add as a child is already " + + "a member of the subtree."); } @@ -1204,7 +1220,7 @@ // Otherwise, we add and then update. DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); cursor.addEqualsFilter(ID, category.getID()); DataObject link; if (cursor.next()) { @@ -1223,7 +1239,7 @@ cursor.close(); if (s_log.isDebugEnabled()) { s_log.debug("updating related catID=" + category.getID() + " type=" - + relationType + " default=false"); + + relationType + " default=false"); } link.set(REL_TYPE, relationType); @@ -1400,7 +1416,7 @@ */ public long getParentCategoryCount() { DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); try { return cursor.size(); } finally { @@ -1432,7 +1448,7 @@ boolean found = false; DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); while (cursor.next()) { DataObject category = cursor.getDataObject(); DataObject link = cursor.getLink(); @@ -1468,7 +1484,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, child.getID()); if (cursor.next()) { @@ -1534,7 +1550,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, child.getID()); if (cursor.next()) { @@ -1590,7 +1606,7 @@ private void swapCategoryKeys(int key, int nextKey) { swapKeys(getSession().retrieveDataOperation( "com.arsdigita.categorization.swapCategoryWithNextCategory"), - key, nextKey); + key, nextKey); } /** @@ -1599,7 +1615,7 @@ private void swapObjectKeys(int key, int nextKey) { swapKeys(getSession().retrieveDataOperation( "com.arsdigita.categorization.swapObjectWithNextObject"), - key, nextKey); + key, nextKey); } /** @@ -1628,6 +1644,24 @@ } } + public BigDecimal getSortKey(final ACSObject object) { + return getSortKey(object.getID()); + } + + public BigDecimal getSortKey(final BigDecimal objId) { + final DataAssociationCursor cursor = ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + cursor.addEqualsFilter(ID, objId); + if (cursor.next()) { + return (BigDecimal) cursor.getLink().get(SORT_KEY); + } + + return null; + } + + public void setSortKey(ACSObject object, int key) { + setSortKey(object, new BigDecimal(key)); + } + /** * Explicitly sets the sort key for this child object (category or * otherwise). @@ -1635,19 +1669,19 @@ * @param child The child object or category to set the sortKey for * @param key The integer to use for the sortKey */ - public void setSortKey(ACSObject child, int key) { + public void setSortKey(ACSObject child, BigDecimal key) { if (isCategory(child)) { setSortKey((Category) child, key); return; } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, child.getID()); if (cursor.next()) { DataObject link = cursor.getLink(); - link.set(SORT_KEY, new BigDecimal(key)); + link.set(SORT_KEY, key); } cursor.close(); } @@ -1668,7 +1702,7 @@ BigDecimal key2; DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, childID1); if (cursor.next()) { link1 = cursor.getLink(); @@ -1714,10 +1748,10 @@ */ public DataAssociationCursor getRelatedCategories(String relation) { Assert.isTrue(relation.equals(CHILD) || relation.equals(RELATED) - || relation.equals(PREFERRED), - " invalid relation {" + relation + "}"); + || relation.equals(PREFERRED), + " invalid relation {" + relation + "}"); DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); cursor.addEqualsFilter("link.relationType", relation); return cursor; } @@ -1799,7 +1833,7 @@ } StringBuilder sb = - new StringBuilder(path.length() + pathExtension.length() + 1); + new StringBuilder(path.length() + pathExtension.length() + 1); sb.append(path).append(".").append(pathExtension); return sb.toString(); } @@ -1813,7 +1847,7 @@ */ public long getNumberOfChildObjects() { DataAssociationCursor association = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); if (association == null) { return 0; } else { @@ -1838,7 +1872,7 @@ */ public Category getDefaultParentCategory() { DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); cursor.addEqualsFilter("link.isDefault", Boolean.TRUE); try { @@ -1850,7 +1884,7 @@ } throw new CategoryNotFoundException("The Category " + this + " does " - + "not have a default parent"); + + "not have a default parent"); } /** @@ -1901,7 +1935,7 @@ */ public CategoryCollection getDefaultAscendants() { DataCollection collection = - getSession().retrieve(BASE_DATA_OBJECT_TYPE); + getSession().retrieve(BASE_DATA_OBJECT_TYPE); String ids = (String) get(DEFAULT_ANCESTORS); if (ids == null) { @@ -1958,7 +1992,7 @@ */ public CategorizedCollection getDescendantObjects() { return getDescendantObjects(ACSObject.BASE_DATA_OBJECT_TYPE, - "categories.roTransParents"); + "categories.roTransParents"); } private static String appendID(String path) { @@ -1968,7 +2002,7 @@ } public CategorizedCollection getDescendantObjects(String objectType, - String path) { + String path) { s_log.info("retrieving objectType=" + objectType + "; path=" + path); final CategorizedCollection result = new CategorizedCollection(getSession(). retrieve(objectType)); @@ -2041,6 +2075,7 @@ public String getToken() { return m_token; } + } @Override @@ -2059,7 +2094,7 @@ DataCollection dc = SessionManager.getSession().retrieve( "com.arsdigita.categorization.UseContext"); dc.addFilter("categoryOwner.id = :ownerID").set("ownerID", - acsObj.getID()); + acsObj.getID()); return dc; } @@ -2106,9 +2141,9 @@ DataObject secondRoot = cats.getDataObject(); cats.close(); throw new IllegalStateException("there is more than one root for object:\n" - + object + "\nfirst root: " - + triple + "\nsecond root: " - + secondRoot); + + object + "\nfirst root: " + + triple + "\nsecond root: " + + secondRoot); } cats.close(); } @@ -2149,14 +2184,14 @@ * @param root the root category for the object */ public static void setRootForObject(ACSObject acsObj, Category rootCat, - String context) { + String context) { DataCollection rootCats = getRootCategoriesAssoc(acsObj); rootCats.addEqualsFilter(USE_CONTEXT, context); if (rootCats.next()) { DataObject triple = rootCats.getDataObject(); triple.set(ROOT_CATEGORY, - DomainServiceInterfaceExposer.getDataObject(rootCat)); + DomainServiceInterfaceExposer.getDataObject(rootCat)); rootCats.close(); return; } @@ -2173,9 +2208,9 @@ throw new UncheckedWrapperException(ex); } triple.set(CATEGORY_OWNER, - DomainServiceInterfaceExposer.getDataObject(acsObj)); + DomainServiceInterfaceExposer.getDataObject(acsObj)); triple.set(ROOT_CATEGORY, - DomainServiceInterfaceExposer.getDataObject(rootCat)); + DomainServiceInterfaceExposer.getDataObject(rootCat)); triple.set(USE_CONTEXT, context); } @@ -2292,7 +2327,7 @@ * Add a new language set to this category */ public boolean addLanguage(String locale, String name, String description, - String url) { + String url) { // If locale don't exist if (!locale.isEmpty() && m_categoryLocalizationCollection != null && !m_categoryLocalizationCollection. @@ -2344,4 +2379,5 @@ return false; } + } Modified: trunk/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java 2012-12-17 11:10:34 UTC (rev 2406) +++ trunk/ccm-core/src/com/arsdigita/categorization/CategoryCollection.java 2012-12-17 11:16:00 UTC (rev 2407) @@ -21,6 +21,7 @@ import com.arsdigita.kernel.ACSObject; import com.arsdigita.kernel.ACSObjectCollection; import com.arsdigita.persistence.DataCollection; +import java.math.BigDecimal; /** * Represents a collection of categories. @@ -84,6 +85,10 @@ return getCategory(); } + public BigDecimal getSortKey() { + return (BigDecimal) get("link.sortKey"); + } + /** * Sorts the category collection by the category sort key. * |
From: <pb...@fe...> - 2012-12-17 11:02:13
|
Author: pboy Date: 2012-12-17 11:01:55 +0000 (Mon, 17 Dec 2012) New Revision: 2405 Modified: trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js Log: Fixed ASCIIMathML equation Xinha plugin (Strings amath & graph will work now). (on behalf of quasimodo) Modified: trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js =================================================================== --- trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 09:25:14 UTC (rev 2404) +++ trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 11:01:55 UTC (rev 2405) @@ -1,2 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -var mathcolor="blue";var mathfontsize="1em";var mathfontfamily="serif";var automathrecognize=false;var checkForMathML=true;var notifyIfNoMathML=true;var alertIfNoMathML=false;var translateOnLoad=true;var translateLaTeX=true;var translateLaTeXformatting=true;var translateASCIIMath=true;var translateASCIIsvg=true;var avoidinnerHTML=false;var displaystyle=true;var showasciiformulaonhover=true;var decimalsign=".";var AMdelimiter1="`",AMescape1="\\\\`";var AMdocumentId="wikitext";var checkforprocessasciimathinmoodle=false;var dsvglocation="";var isIE=document.createElementNS==null;var noMathML=false,translated=false;if(isIE){document.write('<object id="mathplayer" classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987"></object>');document.write('<?import namespace="m" implementation="#mathplayer"?>')}function setStylesheet(a){var c="AMMLcustomStyleSheet";var b=document.getElementById(c);if(document.createStyleSheet){if(b){b.parentNode.removeChild(b)}document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," <style id='"+c+"'>"+a+"</style>")}else{if(b){b.replaceChild(document.createTextNode(a),b.firstChild)}else{b=document.createElement("style");b.type="text/css";b.id=c;b.appendChild(document.createTextNode(a));document.getElementsByTagName("head")[0].appendChild(b)}}}setStylesheet("#AMMLcloseDiv {font-size:0.8em; padding-top:1em; color:#014}\n#AMMLwarningBox {position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30}");function init(){var b,a=new Array();if(document.getElementById==null){alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer");return null}if(checkForMathML&&(b=checkMathML())){a.push(b)}if(checkIfSVGavailable&&(b=checkSVG())){a.push(b)}if(a.length>0){displayWarnings(a)}if(!noMathML){initSymbols()}return true}function checkMathML(){if(navigator.appName.slice(0,8)=="Netscape"){if(navigator.appVersion.slice(0,1)>="5"){noMathML=null}else{noMathML=true}}else{if(navigator.appName.slice(0,9)=="Microsoft"){try{var c=new ActiveXObject("MathPlayer.Factory.1");noMathML=null}catch(a){noMathML=true}}else{if(navigator.appName.slice(0,5)=="Opera"){if(navigator.appVersion.slice(0,3)>="9.5"){noMathML=null}else{noMathML=true}}}}if(noMathML&¬ifyIfNoMathML){var b="To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.";if(alertIfNoMathML){alert(b)}else{return b}}}function hideWarning(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("AMMLwarningBox"));a.onclick=null}function displayWarnings(b){var c,g,f=createElementXHTML("div");var a=document.getElementsByTagName("body")[0];a.onclick=hideWarning;f.id="AMMLwarningBox";for(c=0;c<b.length;c++){g=createElementXHTML("div");g.appendChild(document.createTextNode(b[c]));g.style.paddingBottom="1.0em";f.appendChild(g)}f.appendChild(createElementXHTML("p"));f.appendChild(document.createTextNode("For instructions see the "));var d=createElementXHTML("a");d.appendChild(document.createTextNode("ASCIIMathML"));d.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html");f.appendChild(d);f.appendChild(document.createTextNode(" homepage"));d=createElementXHTML("div");d.id="AMMLcloseDiv";d.appendChild(document.createTextNode("(click anywhere to close this warning)"));f.appendChild(d);var a=document.getElementsByTagName("body")[0];a.insertBefore(f,a.childNodes[0])}function translate(b){if(!translated){translated=true;var a=document.getElementsByTagName("body")[0];var c=document.getElementById(AMdocumentId);if(translateLaTeX){LMprocessNode((c!=null?c:a))}if(translateASCIIMath){AMprocessNode((c!=null?c:a),false,b)}}}function createElementXHTML(a){if(isIE){return document.createElement(a)}else{return document.createElementNS("http://www.w3.org/1999/xhtml",a)}}function createMmlNode(a,c){if(isIE){var b=document.createElement("m:"+a)}else{var b=document.createElementNS("http://www.w3.org/1998/Math/MathML",a)}if(c){b.appendChild(c)}return b}var AMcal=[61237,8492,61238,61239,8496,8497,61240,8459,8464,61241,61242,8466,8499,61243,61244,61245,61246,8475,61247,61248,61249,61250,61251,61252,61253,61254];var AMfrk=[61277,61278,8493,61279,61280,61281,61282,8460,8465,61283,61284,61285,61286,61287,61288,61289,61290,8476,61291,61292,61293,61294,61295,61296,61297,8488];var AMbbb=[61324,61325,8450,61326,61327,61328,61329,8461,61330,61331,61332,61333,61334,8469,61335,8473,8474,8477,61336,61337,61338,61339,61340,61341,61342,8484];var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10,BIG=11,LONG=12,STRETCHY=13,MATRIX=14;var AMquote={input:'"',tag:"mtext",output:"mbox",tex:null,ttype:TEXT};var AMsymbols=[{input:"alpha",tag:"mi",output:"\u03B1",tex:null,ttype:CONST},{input:"beta",tag:"mi",output:"\u03B2",tex:null,ttype:CONST},{input:"chi",tag:"mi",output:"\u03C7",tex:null,ttype:CONST},{input:"delta",tag:"mi",output:"\u03B4",tex:null,ttype:CONST},{input:"Delta",tag:"mo",output:"\u0394",tex:null,ttype:CONST},{input:"epsi",tag:"mi",output:"\u03B5",tex:"epsilon",ttype:CONST},{input:"varepsilon",tag:"mi",output:"\u025B",tex:null,ttype:CONST},{input:"eta",tag:"mi",output:"\u03B7",tex:null,ttype:CONST},{input:"gamma",tag:"mi",output:"\u03B3",tex:null,ttype:CONST},{input:"Gamma",tag:"mo",output:"\u0393",tex:null,ttype:CONST},{input:"iota",tag:"mi",output:"\u03B9",tex:null,ttype:CONST},{input:"kappa",tag:"mi",output:"\u03BA",tex:null,ttype:CONST},{input:"lambda",tag:"mi",output:"\u03BB",tex:null,ttype:CONST},{input:"Lambda",tag:"mo",output:"\u039B",tex:null,ttype:CONST},{input:"mu",tag:"mi",output:"\u03BC",tex:null,ttype:CONST},{input:"nu",tag:"mi",output:"\u03BD",tex:null,ttype:CONST},{input:"omega",tag:"mi",output:"\u03C9",tex:null,ttype:CONST},{input:"Omega",tag:"mo",output:"\u03A9",tex:null,ttype:CONST},{input:"phi",tag:"mi",output:"\u03C6",tex:null,ttype:CONST},{input:"varphi",tag:"mi",output:"\u03D5",tex:null,ttype:CONST},{input:"Phi",tag:"mo",output:"\u03A6",tex:null,ttype:CONST},{input:"pi",tag:"mi",output:"\u03C0",tex:null,ttype:CONST},{input:"Pi",tag:"mo",output:"\u03A0",tex:null,ttype:CONST},{input:"psi",tag:"mi",output:"\u03C8",tex:null,ttype:CONST},{input:"Psi",tag:"mi",output:"\u03A8",tex:null,ttype:CONST},{input:"rho",tag:"mi",output:"\u03C1",tex:null,ttype:CONST},{input:"sigma",tag:"mi",output:"\u03C3",tex:null,ttype:CONST},{input:"Sigma",tag:"mo",output:"\u03A3",tex:null,ttype:CONST},{input:"tau",tag:"mi",output:"\u03C4",tex:null,ttype:CONST},{input:"theta",tag:"mi",output:"\u03B8",tex:null,ttype:CONST},{input:"vartheta",tag:"mi",output:"\u03D1",tex:null,ttype:CONST},{input:"Theta",tag:"mo",output:"\u0398",tex:null,ttype:CONST},{input:"upsilon",tag:"mi",output:"\u03C5",tex:null,ttype:CONST},{input:"xi",tag:"mi",output:"\u03BE",tex:null,ttype:CONST},{input:"Xi",tag:"mo",output:"\u039E",tex:null,ttype:CONST},{input:"zeta",tag:"mi",output:"\u03B6",tex:null,ttype:CONST},{input:"*",tag:"mo",output:"\u22C5",tex:"cdot",ttype:CONST},{input:"**",tag:"mo",output:"\u22C6",tex:"star",ttype:CONST},{input:"//",tag:"mo",output:"/",tex:null,ttype:CONST},{input:"\\\\",tag:"mo",output:"\\",tex:"backslash",ttype:CONST},{input:"setminus",tag:"mo",output:"\\",tex:null,ttype:CONST},{input:"xx",tag:"mo",output:"\u00D7",tex:"times",ttype:CONST},{input:"-:",tag:"mo",output:"\u00F7",tex:"divide",ttype:CONST},{input:"@",tag:"mo",output:"\u26AC",tex:"circ",ttype:CONST},{input:"o+",tag:"mo",output:"\u2295",tex:"oplus",ttype:CONST},{input:"ox",tag:"mo",output:"\u2297",tex:"otimes",ttype:CONST},{input:"o.",tag:"mo",output:"\u2299",tex:"odot",ttype:CONST},{input:"sum",tag:"mo",output:"\u2211",tex:null,ttype:UNDEROVER},{input:"prod",tag:"mo",output:"\u220F",tex:null,ttype:UNDEROVER},{input:"^^",tag:"mo",output:"\u2227",tex:"wedge",ttype:CONST},{input:"^^^",tag:"mo",output:"\u22C0",tex:"bigwedge",ttype:UNDEROVER},{input:"vv",tag:"mo",output:"\u2228",tex:"vee",ttype:CONST},{input:"vvv",tag:"mo",output:"\u22C1",tex:"bigvee",ttype:UNDEROVER},{input:"nn",tag:"mo",output:"\u2229",tex:"cap",ttype:CONST},{input:"nnn",tag:"mo",output:"\u22C2",tex:"bigcap",ttype:UNDEROVER},{input:"uu",tag:"mo",output:"\u222A",tex:"cup",ttype:CONST},{input:"uuu",tag:"mo",output:"\u22C3",tex:"bigcup",ttype:UNDEROVER},{input:"!=",tag:"mo",output:"\u2260",tex:"ne",ttype:CONST},{input:":=",tag:"mo",output:":=",tex:null,ttype:CONST},{input:"lt",tag:"mo",output:"<",tex:null,ttype:CONST},{input:"<=",tag:"mo",output:"\u2264",tex:"le",ttype:CONST},{input:"lt=",tag:"mo",output:"\u2264",tex:"leq",ttype:CONST},{input:">=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227A",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227A",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227B",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2AAF",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2AB0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221D",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\u00AC",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21D2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21D4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22A5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22A4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22A2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22A8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232A",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232A",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222B",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222E",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\u00B1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221E",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\u00A0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\u00A0\u00A0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\u00A0\u00A0\u00A0\u00A0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22EF",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22EE",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22F1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22C4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25A1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230A",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230B",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211A",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211D",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:">->",tag:"mo",output:"\u21A3",tex:"rightarrowtail",ttype:CONST},{input:"->>",tag:"mo",output:"\u21A0",tex:"twoheadrightarrow",ttype:CONST},{input:">->>",tag:"mo",output:"\u2916",tex:"twoheadrightarrowtail",ttype:CONST},{input:"|->",tag:"mo",output:"\u21A6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21D2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21D0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21D4",tex:"Leftrightarrow",ttype:CONST},{input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},{input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},{input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},{input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},{input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},{input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},{input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},{input:"hat",tag:"mover",output:"\u005E",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\u00AF",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},{input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},{input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}];function compareNames(b,a){if(b.input>a.input){return 1}else{return -1}}var AMnames=[];function initSymbols(){var b=[],a;for(a=0;a<AMsymbols.length;a++){if(AMsymbols[a].tex){b[b.length]={input:AMsymbols[a].tex,tag:AMsymbols[a].tag,output:AMsymbols[a].output,ttype:AMsymbols[a].ttype}}}AMsymbols=AMsymbols.concat(b);refreshSymbols()}function refreshSymbols(){var a;AMsymbols.sort(compareNames);for(a=0;a<AMsymbols.length;a++){AMnames[a]=AMsymbols[a].input}LMsymbols.sort(compareNames);for(a=0;a<LMsymbols.length;a++){LMnames[a]=LMsymbols[a].input}}function define(b,a){if(b.substr(0,1)=="\\"){LMsymbols=LMsymbols.concat([{input:b,tag:"mo",output:a,ttype:DEFINITION}])}else{AMsymbols=AMsymbols.concat([{input:b,tag:"mo",output:a,tex:null,ttype:DEFINITION}])}refreshSymbols()}function AMremoveCharsAndBlanks(c,d){var a;if(c.charAt(d)=="\\"&&c.charAt(d+1)!="\\"&&c.charAt(d+1)!=" "){a=c.slice(d+1)}else{a=c.slice(d)}for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function position(b,f,g){if(g==0){var d,a;g=-1;d=b.length;while(g+1<d){a=(g+d)>>1;if(b[a]<f){g=a}else{d=a}}return d}else{for(var c=g;c<b.length&&b[c]<f;c++){}}return c}function AMgetSymbol(h){var a=0;var b=0;var d;var m;var n;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){m=h.slice(0,c);b=a;a=position(AMnames,m,b);if(a<AMnames.length&&h.slice(0,AMnames[a].length)==AMnames[a]){f=AMnames[a];d=a;c=f.length}g=a<AMnames.length&&h.slice(0,AMnames[a].length)>=AMnames[a]}AMpreviousSymbol=AMcurrentSymbol;if(f!=""){AMcurrentSymbol=AMsymbols[d].ttype;return AMsymbols[d]}AMcurrentSymbol=CONST;a=1;m=h.slice(0,1);var l=true;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}if(m==decimalsign){m=h.slice(a,a+1);if("0"<=m&&m<="9"){l=false;a++;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}}}if((l&&a>1)||a>2){m=h.slice(0,a-1);n="mn"}else{a=2;m=h.slice(0,1);n=(("A">m||m>"Z")&&("a">m||m>"z")?"mo":"mi")}if(m=="-"&&AMpreviousSymbol==INFIX){AMcurrentSymbol=INFIX;return{input:m,tag:n,output:m,ttype:UNARY,func:true}}return{input:m,tag:n,output:m,ttype:CONST}}function AMremoveBrackets(b){var a;if(b.nodeName=="mrow"){a=b.firstChild.firstChild.nodeValue;if(a=="("||a=="["||a=="{"){b.removeChild(b.firstChild)}}if(b.nodeName=="mrow"){a=b.lastChild.firstChild.nodeValue;if(a==")"||a=="]"||a=="}"){b.removeChild(b.lastChild)}}}var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;function AMparseSexpr(h){var d,b,k,f,m,g=document.createDocumentFragment();h=AMremoveCharsAndBlanks(h,0);d=AMgetSymbol(h);if(d==null||d.ttype==RIGHTBRACKET&&AMnestingDepth>0){return[null,h]}if(d.ttype==DEFINITION){h=d.output+AMremoveCharsAndBlanks(h,d.input.length);d=AMgetSymbol(h)}switch(d.ttype){case UNDEROVER:case CONST:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h];case LEFTBRACKET:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,true);AMnestingDepth--;if(typeof d.invisible=="boolean"&&d.invisible){b=createMmlNode("mrow",k[0])}else{b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0])}return[b,k[1]];case TEXT:if(d!=AMquote){h=AMremoveCharsAndBlanks(h,d.input.length)}if(h.charAt(0)=="{"){f=h.indexOf("}")}else{if(h.charAt(0)=="("){f=h.indexOf(")")}else{if(h.charAt(0)=="["){f=h.indexOf("]")}else{if(d==AMquote){f=h.slice(1).indexOf('"')+1}else{f=0}}}}if(f==-1){f=h.length}m=h.slice(1,f);if(m.charAt(0)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}g.appendChild(createMmlNode(d.tag,document.createTextNode(m)));if(m.charAt(m.length-1)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}h=AMremoveCharsAndBlanks(h,f+1);return[createMmlNode("mrow",g),h];case UNARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}if(typeof d.func=="boolean"&&d.func){m=h.charAt(0);if(m=="^"||m=="_"||m=="/"||m=="|"||m==","){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}else{b=createMmlNode("mrow",createMmlNode(d.tag,document.createTextNode(d.output)));b.appendChild(k[0]);return[b,k[1]]}}AMremoveBrackets(k[0]);if(d.input=="sqrt"){return[createMmlNode(d.tag,k[0]),k[1]]}else{if(typeof d.acc=="boolean"&&d.acc){b=createMmlNode(d.tag,k[0]);b.appendChild(createMmlNode("mo",document.createTextNode(d.output)));return[b,k[1]]}else{if(!isIE&&typeof d.codes!="undefined"){for(f=0;f<k[0].childNodes.length;f++){if(k[0].childNodes[f].nodeName=="mi"||k[0].nodeName=="mi"){m=(k[0].nodeName=="mi"?k[0].firstChild.nodeValue:k[0].childNodes[f].firstChild.nodeValue);var l=[];for(var c=0;c<m.length;c++){if(m.charCodeAt(c)>64&&m.charCodeAt(c)<91){l=l+String.fromCharCode(d.codes[m.charCodeAt(c)-65])}else{l=l+m.charAt(c)}}if(k[0].nodeName=="mi"){k[0]=createMmlNode("mo").appendChild(document.createTextNode(l))}else{k[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(l)),k[0].childNodes[f])}}}}b=createMmlNode(d.tag,k[0]);b.setAttribute(d.atname,d.atval);return[b,k[1]]}}case BINARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(k[0]);var a=AMparseSexpr(k[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(a[0]);if(d.input=="root"||d.input=="stackrel"){g.appendChild(a[0])}g.appendChild(k[0]);if(d.input=="frac"){g.appendChild(a[0])}return[createMmlNode(d.tag,g),a[1]];case INFIX:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode("mo",document.createTextNode(d.output)),h];case SPACE:h=AMremoveCharsAndBlanks(h,d.input.length);b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);g.appendChild(createMmlNode(d.tag,document.createTextNode(d.output)));b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);return[createMmlNode("mrow",g),h];case LEFTRIGHT:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,false);AMnestingDepth--;var m="";if(k[0].lastChild!=null){m=k[0].lastChild.firstChild.nodeValue}if(m=="|"){b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0]);return[b,k[1]]}else{b=createMmlNode("mo",document.createTextNode("\u2223"));b=createMmlNode("mrow",b);return[b,h]}default:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}}function AMparseIexpr(h){var a,j,g,d,f,b;h=AMremoveCharsAndBlanks(h,0);j=AMgetSymbol(h);f=AMparseSexpr(h);d=f[0];h=f[1];a=AMgetSymbol(h);if(a.ttype==INFIX&&a.input!="/"){h=AMremoveCharsAndBlanks(h,a.input.length);f=AMparseSexpr(h);if(f[0]==null){f[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(f[0])}h=f[1];if(a.input=="_"){g=AMgetSymbol(h);b=(j.ttype==UNDEROVER);if(g.input=="^"){h=AMremoveCharsAndBlanks(h,g.input.length);var c=AMparseSexpr(h);AMremoveBrackets(c[0]);h=c[1];d=createMmlNode((b?"munderover":"msubsup"),d);d.appendChild(f[0]);d.appendChild(c[0]);d=createMmlNode("mrow",d)}else{d=createMmlNode((b?"munder":"msub"),d);d.appendChild(f[0])}}else{d=createMmlNode(a.tag,d);d.appendChild(f[0])}}return[d,h]}function AMparseExpr(p,q){var x,o,a,t,z=[],g=document.createDocumentFragment();do{p=AMremoveCharsAndBlanks(p,0);a=AMparseIexpr(p);o=a[0];p=a[1];x=AMgetSymbol(p);if(x.ttype==INFIX&&x.input=="/"){p=AMremoveCharsAndBlanks(p,x.input.length);a=AMparseIexpr(p);if(a[0]==null){a[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(a[0])}p=a[1];AMremoveBrackets(o);o=createMmlNode(x.tag,o);o.appendChild(a[0]);g.appendChild(o);x=AMgetSymbol(p)}else{if(o!=undefined){g.appendChild(o)}}}while((x.ttype!=RIGHTBRACKET&&(x.ttype!=LEFTRIGHT||q)||AMnestingDepth==0)&&x!=null&&x.output!="");if(x.ttype==RIGHTBRACKET||x.ttype==LEFTRIGHT){var v=g.childNodes.length;if(v>0&&g.childNodes[v-1].nodeName=="mrow"&&v>1&&g.childNodes[v-2].nodeName=="mo"&&g.childNodes[v-2].firstChild.nodeValue==","){var A=g.childNodes[v-1].lastChild.firstChild.nodeValue;if(A==")"||A=="]"){var c=g.childNodes[v-1].firstChild.firstChild.nodeValue;if(c=="("&&A==")"&&x.output!="}"||c=="["&&A=="]"){var d=[];var w=true;var l=g.childNodes.length;for(t=0;w&&t<l;t=t+2){d[t]=[];o=g.childNodes[t];if(w){w=o.nodeName=="mrow"&&(t==l-1||o.nextSibling.nodeName=="mo"&&o.nextSibling.firstChild.nodeValue==",")&&o.firstChild.firstChild.nodeValue==c&&o.lastChild.firstChild.nodeValue==A}if(w){for(var s=0;s<o.childNodes.length;s++){if(o.childNodes[s].firstChild.nodeValue==","){d[t][d[t].length]=s}}}if(w&&t>1){w=d[t].length==d[t-2].length}}if(w){var f,b,h,r,y=document.createDocumentFragment();for(t=0;t<l;t=t+2){f=document.createDocumentFragment();b=document.createDocumentFragment();o=g.firstChild;h=o.childNodes.length;r=0;o.removeChild(o.firstChild);for(s=1;s<h-1;s++){if(typeof d[t][r]!="undefined"&&s==d[t][r]){o.removeChild(o.firstChild);f.appendChild(createMmlNode("mtd",b));r++}else{b.appendChild(o.firstChild)}}f.appendChild(createMmlNode("mtd",b));if(g.childNodes.length>2){g.removeChild(g.firstChild);g.removeChild(g.firstChild)}y.appendChild(createMmlNode("mtr",f))}o=createMmlNode("mtable",y);if(typeof x.invisible=="boolean"&&x.invisible){o.setAttribute("columnalign","left")}g.replaceChild(o,g.firstChild)}}}}p=AMremoveCharsAndBlanks(p,x.input.length);if(typeof x.invisible!="boolean"||!x.invisible){o=createMmlNode("mo",document.createTextNode(x.output));g.appendChild(o)}}return[g,p]}function parseMath(c,b){var d,a;AMnestingDepth=0;d=b?LMparseExpr(c.replace(/^\s+/g,""),false,false)[0]:AMparseExpr(c.replace(/^\s+/g,""),false)[0];a=createMmlNode("mstyle",d);a.setAttribute("mathcolor",mathcolor);a.setAttribute("fontfamily",mathfontfamily);a.setAttribute("mathsize",mathfontsize);if(displaystyle){a.setAttribute("displaystyle","true")}a=createMmlNode("math",a);if(showasciiformulaonhover){a.setAttribute("title",c.replace(/\s+/g," "))}return a}function strarr2docFrag(a,d,g){var k=document.createDocumentFragment();var h=false;for(var f=0;f<a.length;f++){if(h){k.appendChild(parseMath(a[f],g))}else{var b=(d?a[f].split("\n\n"):[a[f]]);k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[0])));for(var c=1;c<b.length;c++){k.appendChild(createElementXHTML("p"));k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[c])))}}h=!h}return k}function AMautomathrec(m){var b="\\\\[a-zA-Z]+|\\\\\\s|";var k="\\b(?:oo|lim|ln|int|oint|del|grad|aleph|prod|prop|sinh|cosh|tanh|cos|sec|pi|tt|fr|sf|sube|supe|sub|sup|det|mod|gcd|lcm|min|max|vec|ddot|ul|chi|eta|nu|mu)(?![a-z])|";var l="\\b(?:sum|ox|log|sin|tan|dim|hat|bar|dot)(?![a-z])|";var g="|\\bI\\b|\\bin\\b|\\btext\\b";var a="NN|ZZ|QQ|RR|CC|TT|AA|EE|sqrt|dx|dy|dz|dt|xx|vv|uu|nn|bb|cc|csc|cot|alpha|beta|delta|Delta|epsilon|gamma|Gamma|kappa|lambda|Lambda|omega|phi|Phi|Pi|psi|Psi|rho|sigma|Sigma|tau|theta|Theta|xi|Xi|zeta";var j="[a-zA-HJ-Z](?=(?:[^a-zA-Z]|$|"+k+l+a+"))|";var c=j+b+"\\d+|[-()[\\]{}+=*&^_%\\@/<>,\\|!:;'~]|\\.(?!(?:\x20|$))|"+k+l+a;var n=new RegExp("(^|\\s)((("+c+")\\s?)(("+c+g+")\\s?)+)([,.?]?(?=\\s|$))","g");m=m.replace(n," `$2`$7");var f=m.split(AMdelimiter1);var h=new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+b+k+a+")(\\s|\\n|$)","g");var d=new RegExp("(^|\\s)([a-z]|"+b+k+a+")([,.])","g");for(i=0;i<f.length;i++){if(i%2==0){f[i]=f[i].replace(h," `$2`$3");f[i]=f[i].replace(d," `$2`$3");f[i]=f[i].replace(/([{}[\]])/,"`$1`")}}m=f.join(AMdelimiter1);m=m.replace(/((^|\s)\([a-zA-Z]{2,}.*?)\)`/g,"$1`)");m=m.replace(/`(\((a\s|in\s))(.*?[a-zA-Z]{2,}\))/g,"$1`$3");m=m.replace(/\sin`/g,"` in");m=m.replace(/`(\(\w\)[,.]?(\s|\n|$))/g,"$1`");m=m.replace(/`([0-9.]+|e.g|i.e)`(\.?)/gi,"$1$2");m=m.replace(/`([0-9.]+:)`/g,"$1");return m}function processNodeR(c,h,b){var k,j,f,a,d;if(c.childNodes.length==0){if((c.nodeType!=8||h)&&c.parentNode.nodeName!="form"&&c.parentNode.nodeName!="FORM"&&c.parentNode.nodeName!="textarea"&&c.parentNode.nodeName!="TEXTAREA"){j=c.nodeValue;if(!(j==null)){j=j.replace(/\r\n\r\n/g,"\n\n");j=j.replace(/\x20+/g," ");j=j.replace(/\s*\r\n/g," ");if(b){k=(j.indexOf("$")==-1?false:true);j=j.replace(/([^\\])\$/g,"$1 $");j=j.replace(/^\$/," $");f=j.split(" $");for(d=0;d<f.length;d++){f[d]=f[d].replace(/\\\$/g,"$")}}else{k=false;j=j.replace(new RegExp(AMescape1,"g"),function(){k=true;return"AMescape1"});j=j.replace(/\\?end{?a?math}?/i,function(){automathrecognize=false;k=true;return""});j=j.replace(/amath\b|\\begin{a?math}/i,function(){automathrecognize=true;k=true;return""});f=j.split(AMdelimiter1);if(automathrecognize){for(d=0;d<f.length;d++){if(d%2==0){f[d]=AMautomathrec(f[d])}}}j=f.join(AMdelimiter1);f=j.split(AMdelimiter1);for(d=0;d<f.length;d++){f[d]=f[d].replace(/AMescape1/g,AMdelimiter1)}}if(f.length>1||k){if(!noMathML){a=strarr2docFrag(f,c.nodeType==8,b);var g=a.childNodes.length;c.parentNode.replaceChild(a,c);return g-1}else{return 0}}}}else{return 0}}else{if(c.nodeName!="math"){for(d=0;d<c.childNodes.length;d++){d+=processNodeR(c.childNodes[d],h,b)}}}return 0}function AMprocessNode(h,c,a){var g,b;if(a!=null){g=document.getElementsByTagName("span");for(var d=0;d<g.length;d++){if(g[d].className=="AM"){processNodeR(g[d],c,false)}}}else{try{b=h.innerHTML}catch(f){}if(b==null||/amath\b|\\begin{a?math}/i.test(b)||b.indexOf(AMdelimiter1+" ")!=-1||b.slice(-1)==AMdelimiter1||b.indexOf(AMdelimiter1+"<")!=-1||b.indexOf(AMdelimiter1+"\n")!=-1){processNodeR(h,c,false)}}}var LMsymbols=[{input:"\\alpha",tag:"mi",output:"\u03B1",ttype:CONST},{input:"\\beta",tag:"mi",output:"\u03B2",ttype:CONST},{input:"\\gamma",tag:"mi",output:"\u03B3",ttype:CONST},{input:"\\delta",tag:"mi",output:"\u03B4",ttype:CONST},{input:"\\epsilon",tag:"mi",output:"\u03B5",ttype:CONST},{input:"\\varepsilon",tag:"mi",output:"\u025B",ttype:CONST},{input:"\\zeta",tag:"mi",output:"\u03B6",ttype:CONST},{input:"\\eta",tag:"mi",output:"\u03B7",ttype:CONST},{input:"\\theta",tag:"mi",output:"\u03B8",ttype:CONST},{input:"\\vartheta",tag:"mi",output:"\u03D1",ttype:CONST},{input:"\\iota",tag:"mi",output:"\u03B9",ttype:CONST},{input:"\\kappa",tag:"mi",output:"\u03BA",ttype:CONST},{input:"\\lambda",tag:"mi",output:"\u03BB",ttype:CONST},{input:"\\mu",tag:"mi",output:"\u03BC",ttype:CONST},{input:"\\nu",tag:"mi",output:"\u03BD",ttype:CONST},{input:"\\xi",tag:"mi",output:"\u03BE",ttype:CONST},{input:"\\pi",tag:"mi",output:"\u03C0",ttype:CONST},{input:"\\varpi",tag:"mi",output:"\u03D6",ttype:CONST},{input:"\\rho",tag:"mi",output:"\u03C1",ttype:CONST},{input:"\\varrho",tag:"mi",output:"\u03F1",ttype:CONST},{input:"\\varsigma",tag:"mi",output:"\u03C2",ttype:CONST},{input:"\\sigma",tag:"mi",output:"\u03C3",ttype:CONST},{input:"\\tau",tag:"mi",output:"\u03C4",ttype:CONST},{input:"\\upsilon",tag:"mi",output:"\u03C5",ttype:CONST},{input:"\\phi",tag:"mi",output:"\u03C6",ttype:CONST},{input:"\\varphi",tag:"mi",output:"\u03D5",ttype:CONST},{input:"\\chi",tag:"mi",output:"\u03C7",ttype:CONST},{input:"\\psi",tag:"mi",output:"\u03C8",ttype:CONST},{input:"\\omega",tag:"mi",output:"\u03C9",ttype:CONST},{input:"\\Gamma",tag:"mo",output:"\u0393",ttype:CONST},{input:"\\Delta",tag:"mo",output:"\u0394",ttype:CONST},{input:"\\Theta",tag:"mo",output:"\u0398",ttype:CONST},{input:"\\Lambda",tag:"mo",output:"\u039B",ttype:CONST},{input:"\\Xi",tag:"mo",output:"\u039E",ttype:CONST},{input:"\\Pi",tag:"mo",output:"\u03A0",ttype:CONST},{input:"\\Sigma",tag:"mo",output:"\u03A3",ttype:CONST},{input:"\\Upsilon",tag:"mo",output:"\u03A5",ttype:CONST},{input:"\\Phi",tag:"mo",output:"\u03A6",ttype:CONST},{input:"\\Psi",tag:"mo",output:"\u03A8",ttype:CONST},{input:"\\Omega",tag:"mo",output:"\u03A9",ttype:CONST},{input:"\\frac12",tag:"mo",output:"\u00BD",ttype:CONST},{input:"\\frac14",tag:"mo",output:"\u00BC",ttype:CONST},{input:"\\frac34",tag:"mo",output:"\u00BE",ttype:CONST},{input:"\\frac13",tag:"mo",output:"\u2153",ttype:CONST},{input:"\\frac23",tag:"mo",output:"\u2154",ttype:CONST},{input:"\\frac15",tag:"mo",output:"\u2155",ttype:CONST},{input:"\\frac25",tag:"mo",output:"\u2156",ttype:CONST},{input:"\\frac35",tag:"mo",output:"\u2157",ttype:CONST},{input:"\\frac45",tag:"mo",output:"\u2158",ttype:CONST},{input:"\\frac16",tag:"mo",output:"\u2159",ttype:CONST},{input:"\\frac56",tag:"mo",output:"\u215A",ttype:CONST},{input:"\\frac18",tag:"mo",output:"\u215B",ttype:CONST},{input:"\\frac38",tag:"mo",output:"\u215C",ttype:CONST},{input:"\\frac58",tag:"mo",output:"\u215D",ttype:CONST},{input:"\\frac78",tag:"mo",output:"\u215E",ttype:CONST},{input:"\\pm",tag:"mo",output:"\u00B1",ttype:CONST},{input:"\\mp",tag:"mo",output:"\u2213",ttype:CONST},{input:"\\triangleleft",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\triangleright",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\cdot",tag:"mo",output:"\u22C5",ttype:CONST},{input:"\\star",tag:"mo",output:"\u22C6",ttype:CONST},{input:"\\ast",tag:"mo",output:"\u002A",ttype:CONST},{input:"\\times",tag:"mo",output:"\u00D7",ttype:CONST},{input:"\\div",tag:"mo",output:"\u00F7",ttype:CONST},{input:"\\circ",tag:"mo",output:"\u2218",ttype:CONST},{input:"\\bullet",tag:"mo",output:"\u2022",ttype:CONST},{input:"\\oplus",tag:"mo",output:"\u2295",ttype:CONST},{input:"\\ominus",tag:"mo",output:"\u2296",ttype:CONST},{input:"\\otimes",tag:"mo",output:"\u2297",ttype:CONST},{input:"\\bigcirc",tag:"mo",output:"\u25CB",ttype:CONST},{input:"\\oslash",tag:"mo",output:"\u2298",ttype:CONST},{input:"\\odot",tag:"mo",output:"\u2299",ttype:CONST},{input:"\\land",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\wedge",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\lor",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\vee",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\cap",tag:"mo",output:"\u2229",ttype:CONST},{input:"\\cup",tag:"mo",output:"\u222A",ttype:CONST},{input:"\\sqcap",tag:"mo",output:"\u2293",ttype:CONST},{input:"\\sqcup",tag:"mo",output:"\u2294",ttype:CONST},{input:"\\uplus",tag:"mo",output:"\u228E",ttype:CONST},{input:"\\amalg",tag:"mo",output:"\u2210",ttype:CONST},{input:"\\bigtriangleup",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\bigtriangledown",tag:"mo",output:"\u25BD",ttype:CONST},{input:"\\dag",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\dagger",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\ddag",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\ddagger",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\lhd",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\rhd",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\unlhd",tag:"mo",output:"\u22B4",ttype:CONST},{input:"\\unrhd",tag:"mo",output:"\u22B5",ttype:CONST},{input:"\\sum",tag:"mo",output:"\u2211",ttype:UNDEROVER},{input:"\\prod",tag:"mo",output:"\u220F",ttype:UNDEROVER},{input:"\\bigcap",tag:"mo",output:"\u22C2",ttype:UNDEROVER},{input:"\\bigcup",tag:"mo",output:"\u22C3",ttype:UNDEROVER},{input:"\\bigwedge",tag:"mo",output:"\u22C0",ttype:UNDEROVER},{input:"\\bigvee",tag:"mo",output:"\u22C1",ttype:UNDEROVER},{input:"\\bigsqcap",tag:"mo",output:"\u2A05",ttype:UNDEROVER},{input:"\\bigsqcup",tag:"mo",output:"\u2A06",ttype:UNDEROVER},{input:"\\coprod",tag:"mo",output:"\u2210",ttype:UNDEROVER},{input:"\\bigoplus",tag:"mo",output:"\u2A01",ttype:UNDEROVER},{input:"\\bigotimes",tag:"mo",output:"\u2A02",ttype:UNDEROVER},{input:"\\bigodot",tag:"mo",output:"\u2A00",ttype:UNDEROVER},{input:"\\biguplus",tag:"mo",output:"\u2A04",ttype:UNDEROVER},{input:"\\int",tag:"mo",output:"\u222B",ttype:CONST},{input:"\\oint",tag:"mo",output:"\u222E",ttype:CONST},{input:":=",tag:"mo",output:":=",ttype:CONST},{input:"\\lt",tag:"mo",output:"<",ttype:CONST},{input:"\\gt",tag:"mo",output:">",ttype:CONST},{input:"\\ne",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\neq",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\le",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leq",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leqslant",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\ge",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geq",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geqslant",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\equiv",tag:"mo",output:"\u2261",ttype:CONST},{input:"\\ll",tag:"mo",output:"\u226A",ttype:CONST},{input:"\\gg",tag:"mo",output:"\u226B",ttype:CONST},{input:"\\doteq",tag:"mo",output:"\u2250",ttype:CONST},{input:"\\prec",tag:"mo",output:"\u227A",ttype:CONST},{input:"\\succ",tag:"mo",output:"\u227B",ttype:CONST},{input:"\\preceq",tag:"mo",output:"\u227C",ttype:CONST},{input:"\\succeq",tag:"mo",output:"\u227D",ttype:CONST},{input:"\\subset",tag:"mo",output:"\u2282",ttype:CONST},{input:"\\supset",tag:"mo",output:"\u2283",ttype:CONST},{input:"\\subseteq",tag:"mo",output:"\u2286",ttype:CONST},{input:"\\supseteq",tag:"mo",output:"\u2287",ttype:CONST},{input:"\\sqsubset",tag:"mo",output:"\u228F",ttype:CONST},{input:"\\sqsupset",tag:"mo",output:"\u2290",ttype:CONST},{input:"\\sqsubseteq",tag:"mo",output:"\u2291",ttype:CONST},{input:"\\sqsupseteq",tag:"mo",output:"\u2292",ttype:CONST},{input:"\\sim",tag:"mo",output:"\u223C",ttype:CONST},{input:"\\simeq",tag:"mo",output:"\u2243",ttype:CONST},{input:"\\approx",tag:"mo",output:"\u2248",ttype:CONST},{input:"\\cong",tag:"mo",output:"\u2245",ttype:CONST},{input:"\\Join",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\bowtie",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\in",tag:"mo",output:"\u2208",ttype:CONST},{input:"\\ni",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\owns",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\propto",tag:"mo",output:"\u221D",ttype:CONST},{input:"\\vdash",tag:"mo",output:"\u22A2",ttype:CONST},{input:"\\dashv",tag:"mo",output:"\u22A3",ttype:CONST},{input:"\\models",tag:"mo",output:"\u22A8",ttype:CONST},{input:"\\perp",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\smile",tag:"mo",output:"\u2323",ttype:CONST},{input:"\\frown",tag:"mo",output:"\u2322",ttype:CONST},{input:"\\asymp",tag:"mo",output:"\u224D",ttype:CONST},{input:"\\notin",tag:"mo",output:"\u2209",ttype:CONST},{input:"\\begin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\\begin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\\\\",output:"}&{",ttype:DEFINITION},{input:"\\end{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\\end{array}",output:"}}",ttype:DEFINITION},{input:"\\big",tag:"mo",output:"X",atval:"1.2",ieval:"2.2",ttype:BIG},{input:"\\Big",tag:"mo",output:"X",atval:"1.6",ieval:"2.6",ttype:BIG},{input:"\\bigg",tag:"mo",output:"X",atval:"2.2",ieval:"3.2",ttype:BIG},{input:"\\Bigg",tag:"mo",output:"X",atval:"2.9",ieval:"3.9",ttype:BIG},{input:"\\left",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\\right",tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\lbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\lbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\langle",tag:"mo",output:"\u2329",atval:"1",ttype:STRETCHY},{input:"\\lfloor",tag:"mo",output:"\u230A",atval:"1",ttype:STRETCHY},{input:"\\lceil",tag:"mo",output:"\u2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrace",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rangle",tag:"mo",output:"\u232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rfloor",tag:"mo",output:"\u230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rceil",tag:"mo",output:"\u2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\|",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\vert",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\Vert",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\mid",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\parallel",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\\backslash",tag:"mo",output:"\u2216",atval:"1",ttype:STRETCHY},{input:"\\setminus",tag:"mo",output:"\\",ttype:CONST},{input:"\\!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\\,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input:"\\>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\\quad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\\qquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\\prime",tag:"mo",output:"\u2032",ttype:CONST},{input:"'",tag:"mo",output:"\u02B9",ttype:CONST},{input:"''",tag:"mo",output:"\u02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\u2034",ttype:CONST},{input:"''''",tag:"mo",output:"\u2057",ttype:CONST},{input:"\\ldots",tag:"mo",output:"\u2026",ttype:CONST},{input:"\\cdots",tag:"mo",output:"\u22EF",ttype:CONST},{input:"\\vdots",tag:"mo",output:"\u22EE",ttype:CONST},{input:"\\ddots",tag:"mo",output:"\u22F1",ttype:CONST},{input:"\\forall",tag:"mo",output:"\u2200",ttype:CONST},{input:"\\exists",tag:"mo",output:"\u2203",ttype:CONST},{input:"\\Re",tag:"mo",output:"\u211C",ttype:CONST},{input:"\\Im",tag:"mo",output:"\u2111",ttype:CONST},{input:"\\aleph",tag:"mo",output:"\u2135",ttype:CONST},{input:"\\hbar",tag:"mo",output:"\u210F",ttype:CONST},{input:"\\ell",tag:"mo",output:"\u2113",ttype:CONST},{input:"\\wp",tag:"mo",output:"\u2118",ttype:CONST},{input:"\\emptyset",tag:"mo",output:"\u2205",ttype:CONST},{input:"\\infty",tag:"mo",output:"\u221E",ttype:CONST},{input:"\\surd",tag:"mo",output:"\\sqrt{}",ttype:DEFINITION},{input:"\\partial",tag:"mo",output:"\u2202",ttype:CONST},{input:"\\nabla",tag:"mo",output:"\u2207",ttype:CONST},{input:"\\triangle",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\therefore",tag:"mo",output:"\u2234",ttype:CONST},{input:"\\angle",tag:"mo",output:"\u2220",ttype:CONST},{input:"\\diamond",tag:"mo",output:"\u22C4",ttype:CONST},{input:"\\Diamond",tag:"mo",output:"\u25C7",ttype:CONST},{input:"\\neg",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\lnot",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\bot",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\top",tag:"mo",output:"\u22A4",ttype:CONST},{input:"\\square",tag:"mo",output:"\u25AB",ttype:CONST},{input:"\\Box",tag:"mo",output:"\u25A1",ttype:CONST},{input:"\\wr",tag:"mo",output:"\u2240",ttype:CONST},{input:"\\arccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\\arcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\\arctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\\arg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\\cos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\\cosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\\cot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\\coth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\\csc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\\deg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\\det",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\\dim",tag:"mi",output:"dim",ttype:UNARY,func:true},{input:"\\exp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\\gcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\\hom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\\inf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\\ker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\\lg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\\lim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\\liminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\\limsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\\ln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\\log",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\\max",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\\min",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\\Pr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\\sec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\\sin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\\sinh",tag:"mi",output:"sinh",ttype:UNARY,func:true},{input:"\\sup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\\tan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\\tanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\\gets",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\leftarrow",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\to",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\rightarrow",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\leftrightarrow",tag:"mo",output:"\u2194",ttype:CONST},{input:"\\uparrow",tag:"mo",output:"\u2191",ttype:CONST},{input:"\\downarrow",tag:"mo",output:"\u2193",ttype:CONST},{input:"\\updownarrow",tag:"mo",output:"\u2195",ttype:CONST},{input:"\\Leftarrow",tag:"mo",output:"\u21D0",ttype:CONST},{input:"\\Rightarrow",tag:"mo",output:"\u21D2",ttype:CONST},{input:"\\Leftrightarrow",tag:"mo",output:"\u21D4",ttype:CONST},{input:"\\iff",tag:"mo",output:"~\\Longleftrightarrow~",ttype:DEFINITION},{input:"\\Uparrow",tag:"mo",output:"\u21D1",ttype:CONST},{input:"\\Downarrow",tag:"mo",output:"\u21D3",ttype:CONST},{input:"\\Updownarrow",tag:"mo",output:"\u21D5",ttype:CONST},{input:"\\mapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\longleftarrow",tag:"mo",output:"\u2190",ttype:LONG},{input:"\\longrightarrow",tag:"mo",output:"\u2192",ttype:LONG},{input:"\\longleftrightarrow",tag:"mo",output:"\u2194",ttype:LONG},{input:"\\Longleftarrow",tag:"mo",output:"\u21D0",ttype:LONG},{input:"\\Longrightarrow",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\implies",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\Longleftrightarrow",tag:"mo",output:"\u21D4",ttype:LONG},{input:"\\longmapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\sqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\\root",tag:"mroot",output:"root",ttype:BINARY},{input:"\\frac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\\stackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\\atop",tag:"mfrac",output:"",ttype:INFIX},{input:"\\choose",tag:"mfrac",output:"",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\\mathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\\mbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\\acute",tag:"mover",output:"\u00B4",ttype:UNARY,acc:true},{input:"\\grave",tag:"mover",output:"\u0060",ttype:UNARY,acc:true},{input:"\\breve",tag:"mover",output:"\u02D8",ttype:UNARY,acc:true},{input:"\\check",tag:"mover",output:"\u02C7",ttype:UNARY,acc:true},{input:"\\dot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\\ddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\\mathring",tag:"mover",output:"\u00B0",ttype:UNARY,acc:true},{input:"\\vec",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overrightarrow",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overleftarrow",tag:"mover",output:"\u20D6",ttype:UNARY,acc:true},{input:"\\hat",tag:"mover",output:"\u005E",ttype:UNARY,acc:true},{input:"\\widehat",tag:"mover",output:"\u0302",ttype:UNARY,acc:true},{input:"\\tilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\\widetilde",tag:"mover",output:"\u02DC",ttype:UNARY,acc:true},{input:"\\bar",tag:"mover",output:"\u203E",ttype:UNARY,acc:true},{input:"\\overbrace",tag:"mover",output:"\u23B4",ttype:UNARY,acc:true},{input:"\\overline",tag:"mover",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\underbrace",tag:"munder",output:"\u23B5",ttype:UNARY,acc:true},{input:"\\underline",tag:"munder",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\\textrm",tag:"mstyle",output:"\\mathrm",ttype:DEFINITION},{input:"\\mathbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\textbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\mathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\textit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\mathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\texttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\mathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\\mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:AMbbb},{input:"\\mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:AMcal},{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:AMfrk}];var LMnames=[];function LMremoveCharsAndBlanks(c,d){var a;a=c.slice(d);for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function LMgetSymbol(h){var a=0;var b=0;var d;var l;var m;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){l=h.slice(0,c);b=a;a=position(LMnames,l,b);if(a<LMnames.length&&h.slice(0,LMnames[a].length)==LMnames[a]){f=LMnames[a];d=a;c=f.length}g=a<LMnames.length&&h.slice(0,LMnames[a].length)>=LMnames[a]}LMpreviousSymbol=LMcurrentSymbol;if(f!=""){LMcurrentSymbol=LMsymbols[d].ttype;return LMsymbols[d]}LMcurrentSymbol=CONST;a=1;l=h.slice(0,1);if("0"<=l&&l<="9"){m="mn"}else{m=(("A">l||l>"Z")&&("a">l||l>"z")?"mo":"mi")}return{input:l,tag:m,output:l,ttype:CONST}}var LMpreviousSymbol,LMcurrentSymbol;function LMparseSexpr(n){var t,m,d,a,r,o,l=document.createDocumentFragment();n=LMremoveCharsAndBlanks(n,0);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}if(t.ttype==DEFINITION){n=t.output+LMremoveCharsAndBlanks(n,t.input.length);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}}n=LMremoveCharsAndBlanks(n,t.input.length);switch(t.ttype){case SPACE:m=createMmlNode(t.tag);m.setAttribute(t.atname,t.atval);return[m,n,t.tag];case UNDEROVER:if(isIE){if(t.input.substr(0,4)=="\\big"){n="\\"+t.input.substr(4)+n;t=LMgetSymbol(n);t.ttype=UNDEROVER;n=LMremoveCharsAndBlanks(n,t.input.length)}}return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag];case CONST:var g=t.output;if(isIE){if(t.input=="'"){g="\u2032"}else{if(t.input=="''"){g="\u2033"}else{if(t.input=="'''"){g="\u2033\u2032"}else{if(t.input=="''''"){g="\u2033\u2033"}else{if(t.input=="\\square"){g="\u25A1"}else{if(t.input.substr(0,5)=="\\frac"){var b=t.input.substr(6,1);if(b=="5"||b=="6"){n=t.input.replace(/\\frac/,"\\frac ")+n;return[m,n,t.tag]}}}}}}}}m=createMmlNode(t.tag,document.createTextNode(g));return[m,n,t.tag];case LONG:m=createMmlNode(t.tag,document.createTextNode(t.output));m.setAttribute("minsize","1.5");m.setAttribute("maxsize","1.5");m=createMmlNode("mover",m);m.appendChild(createMmlNode("mspace"));return[m,n,t.tag];case STRETCHY:if(isIE&&t.input=="\\backslash"){t.output="\\"}m=createMmlNode(t.tag,document.createTextNode(t.output));if(t.input=="|"||t.input=="\\vert"||t.input=="\\|"||t.input=="\\Vert"){m.setAttribute("lspace","0em");m.setAttribute("rspace","0em")}m.setAttribute("maxsize",t.atval);if(t.rtag!=null){return[m,n,t.rtag]}else{return[m,n,t.tag]}case BIG:var f=t.atval;if(isIE){f=t.ieval}t=LMgetSymbol(n);if(t==null){return[null,n,null]}n=LMremoveCharsAndBlanks(n,t.input.length);m=createMmlNode(t.tag,document.createTextNode(t.output));if(isIE){var v=createMmlNode("mspace");v.setAttribute("height",f+"ex");m=createMmlNode("mrow",m);m.appendChild(v)}else{m.setAttribute("minsize",f);m.setAttribute("maxsize",f)}return[m,n,t.tag];case LEFTBRACKET:if(t.input=="\\left"){t=LMgetSymbol(n);if(t!=null){if(t.input=="."){t.invisible=true}n=LMremoveCharsAndBlanks(n,t.input.length)}}d=LMparseExpr(n,true,false);if(t==null||(typeof t.invisible=="boolean"&&t.invisible)){m=createMmlNode("mrow",d[0])}else{m=createMmlNode("mo",document.createTextNode(t.output));m=createMmlNode("mrow",m);m.appendChild(d[0])}return[m,d[1],d[2]];case MATRIX:if(t.input=="\\begin{array}"){var s="";t=LMgetSymbol(n);n=LMremoveCharsAndBlanks(n,0);if(t==null){s="l"}else{n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="{"){s="l"}else{do{t=LMgetSymbol(n);if(t!=null){n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="}"){s=s+t.input}}}while(t!=null&&t.input!=""&&t.input!="}")}}d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);s=s.replace(/l/g,"left ");s=s.replace(/r/g,"right ");s=s.replace(/c/g,"center ");m.setAttribute("columnalign",s);m.setAttribute("displaystyle","false");if(isIE){return[m,d[1],null]}var k=createMmlNode("mspace");k.setAttribute("width","0.167em");var p=createMmlNode("mspace");p.setAttribute("width","0.167em");var c=createMmlNode("mrow",k);c.appendChild(m);c.appendChild(p);return[c,d[1],null]}else{d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);if(isIE){m.setAttribute("columnspacing","0.25em")}else{m.setAttribute("columnspacing","0.167em")}m.setAttribute("columnalign","right center left");m.setAttribute("displaystyle","true");m=createMmlNode("mrow",m);return[m,d[1],null]}case TEXT:if(n.charAt(0)=="{"){r=n.indexOf("}")}else{r=0}if(r==-1){r=n.length}o=n.slice(1,r);if(o.charAt(0)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}l.appendChild(createMmlNode(t.tag,document.createTextNode(o)));if(o.charAt(o.length-1)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}n=LMremoveCharsAndBlanks(n,r+1);return[createMmlNode("mrow",l),n,null];case UNARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode(t.tag,document.createTextNode(t.output)),n]}if(typeof t.func=="boolean"&&t.func){o=n.charAt(0);if(o=="^"||o=="_"||o==","){return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}else{m=createMmlNode("mrow",createMmlNode(t.tag,document.createTextNode(t.output)));if(isIE){var v=createMmlNode("mspace");v.setAttribute("width","0.167em");m.appendChild(v)}m.appendChild(d[0]);return[m,d[1],t.tag]}}if(t.input=="\\sqrt"){if(isIE){var v=createMmlNode("mspace");v.setAttribute("height","1.2ex");v.setAttribute("width","0em");m=createMmlNode(t.tag,d[0]);m.appendChild(v);return[m,d[1],t.tag]}else{return[createMmlNode(t.tag,d[0]),d[1],t.tag]}}else{if(typeof t.acc=="boolean"&&t.acc){m=createMmlNode(t.tag,d[0]);var g=t.output;if(isIE){if(t.input=="\\hat"){g="\u0302"}else{if(t.input=="\\widehat"){g="\u005E"}else{if(t.input=="\\bar"){g="\u00AF"}else{if(t.input=="\\grave"){g="\u0300"}else{if(t.input=="\\tilde"){g="\u0303"}}}}}}var c=createMmlNode("mo",document.createTextNode(g));if(t.input=="\\vec"||t.input=="\\check"){c.setAttribute("maxsize","1.2")}if(isIE&&t.input=="\\bar"){c.setAttribute("maxsize","0.5")}if(t.input=="\\underbrace"||t.input=="\\underline"){c.setAttribute("accentunder","true")}else{c.setAttribute("accent","true")}m.appendChild(c);if(t.input=="\\overbrace"||t.input=="\\underbrace"){m.ttype=UNDEROVER}return[m,d[1],t.tag]}else{if(!isIE&&typeof t.codes!="undefined"){for(r=0;r<d[0].childNodes.length;r++){if(d[0].childNodes[r].nodeName=="mi"||d[0].nodeName=="mi"){o=(d[0].nodeName=="mi"?d[0].firstChild.nodeValue:d[0].childNodes[r].firstChild.nodeValue);var h=[];for(var q=0;q<o.length;q++){if(o.charCodeAt(q)>64&&o.charCodeAt(q)<91){h=h+String.fromCharCode(t.codes[o.charCodeAt(q)-65])}else{h=h+o.charAt(q)}}if(d[0].nodeName=="mi"){d[0]=createMmlNode("mo").appendChild(document.createTextNode(h))}else{d[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(h)),d[0].childNodes[r])}}}}m=createMmlNode(t.tag,d[0]);m.setAttribute(t.atname,t.atval);if(t.input=="\\scriptstyle"||t.input=="\\scriptscriptstyle"){m.setAttribute("displaystyle","false")}return[m,d[1],t.tag]}}case BINARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}a=LMparseSexpr(d[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}if(t.input=="\\root"||t.input=="\\stackrel"){l.appendChild(a[0])}l.appendChild(d[0]);if(t.input=="\\frac"){l.appendChild(a[0])}return[createMmlNode(t.tag,l),a[1],t.tag];case INFIX:n=LMremoveCharsAndBlanks(n,t.input.length);return[createMmlNode("mo",document.createTextNode(t.output)),n,t.tag];default:return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}}function LMparseIexpr(g){var f,d,b,c,h,k,j;g=LMremoveCharsAndBlanks(g,0);d=LMgetSymbol(g);h=LMparseSexpr(g);c=h[0];g=h[1];k=h[2];f=LMgetSymbol(g);if(f.ttype==INFIX){g=LMremoveCharsAndBlanks(g,f.input.length);h=LMparseSexpr(g);if(h[0]==null){h[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}g=h[1];k=h[2];if(f.input=="_"||f.input=="^"){b=LMgetSymbol(g);k=null;j=((d.ttype==UNDEROVER)||(c.ttype==UNDEROVER));if(f.input=="_"&&b.input=="^"){g=LMremoveCharsAndBlanks(g,b.input.length);var a=LMparseSexpr(g);g=a[1];k=a[2];c=createMmlNode((j?"munderover":"msubsup"),c);c.appendChild(h[0]);c.appendChild(a[0])}else{if(f.input=="_"){c=createMmlNode((j?"munder":"msub"),c);c.appendChild(h[0])}else{c=createMmlNode((j?"mover":"msup"),c);c.appendChild(h[0])}}c=createMmlNode("mrow",c)}else{c=createMmlNode(f.tag,c);if(f.input=="\\atop"||f.input=="\\choose"){c.setAttribute("linethickness","0ex")}c.appendChild(h[0]);if(f.input=="\\choose"){c=createMmlNode("mfenced",c)}}}return[c,g,k]}function LMparseExpr(o,p,v){var w,l,a,s,z,f=document.createDocumentFragment();do{o=LMremoveCharsAndBlanks(o,0);a=LMparseIexpr(o);l=a[0];o=a[1];z=a[2];w=LMgetSymbol(o);if(l!=undefined){if((z=="mn"||z=="mi")&&w!=null&&typeof w.func=="boole... [truncated message content] |
From: <pb...@fe...> - 2012-12-17 09:25:30
|
Author: pboy Date: 2012-12-17 09:25:14 +0000 (Mon, 17 Dec 2012) New Revision: 2404 Modified: releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js Log: Fixed equation iditor plugin (backport r2398). (on behalf of quasimodo) Modified: releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js =================================================================== --- releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 09:21:25 UTC (rev 2403) +++ releases/2.0.0/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 09:25:14 UTC (rev 2404) @@ -1,2 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -var mathcolor="blue";var mathfontsize="1em";var mathfontfamily="serif";var automathrecognize=false;var checkForMathML=true;var notifyIfNoMathML=true;var alertIfNoMathML=false;var translateOnLoad=true;var translateLaTeX=true;var translateLaTeXformatting=true;var translateASCIIMath=true;var translateASCIIsvg=true;var avoidinnerHTML=false;var displaystyle=true;var showasciiformulaonhover=true;var decimalsign=".";var AMdelimiter1="`",AMescape1="\\\\`";var AMdocumentId="wikitext";var checkforprocessasciimathinmoodle=false;var dsvglocation="";var isIE=document.createElementNS==null;var noMathML=false,translated=false;if(isIE){document.write('<object id="mathplayer" classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987"></object>');document.write('<?import namespace="m" implementation="#mathplayer"?>')}function setStylesheet(a){var c="AMMLcustomStyleSheet";var b=document.getElementById(c);if(document.createStyleSheet){if(b){b.parentNode.removeChild(b)}document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," <style id='"+c+"'>"+a+"</style>")}else{if(b){b.replaceChild(document.createTextNode(a),b.firstChild)}else{b=document.createElement("style");b.type="text/css";b.id=c;b.appendChild(document.createTextNode(a));document.getElementsByTagName("head")[0].appendChild(b)}}}setStylesheet("#AMMLcloseDiv {font-size:0.8em; padding-top:1em; color:#014}\n#AMMLwarningBox {position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30}");function init(){var b,a=new Array();if(document.getElementById==null){alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer");return null}if(checkForMathML&&(b=checkMathML())){a.push(b)}if(checkIfSVGavailable&&(b=checkSVG())){a.push(b)}if(a.length>0){displayWarnings(a)}if(!noMathML){initSymbols()}return true}function checkMathML(){if(navigator.appName.slice(0,8)=="Netscape"){if(navigator.appVersion.slice(0,1)>="5"){noMathML=null}else{noMathML=true}}else{if(navigator.appName.slice(0,9)=="Microsoft"){try{var c=new ActiveXObject("MathPlayer.Factory.1");noMathML=null}catch(a){noMathML=true}}else{if(navigator.appName.slice(0,5)=="Opera"){if(navigator.appVersion.slice(0,3)>="9.5"){noMathML=null}else{noMathML=true}}}}if(noMathML&¬ifyIfNoMathML){var b="To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.";if(alertIfNoMathML){alert(b)}else{return b}}}function hideWarning(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("AMMLwarningBox"));a.onclick=null}function displayWarnings(b){var c,g,f=createElementXHTML("div");var a=document.getElementsByTagName("body")[0];a.onclick=hideWarning;f.id="AMMLwarningBox";for(c=0;c<b.length;c++){g=createElementXHTML("div");g.appendChild(document.createTextNode(b[c]));g.style.paddingBottom="1.0em";f.appendChild(g)}f.appendChild(createElementXHTML("p"));f.appendChild(document.createTextNode("For instructions see the "));var d=createElementXHTML("a");d.appendChild(document.createTextNode("ASCIIMathML"));d.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html");f.appendChild(d);f.appendChild(document.createTextNode(" homepage"));d=createElementXHTML("div");d.id="AMMLcloseDiv";d.appendChild(document.createTextNode("(click anywhere to close this warning)"));f.appendChild(d);var a=document.getElementsByTagName("body")[0];a.insertBefore(f,a.childNodes[0])}function translate(b){if(!translated){translated=true;var a=document.getElementsByTagName("body")[0];var c=document.getElementById(AMdocumentId);if(translateLaTeX){LMprocessNode((c!=null?c:a))}if(translateASCIIMath){AMprocessNode((c!=null?c:a),false,b)}}}function createElementXHTML(a){if(isIE){return document.createElement(a)}else{return document.createElementNS("http://www.w3.org/1999/xhtml",a)}}function createMmlNode(a,c){if(isIE){var b=document.createElement("m:"+a)}else{var b=document.createElementNS("http://www.w3.org/1998/Math/MathML",a)}if(c){b.appendChild(c)}return b}var AMcal=[61237,8492,61238,61239,8496,8497,61240,8459,8464,61241,61242,8466,8499,61243,61244,61245,61246,8475,61247,61248,61249,61250,61251,61252,61253,61254];var AMfrk=[61277,61278,8493,61279,61280,61281,61282,8460,8465,61283,61284,61285,61286,61287,61288,61289,61290,8476,61291,61292,61293,61294,61295,61296,61297,8488];var AMbbb=[61324,61325,8450,61326,61327,61328,61329,8461,61330,61331,61332,61333,61334,8469,61335,8473,8474,8477,61336,61337,61338,61339,61340,61341,61342,8484];var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10,BIG=11,LONG=12,STRETCHY=13,MATRIX=14;var AMquote={input:'"',tag:"mtext",output:"mbox",tex:null,ttype:TEXT};var AMsymbols=[{input:"alpha",tag:"mi",output:"\u03B1",tex:null,ttype:CONST},{input:"beta",tag:"mi",output:"\u03B2",tex:null,ttype:CONST},{input:"chi",tag:"mi",output:"\u03C7",tex:null,ttype:CONST},{input:"delta",tag:"mi",output:"\u03B4",tex:null,ttype:CONST},{input:"Delta",tag:"mo",output:"\u0394",tex:null,ttype:CONST},{input:"epsi",tag:"mi",output:"\u03B5",tex:"epsilon",ttype:CONST},{input:"varepsilon",tag:"mi",output:"\u025B",tex:null,ttype:CONST},{input:"eta",tag:"mi",output:"\u03B7",tex:null,ttype:CONST},{input:"gamma",tag:"mi",output:"\u03B3",tex:null,ttype:CONST},{input:"Gamma",tag:"mo",output:"\u0393",tex:null,ttype:CONST},{input:"iota",tag:"mi",output:"\u03B9",tex:null,ttype:CONST},{input:"kappa",tag:"mi",output:"\u03BA",tex:null,ttype:CONST},{input:"lambda",tag:"mi",output:"\u03BB",tex:null,ttype:CONST},{input:"Lambda",tag:"mo",output:"\u039B",tex:null,ttype:CONST},{input:"mu",tag:"mi",output:"\u03BC",tex:null,ttype:CONST},{input:"nu",tag:"mi",output:"\u03BD",tex:null,ttype:CONST},{input:"omega",tag:"mi",output:"\u03C9",tex:null,ttype:CONST},{input:"Omega",tag:"mo",output:"\u03A9",tex:null,ttype:CONST},{input:"phi",tag:"mi",output:"\u03C6",tex:null,ttype:CONST},{input:"varphi",tag:"mi",output:"\u03D5",tex:null,ttype:CONST},{input:"Phi",tag:"mo",output:"\u03A6",tex:null,ttype:CONST},{input:"pi",tag:"mi",output:"\u03C0",tex:null,ttype:CONST},{input:"Pi",tag:"mo",output:"\u03A0",tex:null,ttype:CONST},{input:"psi",tag:"mi",output:"\u03C8",tex:null,ttype:CONST},{input:"Psi",tag:"mi",output:"\u03A8",tex:null,ttype:CONST},{input:"rho",tag:"mi",output:"\u03C1",tex:null,ttype:CONST},{input:"sigma",tag:"mi",output:"\u03C3",tex:null,ttype:CONST},{input:"Sigma",tag:"mo",output:"\u03A3",tex:null,ttype:CONST},{input:"tau",tag:"mi",output:"\u03C4",tex:null,ttype:CONST},{input:"theta",tag:"mi",output:"\u03B8",tex:null,ttype:CONST},{input:"vartheta",tag:"mi",output:"\u03D1",tex:null,ttype:CONST},{input:"Theta",tag:"mo",output:"\u0398",tex:null,ttype:CONST},{input:"upsilon",tag:"mi",output:"\u03C5",tex:null,ttype:CONST},{input:"xi",tag:"mi",output:"\u03BE",tex:null,ttype:CONST},{input:"Xi",tag:"mo",output:"\u039E",tex:null,ttype:CONST},{input:"zeta",tag:"mi",output:"\u03B6",tex:null,ttype:CONST},{input:"*",tag:"mo",output:"\u22C5",tex:"cdot",ttype:CONST},{input:"**",tag:"mo",output:"\u22C6",tex:"star",ttype:CONST},{input:"//",tag:"mo",output:"/",tex:null,ttype:CONST},{input:"\\\\",tag:"mo",output:"\\",tex:"backslash",ttype:CONST},{input:"setminus",tag:"mo",output:"\\",tex:null,ttype:CONST},{input:"xx",tag:"mo",output:"\u00D7",tex:"times",ttype:CONST},{input:"-:",tag:"mo",output:"\u00F7",tex:"divide",ttype:CONST},{input:"@",tag:"mo",output:"\u26AC",tex:"circ",ttype:CONST},{input:"o+",tag:"mo",output:"\u2295",tex:"oplus",ttype:CONST},{input:"ox",tag:"mo",output:"\u2297",tex:"otimes",ttype:CONST},{input:"o.",tag:"mo",output:"\u2299",tex:"odot",ttype:CONST},{input:"sum",tag:"mo",output:"\u2211",tex:null,ttype:UNDEROVER},{input:"prod",tag:"mo",output:"\u220F",tex:null,ttype:UNDEROVER},{input:"^^",tag:"mo",output:"\u2227",tex:"wedge",ttype:CONST},{input:"^^^",tag:"mo",output:"\u22C0",tex:"bigwedge",ttype:UNDEROVER},{input:"vv",tag:"mo",output:"\u2228",tex:"vee",ttype:CONST},{input:"vvv",tag:"mo",output:"\u22C1",tex:"bigvee",ttype:UNDEROVER},{input:"nn",tag:"mo",output:"\u2229",tex:"cap",ttype:CONST},{input:"nnn",tag:"mo",output:"\u22C2",tex:"bigcap",ttype:UNDEROVER},{input:"uu",tag:"mo",output:"\u222A",tex:"cup",ttype:CONST},{input:"uuu",tag:"mo",output:"\u22C3",tex:"bigcup",ttype:UNDEROVER},{input:"!=",tag:"mo",output:"\u2260",tex:"ne",ttype:CONST},{input:":=",tag:"mo",output:":=",tex:null,ttype:CONST},{input:"lt",tag:"mo",output:"<",tex:null,ttype:CONST},{input:"<=",tag:"mo",output:"\u2264",tex:"le",ttype:CONST},{input:"lt=",tag:"mo",output:"\u2264",tex:"leq",ttype:CONST},{input:">=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227A",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227A",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227B",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2AAF",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2AB0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221D",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\u00AC",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21D2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21D4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22A5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22A4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22A2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22A8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232A",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232A",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222B",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222E",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\u00B1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221E",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\u00A0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\u00A0\u00A0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\u00A0\u00A0\u00A0\u00A0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22EF",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22EE",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22F1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22C4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25A1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230A",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230B",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211A",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211D",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:">->",tag:"mo",output:"\u21A3",tex:"rightarrowtail",ttype:CONST},{input:"->>",tag:"mo",output:"\u21A0",tex:"twoheadrightarrow",ttype:CONST},{input:">->>",tag:"mo",output:"\u2916",tex:"twoheadrightarrowtail",ttype:CONST},{input:"|->",tag:"mo",output:"\u21A6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21D2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21D0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21D4",tex:"Leftrightarrow",ttype:CONST},{input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},{input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},{input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},{input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},{input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},{input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},{input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},{input:"hat",tag:"mover",output:"\u005E",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\u00AF",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},{input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},{input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}];function compareNames(b,a){if(b.input>a.input){return 1}else{return -1}}var AMnames=[];function initSymbols(){var b=[],a;for(a=0;a<AMsymbols.length;a++){if(AMsymbols[a].tex){b[b.length]={input:AMsymbols[a].tex,tag:AMsymbols[a].tag,output:AMsymbols[a].output,ttype:AMsymbols[a].ttype}}}AMsymbols=AMsymbols.concat(b);refreshSymbols()}function refreshSymbols(){var a;AMsymbols.sort(compareNames);for(a=0;a<AMsymbols.length;a++){AMnames[a]=AMsymbols[a].input}LMsymbols.sort(compareNames);for(a=0;a<LMsymbols.length;a++){LMnames[a]=LMsymbols[a].input}}function define(b,a){if(b.substr(0,1)=="\\"){LMsymbols=LMsymbols.concat([{input:b,tag:"mo",output:a,ttype:DEFINITION}])}else{AMsymbols=AMsymbols.concat([{input:b,tag:"mo",output:a,tex:null,ttype:DEFINITION}])}refreshSymbols()}function AMremoveCharsAndBlanks(c,d){var a;if(c.charAt(d)=="\\"&&c.charAt(d+1)!="\\"&&c.charAt(d+1)!=" "){a=c.slice(d+1)}else{a=c.slice(d)}for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function position(b,f,g){if(g==0){var d,a;g=-1;d=b.length;while(g+1<d){a=(g+d)>>1;if(b[a]<f){g=a}else{d=a}}return d}else{for(var c=g;c<b.length&&b[c]<f;c++){}}return c}function AMgetSymbol(h){var a=0;var b=0;var d;var m;var n;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){m=h.slice(0,c);b=a;a=position(AMnames,m,b);if(a<AMnames.length&&h.slice(0,AMnames[a].length)==AMnames[a]){f=AMnames[a];d=a;c=f.length}g=a<AMnames.length&&h.slice(0,AMnames[a].length)>=AMnames[a]}AMpreviousSymbol=AMcurrentSymbol;if(f!=""){AMcurrentSymbol=AMsymbols[d].ttype;return AMsymbols[d]}AMcurrentSymbol=CONST;a=1;m=h.slice(0,1);var l=true;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}if(m==decimalsign){m=h.slice(a,a+1);if("0"<=m&&m<="9"){l=false;a++;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}}}if((l&&a>1)||a>2){m=h.slice(0,a-1);n="mn"}else{a=2;m=h.slice(0,1);n=(("A">m||m>"Z")&&("a">m||m>"z")?"mo":"mi")}if(m=="-"&&AMpreviousSymbol==INFIX){AMcurrentSymbol=INFIX;return{input:m,tag:n,output:m,ttype:UNARY,func:true}}return{input:m,tag:n,output:m,ttype:CONST}}function AMremoveBrackets(b){var a;if(b.nodeName=="mrow"){a=b.firstChild.firstChild.nodeValue;if(a=="("||a=="["||a=="{"){b.removeChild(b.firstChild)}}if(b.nodeName=="mrow"){a=b.lastChild.firstChild.nodeValue;if(a==")"||a=="]"||a=="}"){b.removeChild(b.lastChild)}}}var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;function AMparseSexpr(h){var d,b,k,f,m,g=document.createDocumentFragment();h=AMremoveCharsAndBlanks(h,0);d=AMgetSymbol(h);if(d==null||d.ttype==RIGHTBRACKET&&AMnestingDepth>0){return[null,h]}if(d.ttype==DEFINITION){h=d.output+AMremoveCharsAndBlanks(h,d.input.length);d=AMgetSymbol(h)}switch(d.ttype){case UNDEROVER:case CONST:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h];case LEFTBRACKET:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,true);AMnestingDepth--;if(typeof d.invisible=="boolean"&&d.invisible){b=createMmlNode("mrow",k[0])}else{b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0])}return[b,k[1]];case TEXT:if(d!=AMquote){h=AMremoveCharsAndBlanks(h,d.input.length)}if(h.charAt(0)=="{"){f=h.indexOf("}")}else{if(h.charAt(0)=="("){f=h.indexOf(")")}else{if(h.charAt(0)=="["){f=h.indexOf("]")}else{if(d==AMquote){f=h.slice(1).indexOf('"')+1}else{f=0}}}}if(f==-1){f=h.length}m=h.slice(1,f);if(m.charAt(0)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}g.appendChild(createMmlNode(d.tag,document.createTextNode(m)));if(m.charAt(m.length-1)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}h=AMremoveCharsAndBlanks(h,f+1);return[createMmlNode("mrow",g),h];case UNARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}if(typeof d.func=="boolean"&&d.func){m=h.charAt(0);if(m=="^"||m=="_"||m=="/"||m=="|"||m==","){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}else{b=createMmlNode("mrow",createMmlNode(d.tag,document.createTextNode(d.output)));b.appendChild(k[0]);return[b,k[1]]}}AMremoveBrackets(k[0]);if(d.input=="sqrt"){return[createMmlNode(d.tag,k[0]),k[1]]}else{if(typeof d.acc=="boolean"&&d.acc){b=createMmlNode(d.tag,k[0]);b.appendChild(createMmlNode("mo",document.createTextNode(d.output)));return[b,k[1]]}else{if(!isIE&&typeof d.codes!="undefined"){for(f=0;f<k[0].childNodes.length;f++){if(k[0].childNodes[f].nodeName=="mi"||k[0].nodeName=="mi"){m=(k[0].nodeName=="mi"?k[0].firstChild.nodeValue:k[0].childNodes[f].firstChild.nodeValue);var l=[];for(var c=0;c<m.length;c++){if(m.charCodeAt(c)>64&&m.charCodeAt(c)<91){l=l+String.fromCharCode(d.codes[m.charCodeAt(c)-65])}else{l=l+m.charAt(c)}}if(k[0].nodeName=="mi"){k[0]=createMmlNode("mo").appendChild(document.createTextNode(l))}else{k[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(l)),k[0].childNodes[f])}}}}b=createMmlNode(d.tag,k[0]);b.setAttribute(d.atname,d.atval);return[b,k[1]]}}case BINARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(k[0]);var a=AMparseSexpr(k[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(a[0]);if(d.input=="root"||d.input=="stackrel"){g.appendChild(a[0])}g.appendChild(k[0]);if(d.input=="frac"){g.appendChild(a[0])}return[createMmlNode(d.tag,g),a[1]];case INFIX:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode("mo",document.createTextNode(d.output)),h];case SPACE:h=AMremoveCharsAndBlanks(h,d.input.length);b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);g.appendChild(createMmlNode(d.tag,document.createTextNode(d.output)));b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);return[createMmlNode("mrow",g),h];case LEFTRIGHT:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,false);AMnestingDepth--;var m="";if(k[0].lastChild!=null){m=k[0].lastChild.firstChild.nodeValue}if(m=="|"){b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0]);return[b,k[1]]}else{b=createMmlNode("mo",document.createTextNode("\u2223"));b=createMmlNode("mrow",b);return[b,h]}default:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}}function AMparseIexpr(h){var a,j,g,d,f,b;h=AMremoveCharsAndBlanks(h,0);j=AMgetSymbol(h);f=AMparseSexpr(h);d=f[0];h=f[1];a=AMgetSymbol(h);if(a.ttype==INFIX&&a.input!="/"){h=AMremoveCharsAndBlanks(h,a.input.length);f=AMparseSexpr(h);if(f[0]==null){f[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(f[0])}h=f[1];if(a.input=="_"){g=AMgetSymbol(h);b=(j.ttype==UNDEROVER);if(g.input=="^"){h=AMremoveCharsAndBlanks(h,g.input.length);var c=AMparseSexpr(h);AMremoveBrackets(c[0]);h=c[1];d=createMmlNode((b?"munderover":"msubsup"),d);d.appendChild(f[0]);d.appendChild(c[0]);d=createMmlNode("mrow",d)}else{d=createMmlNode((b?"munder":"msub"),d);d.appendChild(f[0])}}else{d=createMmlNode(a.tag,d);d.appendChild(f[0])}}return[d,h]}function AMparseExpr(p,q){var x,o,a,t,z=[],g=document.createDocumentFragment();do{p=AMremoveCharsAndBlanks(p,0);a=AMparseIexpr(p);o=a[0];p=a[1];x=AMgetSymbol(p);if(x.ttype==INFIX&&x.input=="/"){p=AMremoveCharsAndBlanks(p,x.input.length);a=AMparseIexpr(p);if(a[0]==null){a[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(a[0])}p=a[1];AMremoveBrackets(o);o=createMmlNode(x.tag,o);o.appendChild(a[0]);g.appendChild(o);x=AMgetSymbol(p)}else{if(o!=undefined){g.appendChild(o)}}}while((x.ttype!=RIGHTBRACKET&&(x.ttype!=LEFTRIGHT||q)||AMnestingDepth==0)&&x!=null&&x.output!="");if(x.ttype==RIGHTBRACKET||x.ttype==LEFTRIGHT){var v=g.childNodes.length;if(v>0&&g.childNodes[v-1].nodeName=="mrow"&&v>1&&g.childNodes[v-2].nodeName=="mo"&&g.childNodes[v-2].firstChild.nodeValue==","){var A=g.childNodes[v-1].lastChild.firstChild.nodeValue;if(A==")"||A=="]"){var c=g.childNodes[v-1].firstChild.firstChild.nodeValue;if(c=="("&&A==")"&&x.output!="}"||c=="["&&A=="]"){var d=[];var w=true;var l=g.childNodes.length;for(t=0;w&&t<l;t=t+2){d[t]=[];o=g.childNodes[t];if(w){w=o.nodeName=="mrow"&&(t==l-1||o.nextSibling.nodeName=="mo"&&o.nextSibling.firstChild.nodeValue==",")&&o.firstChild.firstChild.nodeValue==c&&o.lastChild.firstChild.nodeValue==A}if(w){for(var s=0;s<o.childNodes.length;s++){if(o.childNodes[s].firstChild.nodeValue==","){d[t][d[t].length]=s}}}if(w&&t>1){w=d[t].length==d[t-2].length}}if(w){var f,b,h,r,y=document.createDocumentFragment();for(t=0;t<l;t=t+2){f=document.createDocumentFragment();b=document.createDocumentFragment();o=g.firstChild;h=o.childNodes.length;r=0;o.removeChild(o.firstChild);for(s=1;s<h-1;s++){if(typeof d[t][r]!="undefined"&&s==d[t][r]){o.removeChild(o.firstChild);f.appendChild(createMmlNode("mtd",b));r++}else{b.appendChild(o.firstChild)}}f.appendChild(createMmlNode("mtd",b));if(g.childNodes.length>2){g.removeChild(g.firstChild);g.removeChild(g.firstChild)}y.appendChild(createMmlNode("mtr",f))}o=createMmlNode("mtable",y);if(typeof x.invisible=="boolean"&&x.invisible){o.setAttribute("columnalign","left")}g.replaceChild(o,g.firstChild)}}}}p=AMremoveCharsAndBlanks(p,x.input.length);if(typeof x.invisible!="boolean"||!x.invisible){o=createMmlNode("mo",document.createTextNode(x.output));g.appendChild(o)}}return[g,p]}function parseMath(c,b){var d,a;AMnestingDepth=0;d=b?LMparseExpr(c.replace(/^\s+/g,""),false,false)[0]:AMparseExpr(c.replace(/^\s+/g,""),false)[0];a=createMmlNode("mstyle",d);a.setAttribute("mathcolor",mathcolor);a.setAttribute("fontfamily",mathfontfamily);a.setAttribute("mathsize",mathfontsize);if(displaystyle){a.setAttribute("displaystyle","true")}a=createMmlNode("math",a);if(showasciiformulaonhover){a.setAttribute("title",c.replace(/\s+/g," "))}return a}function strarr2docFrag(a,d,g){var k=document.createDocumentFragment();var h=false;for(var f=0;f<a.length;f++){if(h){k.appendChild(parseMath(a[f],g))}else{var b=(d?a[f].split("\n\n"):[a[f]]);k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[0])));for(var c=1;c<b.length;c++){k.appendChild(createElementXHTML("p"));k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[c])))}}h=!h}return k}function AMautomathrec(m){var b="\\\\[a-zA-Z]+|\\\\\\s|";var k="\\b(?:oo|lim|ln|int|oint|del|grad|aleph|prod|prop|sinh|cosh|tanh|cos|sec|pi|tt|fr|sf|sube|supe|sub|sup|det|mod|gcd|lcm|min|max|vec|ddot|ul|chi|eta|nu|mu)(?![a-z])|";var l="\\b(?:sum|ox|log|sin|tan|dim|hat|bar|dot)(?![a-z])|";var g="|\\bI\\b|\\bin\\b|\\btext\\b";var a="NN|ZZ|QQ|RR|CC|TT|AA|EE|sqrt|dx|dy|dz|dt|xx|vv|uu|nn|bb|cc|csc|cot|alpha|beta|delta|Delta|epsilon|gamma|Gamma|kappa|lambda|Lambda|omega|phi|Phi|Pi|psi|Psi|rho|sigma|Sigma|tau|theta|Theta|xi|Xi|zeta";var j="[a-zA-HJ-Z](?=(?:[^a-zA-Z]|$|"+k+l+a+"))|";var c=j+b+"\\d+|[-()[\\]{}+=*&^_%\\@/<>,\\|!:;'~]|\\.(?!(?:\x20|$))|"+k+l+a;var n=new RegExp("(^|\\s)((("+c+")\\s?)(("+c+g+")\\s?)+)([,.?]?(?=\\s|$))","g");m=m.replace(n," `$2`$7");var f=m.split(AMdelimiter1);var h=new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+b+k+a+")(\\s|\\n|$)","g");var d=new RegExp("(^|\\s)([a-z]|"+b+k+a+")([,.])","g");for(i=0;i<f.length;i++){if(i%2==0){f[i]=f[i].replace(h," `$2`$3");f[i]=f[i].replace(d," `$2`$3");f[i]=f[i].replace(/([{}[\]])/,"`$1`")}}m=f.join(AMdelimiter1);m=m.replace(/((^|\s)\([a-zA-Z]{2,}.*?)\)`/g,"$1`)");m=m.replace(/`(\((a\s|in\s))(.*?[a-zA-Z]{2,}\))/g,"$1`$3");m=m.replace(/\sin`/g,"` in");m=m.replace(/`(\(\w\)[,.]?(\s|\n|$))/g,"$1`");m=m.replace(/`([0-9.]+|e.g|i.e)`(\.?)/gi,"$1$2");m=m.replace(/`([0-9.]+:)`/g,"$1");return m}function processNodeR(c,h,b){var k,j,f,a,d;if(c.childNodes.length==0){if((c.nodeType!=8||h)&&c.parentNode.nodeName!="form"&&c.parentNode.nodeName!="FORM"&&c.parentNode.nodeName!="textarea"&&c.parentNode.nodeName!="TEXTAREA"){j=c.nodeValue;if(!(j==null)){j=j.replace(/\r\n\r\n/g,"\n\n");j=j.replace(/\x20+/g," ");j=j.replace(/\s*\r\n/g," ");if(b){k=(j.indexOf("$")==-1?false:true);j=j.replace(/([^\\])\$/g,"$1 $");j=j.replace(/^\$/," $");f=j.split(" $");for(d=0;d<f.length;d++){f[d]=f[d].replace(/\\\$/g,"$")}}else{k=false;j=j.replace(new RegExp(AMescape1,"g"),function(){k=true;return"AMescape1"});j=j.replace(/\\?end{?a?math}?/i,function(){automathrecognize=false;k=true;return""});j=j.replace(/amath\b|\\begin{a?math}/i,function(){automathrecognize=true;k=true;return""});f=j.split(AMdelimiter1);if(automathrecognize){for(d=0;d<f.length;d++){if(d%2==0){f[d]=AMautomathrec(f[d])}}}j=f.join(AMdelimiter1);f=j.split(AMdelimiter1);for(d=0;d<f.length;d++){f[d]=f[d].replace(/AMescape1/g,AMdelimiter1)}}if(f.length>1||k){if(!noMathML){a=strarr2docFrag(f,c.nodeType==8,b);var g=a.childNodes.length;c.parentNode.replaceChild(a,c);return g-1}else{return 0}}}}else{return 0}}else{if(c.nodeName!="math"){for(d=0;d<c.childNodes.length;d++){d+=processNodeR(c.childNodes[d],h,b)}}}return 0}function AMprocessNode(h,c,a){var g,b;if(a!=null){g=document.getElementsByTagName("span");for(var d=0;d<g.length;d++){if(g[d].className=="AM"){processNodeR(g[d],c,false)}}}else{try{b=h.innerHTML}catch(f){}if(b==null||/amath\b|\\begin{a?math}/i.test(b)||b.indexOf(AMdelimiter1+" ")!=-1||b.slice(-1)==AMdelimiter1||b.indexOf(AMdelimiter1+"<")!=-1||b.indexOf(AMdelimiter1+"\n")!=-1){processNodeR(h,c,false)}}}var LMsymbols=[{input:"\\alpha",tag:"mi",output:"\u03B1",ttype:CONST},{input:"\\beta",tag:"mi",output:"\u03B2",ttype:CONST},{input:"\\gamma",tag:"mi",output:"\u03B3",ttype:CONST},{input:"\\delta",tag:"mi",output:"\u03B4",ttype:CONST},{input:"\\epsilon",tag:"mi",output:"\u03B5",ttype:CONST},{input:"\\varepsilon",tag:"mi",output:"\u025B",ttype:CONST},{input:"\\zeta",tag:"mi",output:"\u03B6",ttype:CONST},{input:"\\eta",tag:"mi",output:"\u03B7",ttype:CONST},{input:"\\theta",tag:"mi",output:"\u03B8",ttype:CONST},{input:"\\vartheta",tag:"mi",output:"\u03D1",ttype:CONST},{input:"\\iota",tag:"mi",output:"\u03B9",ttype:CONST},{input:"\\kappa",tag:"mi",output:"\u03BA",ttype:CONST},{input:"\\lambda",tag:"mi",output:"\u03BB",ttype:CONST},{input:"\\mu",tag:"mi",output:"\u03BC",ttype:CONST},{input:"\\nu",tag:"mi",output:"\u03BD",ttype:CONST},{input:"\\xi",tag:"mi",output:"\u03BE",ttype:CONST},{input:"\\pi",tag:"mi",output:"\u03C0",ttype:CONST},{input:"\\varpi",tag:"mi",output:"\u03D6",ttype:CONST},{input:"\\rho",tag:"mi",output:"\u03C1",ttype:CONST},{input:"\\varrho",tag:"mi",output:"\u03F1",ttype:CONST},{input:"\\varsigma",tag:"mi",output:"\u03C2",ttype:CONST},{input:"\\sigma",tag:"mi",output:"\u03C3",ttype:CONST},{input:"\\tau",tag:"mi",output:"\u03C4",ttype:CONST},{input:"\\upsilon",tag:"mi",output:"\u03C5",ttype:CONST},{input:"\\phi",tag:"mi",output:"\u03C6",ttype:CONST},{input:"\\varphi",tag:"mi",output:"\u03D5",ttype:CONST},{input:"\\chi",tag:"mi",output:"\u03C7",ttype:CONST},{input:"\\psi",tag:"mi",output:"\u03C8",ttype:CONST},{input:"\\omega",tag:"mi",output:"\u03C9",ttype:CONST},{input:"\\Gamma",tag:"mo",output:"\u0393",ttype:CONST},{input:"\\Delta",tag:"mo",output:"\u0394",ttype:CONST},{input:"\\Theta",tag:"mo",output:"\u0398",ttype:CONST},{input:"\\Lambda",tag:"mo",output:"\u039B",ttype:CONST},{input:"\\Xi",tag:"mo",output:"\u039E",ttype:CONST},{input:"\\Pi",tag:"mo",output:"\u03A0",ttype:CONST},{input:"\\Sigma",tag:"mo",output:"\u03A3",ttype:CONST},{input:"\\Upsilon",tag:"mo",output:"\u03A5",ttype:CONST},{input:"\\Phi",tag:"mo",output:"\u03A6",ttype:CONST},{input:"\\Psi",tag:"mo",output:"\u03A8",ttype:CONST},{input:"\\Omega",tag:"mo",output:"\u03A9",ttype:CONST},{input:"\\frac12",tag:"mo",output:"\u00BD",ttype:CONST},{input:"\\frac14",tag:"mo",output:"\u00BC",ttype:CONST},{input:"\\frac34",tag:"mo",output:"\u00BE",ttype:CONST},{input:"\\frac13",tag:"mo",output:"\u2153",ttype:CONST},{input:"\\frac23",tag:"mo",output:"\u2154",ttype:CONST},{input:"\\frac15",tag:"mo",output:"\u2155",ttype:CONST},{input:"\\frac25",tag:"mo",output:"\u2156",ttype:CONST},{input:"\\frac35",tag:"mo",output:"\u2157",ttype:CONST},{input:"\\frac45",tag:"mo",output:"\u2158",ttype:CONST},{input:"\\frac16",tag:"mo",output:"\u2159",ttype:CONST},{input:"\\frac56",tag:"mo",output:"\u215A",ttype:CONST},{input:"\\frac18",tag:"mo",output:"\u215B",ttype:CONST},{input:"\\frac38",tag:"mo",output:"\u215C",ttype:CONST},{input:"\\frac58",tag:"mo",output:"\u215D",ttype:CONST},{input:"\\frac78",tag:"mo",output:"\u215E",ttype:CONST},{input:"\\pm",tag:"mo",output:"\u00B1",ttype:CONST},{input:"\\mp",tag:"mo",output:"\u2213",ttype:CONST},{input:"\\triangleleft",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\triangleright",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\cdot",tag:"mo",output:"\u22C5",ttype:CONST},{input:"\\star",tag:"mo",output:"\u22C6",ttype:CONST},{input:"\\ast",tag:"mo",output:"\u002A",ttype:CONST},{input:"\\times",tag:"mo",output:"\u00D7",ttype:CONST},{input:"\\div",tag:"mo",output:"\u00F7",ttype:CONST},{input:"\\circ",tag:"mo",output:"\u2218",ttype:CONST},{input:"\\bullet",tag:"mo",output:"\u2022",ttype:CONST},{input:"\\oplus",tag:"mo",output:"\u2295",ttype:CONST},{input:"\\ominus",tag:"mo",output:"\u2296",ttype:CONST},{input:"\\otimes",tag:"mo",output:"\u2297",ttype:CONST},{input:"\\bigcirc",tag:"mo",output:"\u25CB",ttype:CONST},{input:"\\oslash",tag:"mo",output:"\u2298",ttype:CONST},{input:"\\odot",tag:"mo",output:"\u2299",ttype:CONST},{input:"\\land",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\wedge",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\lor",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\vee",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\cap",tag:"mo",output:"\u2229",ttype:CONST},{input:"\\cup",tag:"mo",output:"\u222A",ttype:CONST},{input:"\\sqcap",tag:"mo",output:"\u2293",ttype:CONST},{input:"\\sqcup",tag:"mo",output:"\u2294",ttype:CONST},{input:"\\uplus",tag:"mo",output:"\u228E",ttype:CONST},{input:"\\amalg",tag:"mo",output:"\u2210",ttype:CONST},{input:"\\bigtriangleup",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\bigtriangledown",tag:"mo",output:"\u25BD",ttype:CONST},{input:"\\dag",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\dagger",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\ddag",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\ddagger",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\lhd",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\rhd",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\unlhd",tag:"mo",output:"\u22B4",ttype:CONST},{input:"\\unrhd",tag:"mo",output:"\u22B5",ttype:CONST},{input:"\\sum",tag:"mo",output:"\u2211",ttype:UNDEROVER},{input:"\\prod",tag:"mo",output:"\u220F",ttype:UNDEROVER},{input:"\\bigcap",tag:"mo",output:"\u22C2",ttype:UNDEROVER},{input:"\\bigcup",tag:"mo",output:"\u22C3",ttype:UNDEROVER},{input:"\\bigwedge",tag:"mo",output:"\u22C0",ttype:UNDEROVER},{input:"\\bigvee",tag:"mo",output:"\u22C1",ttype:UNDEROVER},{input:"\\bigsqcap",tag:"mo",output:"\u2A05",ttype:UNDEROVER},{input:"\\bigsqcup",tag:"mo",output:"\u2A06",ttype:UNDEROVER},{input:"\\coprod",tag:"mo",output:"\u2210",ttype:UNDEROVER},{input:"\\bigoplus",tag:"mo",output:"\u2A01",ttype:UNDEROVER},{input:"\\bigotimes",tag:"mo",output:"\u2A02",ttype:UNDEROVER},{input:"\\bigodot",tag:"mo",output:"\u2A00",ttype:UNDEROVER},{input:"\\biguplus",tag:"mo",output:"\u2A04",ttype:UNDEROVER},{input:"\\int",tag:"mo",output:"\u222B",ttype:CONST},{input:"\\oint",tag:"mo",output:"\u222E",ttype:CONST},{input:":=",tag:"mo",output:":=",ttype:CONST},{input:"\\lt",tag:"mo",output:"<",ttype:CONST},{input:"\\gt",tag:"mo",output:">",ttype:CONST},{input:"\\ne",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\neq",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\le",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leq",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leqslant",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\ge",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geq",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geqslant",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\equiv",tag:"mo",output:"\u2261",ttype:CONST},{input:"\\ll",tag:"mo",output:"\u226A",ttype:CONST},{input:"\\gg",tag:"mo",output:"\u226B",ttype:CONST},{input:"\\doteq",tag:"mo",output:"\u2250",ttype:CONST},{input:"\\prec",tag:"mo",output:"\u227A",ttype:CONST},{input:"\\succ",tag:"mo",output:"\u227B",ttype:CONST},{input:"\\preceq",tag:"mo",output:"\u227C",ttype:CONST},{input:"\\succeq",tag:"mo",output:"\u227D",ttype:CONST},{input:"\\subset",tag:"mo",output:"\u2282",ttype:CONST},{input:"\\supset",tag:"mo",output:"\u2283",ttype:CONST},{input:"\\subseteq",tag:"mo",output:"\u2286",ttype:CONST},{input:"\\supseteq",tag:"mo",output:"\u2287",ttype:CONST},{input:"\\sqsubset",tag:"mo",output:"\u228F",ttype:CONST},{input:"\\sqsupset",tag:"mo",output:"\u2290",ttype:CONST},{input:"\\sqsubseteq",tag:"mo",output:"\u2291",ttype:CONST},{input:"\\sqsupseteq",tag:"mo",output:"\u2292",ttype:CONST},{input:"\\sim",tag:"mo",output:"\u223C",ttype:CONST},{input:"\\simeq",tag:"mo",output:"\u2243",ttype:CONST},{input:"\\approx",tag:"mo",output:"\u2248",ttype:CONST},{input:"\\cong",tag:"mo",output:"\u2245",ttype:CONST},{input:"\\Join",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\bowtie",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\in",tag:"mo",output:"\u2208",ttype:CONST},{input:"\\ni",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\owns",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\propto",tag:"mo",output:"\u221D",ttype:CONST},{input:"\\vdash",tag:"mo",output:"\u22A2",ttype:CONST},{input:"\\dashv",tag:"mo",output:"\u22A3",ttype:CONST},{input:"\\models",tag:"mo",output:"\u22A8",ttype:CONST},{input:"\\perp",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\smile",tag:"mo",output:"\u2323",ttype:CONST},{input:"\\frown",tag:"mo",output:"\u2322",ttype:CONST},{input:"\\asymp",tag:"mo",output:"\u224D",ttype:CONST},{input:"\\notin",tag:"mo",output:"\u2209",ttype:CONST},{input:"\\begin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\\begin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\\\\",output:"}&{",ttype:DEFINITION},{input:"\\end{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\\end{array}",output:"}}",ttype:DEFINITION},{input:"\\big",tag:"mo",output:"X",atval:"1.2",ieval:"2.2",ttype:BIG},{input:"\\Big",tag:"mo",output:"X",atval:"1.6",ieval:"2.6",ttype:BIG},{input:"\\bigg",tag:"mo",output:"X",atval:"2.2",ieval:"3.2",ttype:BIG},{input:"\\Bigg",tag:"mo",output:"X",atval:"2.9",ieval:"3.9",ttype:BIG},{input:"\\left",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\\right",tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\lbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\lbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\langle",tag:"mo",output:"\u2329",atval:"1",ttype:STRETCHY},{input:"\\lfloor",tag:"mo",output:"\u230A",atval:"1",ttype:STRETCHY},{input:"\\lceil",tag:"mo",output:"\u2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrace",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rangle",tag:"mo",output:"\u232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rfloor",tag:"mo",output:"\u230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rceil",tag:"mo",output:"\u2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\|",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\vert",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\Vert",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\mid",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\parallel",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\\backslash",tag:"mo",output:"\u2216",atval:"1",ttype:STRETCHY},{input:"\\setminus",tag:"mo",output:"\\",ttype:CONST},{input:"\\!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\\,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input:"\\>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\\quad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\\qquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\\prime",tag:"mo",output:"\u2032",ttype:CONST},{input:"'",tag:"mo",output:"\u02B9",ttype:CONST},{input:"''",tag:"mo",output:"\u02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\u2034",ttype:CONST},{input:"''''",tag:"mo",output:"\u2057",ttype:CONST},{input:"\\ldots",tag:"mo",output:"\u2026",ttype:CONST},{input:"\\cdots",tag:"mo",output:"\u22EF",ttype:CONST},{input:"\\vdots",tag:"mo",output:"\u22EE",ttype:CONST},{input:"\\ddots",tag:"mo",output:"\u22F1",ttype:CONST},{input:"\\forall",tag:"mo",output:"\u2200",ttype:CONST},{input:"\\exists",tag:"mo",output:"\u2203",ttype:CONST},{input:"\\Re",tag:"mo",output:"\u211C",ttype:CONST},{input:"\\Im",tag:"mo",output:"\u2111",ttype:CONST},{input:"\\aleph",tag:"mo",output:"\u2135",ttype:CONST},{input:"\\hbar",tag:"mo",output:"\u210F",ttype:CONST},{input:"\\ell",tag:"mo",output:"\u2113",ttype:CONST},{input:"\\wp",tag:"mo",output:"\u2118",ttype:CONST},{input:"\\emptyset",tag:"mo",output:"\u2205",ttype:CONST},{input:"\\infty",tag:"mo",output:"\u221E",ttype:CONST},{input:"\\surd",tag:"mo",output:"\\sqrt{}",ttype:DEFINITION},{input:"\\partial",tag:"mo",output:"\u2202",ttype:CONST},{input:"\\nabla",tag:"mo",output:"\u2207",ttype:CONST},{input:"\\triangle",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\therefore",tag:"mo",output:"\u2234",ttype:CONST},{input:"\\angle",tag:"mo",output:"\u2220",ttype:CONST},{input:"\\diamond",tag:"mo",output:"\u22C4",ttype:CONST},{input:"\\Diamond",tag:"mo",output:"\u25C7",ttype:CONST},{input:"\\neg",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\lnot",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\bot",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\top",tag:"mo",output:"\u22A4",ttype:CONST},{input:"\\square",tag:"mo",output:"\u25AB",ttype:CONST},{input:"\\Box",tag:"mo",output:"\u25A1",ttype:CONST},{input:"\\wr",tag:"mo",output:"\u2240",ttype:CONST},{input:"\\arccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\\arcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\\arctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\\arg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\\cos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\\cosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\\cot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\\coth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\\csc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\\deg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\\det",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\\dim",tag:"mi",output:"dim",ttype:UNARY,func:true},{input:"\\exp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\\gcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\\hom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\\inf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\\ker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\\lg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\\lim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\\liminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\\limsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\\ln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\\log",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\\max",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\\min",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\\Pr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\\sec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\\sin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\\sinh",tag:"mi",output:"sinh",ttype:UNARY,func:true},{input:"\\sup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\\tan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\\tanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\\gets",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\leftarrow",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\to",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\rightarrow",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\leftrightarrow",tag:"mo",output:"\u2194",ttype:CONST},{input:"\\uparrow",tag:"mo",output:"\u2191",ttype:CONST},{input:"\\downarrow",tag:"mo",output:"\u2193",ttype:CONST},{input:"\\updownarrow",tag:"mo",output:"\u2195",ttype:CONST},{input:"\\Leftarrow",tag:"mo",output:"\u21D0",ttype:CONST},{input:"\\Rightarrow",tag:"mo",output:"\u21D2",ttype:CONST},{input:"\\Leftrightarrow",tag:"mo",output:"\u21D4",ttype:CONST},{input:"\\iff",tag:"mo",output:"~\\Longleftrightarrow~",ttype:DEFINITION},{input:"\\Uparrow",tag:"mo",output:"\u21D1",ttype:CONST},{input:"\\Downarrow",tag:"mo",output:"\u21D3",ttype:CONST},{input:"\\Updownarrow",tag:"mo",output:"\u21D5",ttype:CONST},{input:"\\mapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\longleftarrow",tag:"mo",output:"\u2190",ttype:LONG},{input:"\\longrightarrow",tag:"mo",output:"\u2192",ttype:LONG},{input:"\\longleftrightarrow",tag:"mo",output:"\u2194",ttype:LONG},{input:"\\Longleftarrow",tag:"mo",output:"\u21D0",ttype:LONG},{input:"\\Longrightarrow",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\implies",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\Longleftrightarrow",tag:"mo",output:"\u21D4",ttype:LONG},{input:"\\longmapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\sqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\\root",tag:"mroot",output:"root",ttype:BINARY},{input:"\\frac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\\stackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\\atop",tag:"mfrac",output:"",ttype:INFIX},{input:"\\choose",tag:"mfrac",output:"",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\\mathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\\mbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\\acute",tag:"mover",output:"\u00B4",ttype:UNARY,acc:true},{input:"\\grave",tag:"mover",output:"\u0060",ttype:UNARY,acc:true},{input:"\\breve",tag:"mover",output:"\u02D8",ttype:UNARY,acc:true},{input:"\\check",tag:"mover",output:"\u02C7",ttype:UNARY,acc:true},{input:"\\dot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\\ddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\\mathring",tag:"mover",output:"\u00B0",ttype:UNARY,acc:true},{input:"\\vec",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overrightarrow",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overleftarrow",tag:"mover",output:"\u20D6",ttype:UNARY,acc:true},{input:"\\hat",tag:"mover",output:"\u005E",ttype:UNARY,acc:true},{input:"\\widehat",tag:"mover",output:"\u0302",ttype:UNARY,acc:true},{input:"\\tilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\\widetilde",tag:"mover",output:"\u02DC",ttype:UNARY,acc:true},{input:"\\bar",tag:"mover",output:"\u203E",ttype:UNARY,acc:true},{input:"\\overbrace",tag:"mover",output:"\u23B4",ttype:UNARY,acc:true},{input:"\\overline",tag:"mover",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\underbrace",tag:"munder",output:"\u23B5",ttype:UNARY,acc:true},{input:"\\underline",tag:"munder",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\\textrm",tag:"mstyle",output:"\\mathrm",ttype:DEFINITION},{input:"\\mathbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\textbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\mathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\textit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\mathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\texttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\mathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\\mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:AMbbb},{input:"\\mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:AMcal},{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:AMfrk}];var LMnames=[];function LMremoveCharsAndBlanks(c,d){var a;a=c.slice(d);for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function LMgetSymbol(h){var a=0;var b=0;var d;var l;var m;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){l=h.slice(0,c);b=a;a=position(LMnames,l,b);if(a<LMnames.length&&h.slice(0,LMnames[a].length)==LMnames[a]){f=LMnames[a];d=a;c=f.length}g=a<LMnames.length&&h.slice(0,LMnames[a].length)>=LMnames[a]}LMpreviousSymbol=LMcurrentSymbol;if(f!=""){LMcurrentSymbol=LMsymbols[d].ttype;return LMsymbols[d]}LMcurrentSymbol=CONST;a=1;l=h.slice(0,1);if("0"<=l&&l<="9"){m="mn"}else{m=(("A">l||l>"Z")&&("a">l||l>"z")?"mo":"mi")}return{input:l,tag:m,output:l,ttype:CONST}}var LMpreviousSymbol,LMcurrentSymbol;function LMparseSexpr(n){var t,m,d,a,r,o,l=document.createDocumentFragment();n=LMremoveCharsAndBlanks(n,0);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}if(t.ttype==DEFINITION){n=t.output+LMremoveCharsAndBlanks(n,t.input.length);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}}n=LMremoveCharsAndBlanks(n,t.input.length);switch(t.ttype){case SPACE:m=createMmlNode(t.tag);m.setAttribute(t.atname,t.atval);return[m,n,t.tag];case UNDEROVER:if(isIE){if(t.input.substr(0,4)=="\\big"){n="\\"+t.input.substr(4)+n;t=LMgetSymbol(n);t.ttype=UNDEROVER;n=LMremoveCharsAndBlanks(n,t.input.length)}}return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag];case CONST:var g=t.output;if(isIE){if(t.input=="'"){g="\u2032"}else{if(t.input=="''"){g="\u2033"}else{if(t.input=="'''"){g="\u2033\u2032"}else{if(t.input=="''''"){g="\u2033\u2033"}else{if(t.input=="\\square"){g="\u25A1"}else{if(t.input.substr(0,5)=="\\frac"){var b=t.input.substr(6,1);if(b=="5"||b=="6"){n=t.input.replace(/\\frac/,"\\frac ")+n;return[m,n,t.tag]}}}}}}}}m=createMmlNode(t.tag,document.createTextNode(g));return[m,n,t.tag];case LONG:m=createMmlNode(t.tag,document.createTextNode(t.output));m.setAttribute("minsize","1.5");m.setAttribute("maxsize","1.5");m=createMmlNode("mover",m);m.appendChild(createMmlNode("mspace"));return[m,n,t.tag];case STRETCHY:if(isIE&&t.input=="\\backslash"){t.output="\\"}m=createMmlNode(t.tag,document.createTextNode(t.output));if(t.input=="|"||t.input=="\\vert"||t.input=="\\|"||t.input=="\\Vert"){m.setAttribute("lspace","0em");m.setAttribute("rspace","0em")}m.setAttribute("maxsize",t.atval);if(t.rtag!=null){return[m,n,t.rtag]}else{return[m,n,t.tag]}case BIG:var f=t.atval;if(isIE){f=t.ieval}t=LMgetSymbol(n);if(t==null){return[null,n,null]}n=LMremoveCharsAndBlanks(n,t.input.length);m=createMmlNode(t.tag,document.createTextNode(t.output));if(isIE){var v=createMmlNode("mspace");v.setAttribute("height",f+"ex");m=createMmlNode("mrow",m);m.appendChild(v)}else{m.setAttribute("minsize",f);m.setAttribute("maxsize",f)}return[m,n,t.tag];case LEFTBRACKET:if(t.input=="\\left"){t=LMgetSymbol(n);if(t!=null){if(t.input=="."){t.invisible=true}n=LMremoveCharsAndBlanks(n,t.input.length)}}d=LMparseExpr(n,true,false);if(t==null||(typeof t.invisible=="boolean"&&t.invisible)){m=createMmlNode("mrow",d[0])}else{m=createMmlNode("mo",document.createTextNode(t.output));m=createMmlNode("mrow",m);m.appendChild(d[0])}return[m,d[1],d[2]];case MATRIX:if(t.input=="\\begin{array}"){var s="";t=LMgetSymbol(n);n=LMremoveCharsAndBlanks(n,0);if(t==null){s="l"}else{n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="{"){s="l"}else{do{t=LMgetSymbol(n);if(t!=null){n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="}"){s=s+t.input}}}while(t!=null&&t.input!=""&&t.input!="}")}}d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);s=s.replace(/l/g,"left ");s=s.replace(/r/g,"right ");s=s.replace(/c/g,"center ");m.setAttribute("columnalign",s);m.setAttribute("displaystyle","false");if(isIE){return[m,d[1],null]}var k=createMmlNode("mspace");k.setAttribute("width","0.167em");var p=createMmlNode("mspace");p.setAttribute("width","0.167em");var c=createMmlNode("mrow",k);c.appendChild(m);c.appendChild(p);return[c,d[1],null]}else{d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);if(isIE){m.setAttribute("columnspacing","0.25em")}else{m.setAttribute("columnspacing","0.167em")}m.setAttribute("columnalign","right center left");m.setAttribute("displaystyle","true");m=createMmlNode("mrow",m);return[m,d[1],null]}case TEXT:if(n.charAt(0)=="{"){r=n.indexOf("}")}else{r=0}if(r==-1){r=n.length}o=n.slice(1,r);if(o.charAt(0)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}l.appendChild(createMmlNode(t.tag,document.createTextNode(o)));if(o.charAt(o.length-1)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}n=LMremoveCharsAndBlanks(n,r+1);return[createMmlNode("mrow",l),n,null];case UNARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode(t.tag,document.createTextNode(t.output)),n]}if(typeof t.func=="boolean"&&t.func){o=n.charAt(0);if(o=="^"||o=="_"||o==","){return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}else{m=createMmlNode("mrow",createMmlNode(t.tag,document.createTextNode(t.output)));if(isIE){var v=createMmlNode("mspace");v.setAttribute("width","0.167em");m.appendChild(v)}m.appendChild(d[0]);return[m,d[1],t.tag]}}if(t.input=="\\sqrt"){if(isIE){var v=createMmlNode("mspace");v.setAttribute("height","1.2ex");v.setAttribute("width","0em");m=createMmlNode(t.tag,d[0]);m.appendChild(v);return[m,d[1],t.tag]}else{return[createMmlNode(t.tag,d[0]),d[1],t.tag]}}else{if(typeof t.acc=="boolean"&&t.acc){m=createMmlNode(t.tag,d[0]);var g=t.output;if(isIE){if(t.input=="\\hat"){g="\u0302"}else{if(t.input=="\\widehat"){g="\u005E"}else{if(t.input=="\\bar"){g="\u00AF"}else{if(t.input=="\\grave"){g="\u0300"}else{if(t.input=="\\tilde"){g="\u0303"}}}}}}var c=createMmlNode("mo",document.createTextNode(g));if(t.input=="\\vec"||t.input=="\\check"){c.setAttribute("maxsize","1.2")}if(isIE&&t.input=="\\bar"){c.setAttribute("maxsize","0.5")}if(t.input=="\\underbrace"||t.input=="\\underline"){c.setAttribute("accentunder","true")}else{c.setAttribute("accent","true")}m.appendChild(c);if(t.input=="\\overbrace"||t.input=="\\underbrace"){m.ttype=UNDEROVER}return[m,d[1],t.tag]}else{if(!isIE&&typeof t.codes!="undefined"){for(r=0;r<d[0].childNodes.length;r++){if(d[0].childNodes[r].nodeName=="mi"||d[0].nodeName=="mi"){o=(d[0].nodeName=="mi"?d[0].firstChild.nodeValue:d[0].childNodes[r].firstChild.nodeValue);var h=[];for(var q=0;q<o.length;q++){if(o.charCodeAt(q)>64&&o.charCodeAt(q)<91){h=h+String.fromCharCode(t.codes[o.charCodeAt(q)-65])}else{h=h+o.charAt(q)}}if(d[0].nodeName=="mi"){d[0]=createMmlNode("mo").appendChild(document.createTextNode(h))}else{d[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(h)),d[0].childNodes[r])}}}}m=createMmlNode(t.tag,d[0]);m.setAttribute(t.atname,t.atval);if(t.input=="\\scriptstyle"||t.input=="\\scriptscriptstyle"){m.setAttribute("displaystyle","false")}return[m,d[1],t.tag]}}case BINARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}a=LMparseSexpr(d[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}if(t.input=="\\root"||t.input=="\\stackrel"){l.appendChild(a[0])}l.appendChild(d[0]);if(t.input=="\\frac"){l.appendChild(a[0])}return[createMmlNode(t.tag,l),a[1],t.tag];case INFIX:n=LMremoveCharsAndBlanks(n,t.input.length);return[createMmlNode("mo",document.createTextNode(t.output)),n,t.tag];default:return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}}function LMparseIexpr(g){var f,d,b,c,h,k,j;g=LMremoveCharsAndBlanks(g,0);d=LMgetSymbol(g);h=LMparseSexpr(g);c=h[0];g=h[1];k=h[2];f=LMgetSymbol(g);if(f.ttype==INFIX){g=LMremoveCharsAndBlanks(g,f.input.length);h=LMparseSexpr(g);if(h[0]==null){h[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}g=h[1];k=h[2];if(f.input=="_"||f.input=="^"){b=LMgetSymbol(g);k=null;j=((d.ttype==UNDEROVER)||(c.ttype==UNDEROVER));if(f.input=="_"&&b.input=="^"){g=LMremoveCharsAndBlanks(g,b.input.length);var a=LMparseSexpr(g);g=a[1];k=a[2];c=createMmlNode((j?"munderover":"msubsup"),c);c.appendChild(h[0]);c.appendChild(a[0])}else{if(f.input=="_"){c=createMmlNode((j?"munder":"msub"),c);c.appendChild(h[0])}else{c=createMmlNode((j?"mover":"msup"),c);c.appendChild(h[0])}}c=createMmlNode("mrow",c)}else{c=createMmlNode(f.tag,c);if(f.input=="\\atop"||f.input=="\\choose"){c.setAttribute("linethickness","0ex")}c.appendChild(h[0]);if(f.input=="\\choose"){c=createMmlNode("mfenced",c)}}}return[c,g,k]}function LMparseExpr(o,p,v){var w,l,a,s,z,f=document.createDocumentFragment();do{o=LMremoveCharsAndBlanks(o,0);a=LMparseIexpr(o);l=a[0];o=a[1];z=a[2];w=LMgetSymbol(o);if(l!=undefined){if((z=="mn"||z=="mi")&&w!=null&&typeof w.func=="bo... [truncated message content] |
From: <pb...@fe...> - 2012-12-17 09:21:49
|
Author: pboy Date: 2012-12-17 09:21:25 +0000 (Mon, 17 Dec 2012) New Revision: 2403 Added: releases/2.0.0/ccm-cms/web/templates/ccm-cms/content-section/admin/image_select.jsp releases/2.0.0/ccm-core/web/assets/fancybox/ releases/2.0.0/ccm-core/web/assets/fancybox/blank.gif releases/2.0.0/ccm-core/web/assets/fancybox/fancy_close.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_loading.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_nav_left.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_nav_right.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_e.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_n.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_ne.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_nw.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_s.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_se.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_sw.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_shadow_w.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_title_left.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_title_main.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_title_over.png releases/2.0.0/ccm-core/web/assets/fancybox/fancy_title_right.png releases/2.0.0/ccm-core/web/assets/fancybox/fancybox-x.png releases/2.0.0/ccm-core/web/assets/fancybox/fancybox-y.png releases/2.0.0/ccm-core/web/assets/fancybox/fancybox.png releases/2.0.0/ccm-core/web/assets/fancybox/jquery.easing.pack.js releases/2.0.0/ccm-core/web/assets/fancybox/jquery.fancybox-1.3.4.css releases/2.0.0/ccm-core/web/assets/fancybox/jquery.fancybox.js releases/2.0.0/ccm-core/web/assets/fancybox/jquery.fancybox.pack.js releases/2.0.0/ccm-core/web/assets/fancybox/jquery.mousewheel.pack.js releases/2.0.0/ccm-core/web/assets/jquery.js Removed: releases/2.0.0/ccm-cms/web/assets/jquery.js Modified: releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStep.java releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepDisplay.java releases/2.0.0/ccm-cms-assets-imagestep/src/com/arsdigita/cms/contentassets/ui/ImageStepEdit.java releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js Log: Backport of OpenCCM Xinha plugin, fancybox, jquery (r2397). (on behalf of quasimodo) Deleted: releases/2.0.0/ccm-cms/web/assets/jquery.js =================================================================== --- releases/2.0.0/ccm-cms/web/assets/jquery.js 2012-12-17 09:14:32 UTC (rev 2402) +++ releases/2.0.0/ccm-cms/web/assets/jquery.js 2012-12-17 09:21:25 UTC (rev 2403) @@ -1,4 +0,0 @@ -/*! jQuery v1.7.2 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p; for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e +"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b]; if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"? c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a ,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for( c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return th is;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArra y:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=a rguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.a ttachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace( q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:func tion(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){v ar d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b )},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.s hift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progr ess:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=ar guments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.ge tAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name"," t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr>< td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g. style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].dat a)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a !==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function( ){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this. each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.e ach(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.val Hooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j! ==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:fu nction(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a ,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.op tSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,gu id:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p .remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArr ay(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(ar guments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c); return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if( !(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.cont ains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this. _just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c! ="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||" **",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):thi s.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[] ,d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t] !=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k= o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u 00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++) {c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&& (" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){re turn a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toL owerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i, j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f=== "$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compa reDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter. ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagNam e(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute... [truncated message content] |
From: <pb...@fe...> - 2012-12-17 09:14:40
|
Author: pboy Date: 2012-12-17 09:14:32 +0000 (Mon, 17 Dec 2012) New Revision: 2402 Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java Log: Backport of r2396 (fixed German umlaut) (on behalf of JensP) Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java =================================================================== --- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java 2012-12-17 09:12:25 UTC (rev 2401) +++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java 2012-12-17 09:14:32 UTC (rev 2402) @@ -274,11 +274,11 @@ /* * if (request.getCharacterEncoding() == null) { */ - try { - request.setCharacterEncoding("UTF-8"); - } catch (UnsupportedEncodingException ex) { - logger.error(ex); - } +// try { +// request.setCharacterEncoding("UTF-8"); +// } catch (UnsupportedEncodingException ex) { +// logger.error(ex); +// } //} for (Map.Entry<String, Filter> filterEntry : filters.entrySet()) { |
From: <pb...@fe...> - 2012-12-17 09:12:33
|
Author: pboy Date: 2012-12-17 09:12:25 +0000 (Mon, 17 Dec 2012) New Revision: 2401 Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java Log: Backport of r2395 (on behalf of JensP) Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java =================================================================== --- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java 2012-12-17 09:06:50 UTC (rev 2400) +++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java 2012-12-17 09:12:25 UTC (rev 2401) @@ -1,5 +1,6 @@ package com.arsdigita.navigation.ui.object; +import com.arsdigita.globalization.Globalization; import com.arsdigita.navigation.Navigation; import com.arsdigita.persistence.DataCollection; import com.arsdigita.xml.Element; @@ -281,7 +282,7 @@ //} for (Map.Entry<String, Filter> filterEntry : filters.entrySet()) { - String value = request.getParameter(filterEntry.getKey()); + String value = Globalization.decodeParameter(request, filterEntry.getKey());; if ((value != null) && !value.isEmpty()) { filterEntry.getValue().setValue(value); |
From: <pb...@fe...> - 2012-12-17 09:07:01
|
Author: pboy Date: 2012-12-17 09:06:50 +0000 (Mon, 17 Dec 2012) New Revision: 2400 Added: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java Removed: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultPane.java Modified: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js Log: ImageSelectResultComponment: Fixed Javascript, added missing class; OpenCCM Xinha plugin: Preview works now, (on behalf of quasimodo) Added: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java (rev 0) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java 2012-12-17 09:06:50 UTC (rev 2400) @@ -0,0 +1,86 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.arsdigita.cms.ui; + +import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.Resettable; +import com.arsdigita.bebop.SimpleContainer; +import com.arsdigita.cms.ImageAsset; +import com.arsdigita.cms.Service; +import com.arsdigita.web.URL; +import com.arsdigita.xml.Element; + +/** + * A component which will insert a javascript to the xml output with the + * image information for the OpenCCM plugin for Xinha editor. + * + * @author Sören Bernstein (quasimodo) <sbe...@ze...> + */ +public class ImageSelectResultComponent extends SimpleContainer implements Resettable { + + boolean m_valid = false; + ImageAsset m_image; + + public ImageSelectResultComponent() { + super(); + } + + /** + * Save image imformation + * + * @param iamge an {@link ImageAsset} + */ + public void setResult(final ImageAsset image/*, final String name, final BigDecimal id, final BigDecimal width, final BigDecimal height*/) { + m_image = image; + m_valid = (m_image != null); + } + + @Override + public void generateXML(PageState state, Element parent) { + + Element scriptElem = parent.newChildElement("script"); + scriptElem.addAttribute("type", "text/javascript"); + + StringBuilder script = new StringBuilder(1000); + + script.append("function selectImage(button) {"); + if (m_valid) { + + script.append("if(button.id == \"save\" ) {"); + + script.append("window.opener.openCCM.imageSet({"); + script.append(" src : \""); + script.append(URL.getDispatcherPath()); + script.append(Service.getImageURL(m_image)); + script.append("\", "); + script.append(" name : \""); + script.append(m_image.getDisplayName()); + script.append("\", "); + script.append(" width : \""); + script.append(m_image.getWidth()); + script.append("\", "); + script.append(" height : \""); + script.append(m_image.getHeight()); + script.append("\""); + script.append("});"); + script.append("}"); + + script.append("self.close();"); + + } + script.append("return false;"); + script.append("}"); + scriptElem.setText(script.toString()); + } + + /** + * Reset this component. + * + * @param state Page state + */ + public void reset(PageState state) { + setResult(null); + } +} Deleted: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultPane.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultPane.java 2012-12-17 08:45:13 UTC (rev 2399) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultPane.java 2012-12-17 09:06:50 UTC (rev 2400) @@ -1,81 +0,0 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ -package com.arsdigita.cms.ui; - -import com.arsdigita.bebop.PageState; -import com.arsdigita.bebop.Resettable; -import com.arsdigita.bebop.SimpleContainer; -import com.arsdigita.xml.Element; -import java.math.BigDecimal; - -/** - * - * @author Sören Bernstein (quasimodo) <sbe...@ze...> - */ -public class ImageSelectResultPane extends SimpleContainer implements Resettable { - - boolean m_valid = false; - String m_name; - BigDecimal m_id; - BigDecimal m_width; - BigDecimal m_height; - - public ImageSelectResultPane() { - super(); - } - - public void setResult(final String name, final BigDecimal id, final BigDecimal width, final BigDecimal height) { - m_name = name; - m_id = id; - m_width = width; - m_height = height; - m_valid = true; - } - - @Override - public void generateXML(PageState state, Element parent) { - - Element scriptElem = parent.newChildElement("script"); - scriptElem.addAttribute("type", "text/javascript"); - - StringBuilder script = new StringBuilder(1000); - - script.append("function selectImage(button) {"); - if (m_valid) { - - script.append("if(button.id == \"save\" ) {"); - - script.append("window.opener.openCCM.imageSet({"); - script.append(" src : \"/ccm/cms-service/stream/image/?image_id="); - script.append(m_id); - script.append("\", "); - script.append(" name : \""); - script.append(m_name); - script.append("\", "); - script.append(" width : \""); - script.append(m_width); - script.append("\", "); - script.append(" height : \""); - script.append(m_height); - script.append("\""); - script.append("});"); - script.append("}"); - - script.append("self.close();"); - - } - script.append("return false;"); - script.append("}"); - scriptElem.setText(script.toString()); - } - - public void reset(PageState state) { - m_name = null; - m_id = null; - m_width = null; - m_height = null; - m_valid = false; - } -} Modified: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html =================================================================== --- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-17 08:45:13 UTC (rev 2399) +++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-17 09:06:50 UTC (rev 2400) @@ -111,7 +111,7 @@ --> <input type="hidden" name="[src]" id="[src]"/> - <fieldset> + <fieldset id="[layout]"> <legend> <l10n>Layout</l10n> </legend> @@ -146,7 +146,7 @@ </div> </fieldset> - <fieldset> + <fieldset id="[dimensions]"> <legend> <l10n>Dimension</l10n> </legend> Modified: releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js =================================================================== --- releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-17 08:45:13 UTC (rev 2399) +++ releases/2.0.0/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-17 09:06:50 UTC (rev 2400) @@ -87,14 +87,7 @@ // OnResize this.dialogs["images"].onresize = function () { - var newHeightForPreview = - parseInt(this.height, 10) -// - this.getElementById("h1").offsetHeight -// - this.getElementById("buttons").offsetHeight -// - this.getElementById("inputs").offsetHeight - - parseInt(this.rootElem.style.paddingBottom, 10); - this.getElementById("preview").style.height = ((newHeightForPreview > 0) ? newHeightForPreview : 0) + "px"; - this.getElementById("preview").style.width = "98%"; + self.resizePreview(this); }; this.imageDialogReady = true; @@ -299,19 +292,32 @@ OpenCCM.prototype.imageSet = function(imageData) { - var dialog = this.dialogs["images"]; + var dialog = this.dialogs["images"] dialog.getElementById(dialog.id["src"]).value = imageData.src; dialog.getElementById(dialog.id["ipreview"]).src = imageData.src; dialog.getElementById(dialog.id["width"]).value = imageData.width; dialog.getElementById(dialog.id["height"]).value = imageData.height; dialog.getElementById(dialog.id["name"]).value = imageData.name; dialog.getElementById(dialog.id["aspect"]).value = dialog.getElementById(dialog.id["width"]).value / dialog.getElementById(dialog.id["height"]).value; + + this.resizePreview(dialog); + if(imageData.src != "") { dialog.getElementById(dialog.id["preview"]).style.display = "block"; + } else { + dialog.getElementById(dialog.id["preview"]).style.display = "none"; } }; +OpenCCM.prototype.resizePreview = function(dialog) { + var aspect = dialog.getElementById(dialog.id["aspect"]).value; + var previewWidth = dialog.width - 22; + + dialog.getElementById(dialog.id["ipreview"]).style.height = Math.round(previewWidth / aspect) + "px"; + dialog.getElementById(dialog.id["ipreview"]).style.width = previewWidth + "px"; +}; + OpenCCM.prototype.calcWidth = function() { var dialog = this.dialogs["images"]; |
Author: pboy Date: 2012-12-17 08:45:13 +0000 (Mon, 17 Dec 2012) New Revision: 2399 Modified: releases/2.0.0/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java Log: Backport trunk revision r2389, r2393 (super.validate for classes inheriting from BasicPageForm) (on behalf of JensP) Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -149,6 +149,9 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { + //Calling super.validate(e) here causes an exception because the super method checks things which not available + //here. + final PageState state = e.getPageState(); final FormData data = e.getFormData(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -179,6 +179,9 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { + //Calling super.validate(e) here causes an exception because the super method checks things which not available + //here. + final PageState state = e.getPageState(); final FormData data = e.getFormData(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -125,8 +125,10 @@ } @Override - public void validate(final FormSectionEvent fse) - throws FormProcessException { + public void validate(final FormSectionEvent fse) throws FormProcessException { + //We don't call super.validate(fse) here because the super method checks for things which are not available + //here, causing an exception. + final PageState state = fse.getPageState(); final FormData data = fse.getFormData(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -72,7 +72,11 @@ } } - // Validate: ensure name uniqueness + /** + * Ensure name uniqueness. Note: We can't call {@code super.validate(FormSectionEvent)} here + * because the super method {@link BasicPageForm#validate(com.arsdigita.bebop.event.FormSectionEvent)} tries + * to access things which on existing yet. + */ @Override public void validate(FormSectionEvent e) throws FormProcessException { Folder f = m_parent.getFolder(e.getPageState()); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -34,7 +34,6 @@ import com.arsdigita.cms.util.GlobalizationUtil; import com.arsdigita.util.Assert; import java.util.Date; - import org.apache.log4j.Logger; /** @@ -48,8 +47,6 @@ public class PageCreate extends BasicPageForm implements FormSubmissionListener, CreationComponent { - private static final Logger s_log = Logger.getLogger(PageCreate.class); - protected final CreationSelector m_parent; protected ApplyWorkflowFormSection m_workflowSection; @@ -105,13 +102,17 @@ return m_workflowSection; } - // Init: create a new item id + /** create a new item id + * + */ public void init(FormSectionEvent e) throws FormProcessException { // this is currently a no-op } - // Submission: If the Cancel button was pressed, hide self and - // show the display component + /** + * If the Cancel button was pressed, hide self and + * show the display component + */ public void submitted(FormSectionEvent e) throws FormProcessException { PageState state = e.getPageState(); @@ -124,12 +125,18 @@ } } - // Validate: ensure name uniqueness + /** + * Validate inputs to ensure name uniqueness. Note: We can't call {@code super.validate(FormSectionEvent)} here + * because the super method {@link BasicPageForm#validate(com.arsdigita.bebop.event.FormSectionEvent)} tries + * to access things which on existing yet. + * + * @param event + */ @Override - public void validate(FormSectionEvent e) throws FormProcessException { - Folder f = m_parent.getFolder(e.getPageState()); - Assert.exists(f); - validateNameUniqueness(f, e); + public void validate(final FormSectionEvent event) throws FormProcessException { + final Folder folder = m_parent.getFolder(event.getPageState()); + Assert.exists(folder); + validateNameUniqueness(folder, event); } // Process: save fields to the database Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -135,6 +135,8 @@ } public void validate(FormSectionEvent event) throws FormProcessException { + super.validate(event); + PageState state = event.getPageState(); FormData data = event.getFormData(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -582,6 +582,8 @@ * confirms this was the same item to be edited */ public void validate(FormSectionEvent event) throws FormProcessException { + super.validate(event); + PageState state = event.getPageState(); FormData data = event.getFormData(); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -18,7 +18,6 @@ */ package com.arsdigita.cms.ui.templates; - import com.arsdigita.bebop.FormData; import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.Label; @@ -133,7 +132,8 @@ } public void validate(FormSectionEvent event) throws FormProcessException { - super.validate(event); + //Calling super.validate(e) here causes an exception because the super method checks things which not available + //here. PageState state = event.getPageState(); FormData data = event.getFormData(); @@ -155,6 +155,6 @@ Assert.exists(t); return t; } + } - } Modified: releases/2.0.0/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java =================================================================== --- releases/2.0.0/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java 2012-12-17 08:13:51 UTC (rev 2398) +++ releases/2.0.0/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java 2012-12-17 08:45:13 UTC (rev 2399) @@ -206,6 +206,8 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { + super.validate(e); + FormData d = e.getFormData(); } |
From: <pb...@fe...> - 2012-12-17 08:14:09
|
Author: pboy Date: 2012-12-17 08:13:51 +0000 (Mon, 17 Dec 2012) New Revision: 2398 Modified: trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js Log: Addition to r2397, fixed equation plugin. (on behalf of quasimodo) Modified: trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js =================================================================== --- trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 08:11:01 UTC (rev 2397) +++ trunk/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js 2012-12-17 08:13:51 UTC (rev 2398) @@ -1,2 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -var mathcolor="blue";var mathfontsize="1em";var mathfontfamily="serif";var automathrecognize=false;var checkForMathML=true;var notifyIfNoMathML=true;var alertIfNoMathML=false;var translateOnLoad=true;var translateLaTeX=true;var translateLaTeXformatting=true;var translateASCIIMath=true;var translateASCIIsvg=true;var avoidinnerHTML=false;var displaystyle=true;var showasciiformulaonhover=true;var decimalsign=".";var AMdelimiter1="`",AMescape1="\\\\`";var AMdocumentId="wikitext";var checkforprocessasciimathinmoodle=false;var dsvglocation="";var isIE=document.createElementNS==null;var noMathML=false,translated=false;if(isIE){document.write('<object id="mathplayer" classid="clsid:32F66A20-7614-11D4-BD11-00104BD3F987"></object>');document.write('<?import namespace="m" implementation="#mathplayer"?>')}function setStylesheet(a){var c="AMMLcustomStyleSheet";var b=document.getElementById(c);if(document.createStyleSheet){if(b){b.parentNode.removeChild(b)}document.getElementsByTagName(" head")[0].insertAdjacentHTML("beforeEnd"," <style id='"+c+"'>"+a+"</style>")}else{if(b){b.replaceChild(document.createTextNode(a),b.firstChild)}else{b=document.createElement("style");b.type="text/css";b.id=c;b.appendChild(document.createTextNode(a));document.getElementsByTagName("head")[0].appendChild(b)}}}setStylesheet("#AMMLcloseDiv {font-size:0.8em; padding-top:1em; color:#014}\n#AMMLwarningBox {position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30}");function init(){var b,a=new Array();if(document.getElementById==null){alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer");return null}if(checkForMathML&&(b=checkMathML())){a.push(b)}if(checkIfSVGavailable&&(b=checkSVG())){a.push(b)}if(a.length>0){displayWarnings(a)}if(!noMathML){initSymbols()}return true}function checkMat hML(){if(navigator.appName.slice(0,8)=="Netscape"){if(navigator.appVersion.slice(0,1)>="5"){noMathML=null}else{noMathML=true}}else{if(navigator.appName.slice(0,9)=="Microsoft"){try{var c=new ActiveXObject("MathPlayer.Factory.1");noMathML=null}catch(a){noMathML=true}}else{if(navigator.appName.slice(0,5)=="Opera"){if(navigator.appVersion.slice(0,3)>="9.5"){noMathML=null}else{noMathML=true}}}}if(noMathML&¬ifyIfNoMathML){var b="To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.";if(alertIfNoMathML){alert(b)}else{return b}}}function hideWarning(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("AMMLwarningBox"));a.onclick=null}function displayWarnings(b){var c,g,f=createElementXHTML("div");var a=document.getElementsByTagName("body")[0];a.onclick=hideWarning;f.id="AMMLwarningBox";for(c=0;c<b.length;c++){g=createElementXHTML("div");g.appendChild(document.createTextNode(b[c]));g.style.paddingBo ttom="1.0em";f.appendChild(g)}f.appendChild(createElementXHTML("p"));f.appendChild(document.createTextNode("For instructions see the "));var d=createElementXHTML("a");d.appendChild(document.createTextNode("ASCIIMathML"));d.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html");f.appendChild(d);f.appendChild(document.createTextNode(" homepage"));d=createElementXHTML("div");d.id="AMMLcloseDiv";d.appendChild(document.createTextNode("(click anywhere to close this warning)"));f.appendChild(d);var a=document.getElementsByTagName("body")[0];a.insertBefore(f,a.childNodes[0])}function translate(b){if(!translated){translated=true;var a=document.getElementsByTagName("body")[0];var c=document.getElementById(AMdocumentId);if(translateLaTeX){LMprocessNode((c!=null?c:a))}if(translateASCIIMath){AMprocessNode((c!=null?c:a),false,b)}}}function createElementXHTML(a){if(isIE){return document.createElement(a)}else{return document.createElementNS("http://www.w3.org/1999/xhtml",a)}}f unction createMmlNode(a,c){if(isIE){var b=document.createElement("m:"+a)}else{var b=document.createElementNS("http://www.w3.org/1998/Math/MathML",a)}if(c){b.appendChild(c)}return b}var AMcal=[61237,8492,61238,61239,8496,8497,61240,8459,8464,61241,61242,8466,8499,61243,61244,61245,61246,8475,61247,61248,61249,61250,61251,61252,61253,61254];var AMfrk=[61277,61278,8493,61279,61280,61281,61282,8460,8465,61283,61284,61285,61286,61287,61288,61289,61290,8476,61291,61292,61293,61294,61295,61296,61297,8488];var AMbbb=[61324,61325,8450,61326,61327,61328,61329,8461,61330,61331,61332,61333,61334,8469,61335,8473,8474,8477,61336,61337,61338,61339,61340,61341,61342,8484];var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10,BIG=11,LONG=12,STRETCHY=13,MATRIX=14;var AMquote={input:'"',tag:"mtext",output:"mbox",tex:null,ttype:TEXT};var AMsymbols=[{input:"alpha",tag:"mi",output:"\u03B1",tex:null,ttype:CONST},{input:"beta",tag:"mi ",output:"\u03B2",tex:null,ttype:CONST},{input:"chi",tag:"mi",output:"\u03C7",tex:null,ttype:CONST},{input:"delta",tag:"mi",output:"\u03B4",tex:null,ttype:CONST},{input:"Delta",tag:"mo",output:"\u0394",tex:null,ttype:CONST},{input:"epsi",tag:"mi",output:"\u03B5",tex:"epsilon",ttype:CONST},{input:"varepsilon",tag:"mi",output:"\u025B",tex:null,ttype:CONST},{input:"eta",tag:"mi",output:"\u03B7",tex:null,ttype:CONST},{input:"gamma",tag:"mi",output:"\u03B3",tex:null,ttype:CONST},{input:"Gamma",tag:"mo",output:"\u0393",tex:null,ttype:CONST},{input:"iota",tag:"mi",output:"\u03B9",tex:null,ttype:CONST},{input:"kappa",tag:"mi",output:"\u03BA",tex:null,ttype:CONST},{input:"lambda",tag:"mi",output:"\u03BB",tex:null,ttype:CONST},{input:"Lambda",tag:"mo",output:"\u039B",tex:null,ttype:CONST},{input:"mu",tag:"mi",output:"\u03BC",tex:null,ttype:CONST},{input:"nu",tag:"mi",output:"\u03BD",tex:null,ttype:CONST},{input:"omega",tag:"mi",output:"\u03C9",tex:null,ttype:CONST},{input:"Omega",tag: "mo",output:"\u03A9",tex:null,ttype:CONST},{input:"phi",tag:"mi",output:"\u03C6",tex:null,ttype:CONST},{input:"varphi",tag:"mi",output:"\u03D5",tex:null,ttype:CONST},{input:"Phi",tag:"mo",output:"\u03A6",tex:null,ttype:CONST},{input:"pi",tag:"mi",output:"\u03C0",tex:null,ttype:CONST},{input:"Pi",tag:"mo",output:"\u03A0",tex:null,ttype:CONST},{input:"psi",tag:"mi",output:"\u03C8",tex:null,ttype:CONST},{input:"Psi",tag:"mi",output:"\u03A8",tex:null,ttype:CONST},{input:"rho",tag:"mi",output:"\u03C1",tex:null,ttype:CONST},{input:"sigma",tag:"mi",output:"\u03C3",tex:null,ttype:CONST},{input:"Sigma",tag:"mo",output:"\u03A3",tex:null,ttype:CONST},{input:"tau",tag:"mi",output:"\u03C4",tex:null,ttype:CONST},{input:"theta",tag:"mi",output:"\u03B8",tex:null,ttype:CONST},{input:"vartheta",tag:"mi",output:"\u03D1",tex:null,ttype:CONST},{input:"Theta",tag:"mo",output:"\u0398",tex:null,ttype:CONST},{input:"upsilon",tag:"mi",output:"\u03C5",tex:null,ttype:CONST},{input:"xi",tag:"mi",output: "\u03BE",tex:null,ttype:CONST},{input:"Xi",tag:"mo",output:"\u039E",tex:null,ttype:CONST},{input:"zeta",tag:"mi",output:"\u03B6",tex:null,ttype:CONST},{input:"*",tag:"mo",output:"\u22C5",tex:"cdot",ttype:CONST},{input:"**",tag:"mo",output:"\u22C6",tex:"star",ttype:CONST},{input:"//",tag:"mo",output:"/",tex:null,ttype:CONST},{input:"\\\\",tag:"mo",output:"\\",tex:"backslash",ttype:CONST},{input:"setminus",tag:"mo",output:"\\",tex:null,ttype:CONST},{input:"xx",tag:"mo",output:"\u00D7",tex:"times",ttype:CONST},{input:"-:",tag:"mo",output:"\u00F7",tex:"divide",ttype:CONST},{input:"@",tag:"mo",output:"\u26AC",tex:"circ",ttype:CONST},{input:"o+",tag:"mo",output:"\u2295",tex:"oplus",ttype:CONST},{input:"ox",tag:"mo",output:"\u2297",tex:"otimes",ttype:CONST},{input:"o.",tag:"mo",output:"\u2299",tex:"odot",ttype:CONST},{input:"sum",tag:"mo",output:"\u2211",tex:null,ttype:UNDEROVER},{input:"prod",tag:"mo",output:"\u220F",tex:null,ttype:UNDEROVER},{input:"^^",tag:"mo",output:"\u2227",t ex:"wedge",ttype:CONST},{input:"^^^",tag:"mo",output:"\u22C0",tex:"bigwedge",ttype:UNDEROVER},{input:"vv",tag:"mo",output:"\u2228",tex:"vee",ttype:CONST},{input:"vvv",tag:"mo",output:"\u22C1",tex:"bigvee",ttype:UNDEROVER},{input:"nn",tag:"mo",output:"\u2229",tex:"cap",ttype:CONST},{input:"nnn",tag:"mo",output:"\u22C2",tex:"bigcap",ttype:UNDEROVER},{input:"uu",tag:"mo",output:"\u222A",tex:"cup",ttype:CONST},{input:"uuu",tag:"mo",output:"\u22C3",tex:"bigcup",ttype:UNDEROVER},{input:"!=",tag:"mo",output:"\u2260",tex:"ne",ttype:CONST},{input:":=",tag:"mo",output:":=",tex:null,ttype:CONST},{input:"lt",tag:"mo",output:"<",tex:null,ttype:CONST},{input:"<=",tag:"mo",output:"\u2264",tex:"le",ttype:CONST},{input:"lt=",tag:"mo",output:"\u2264",tex:"leq",ttype:CONST},{input:">=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227A",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227A",tex:n ull,ttype:CONST},{input:">-",tag:"mo",output:"\u227B",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2AAF",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2AB0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221D",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:" \u00AC",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21D2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21D4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22A5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22A4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22A2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22A8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:L EFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232A",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232A",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222B",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222E",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\u00B1",tex:"pm", ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221E",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\u00A0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\u00A0\u00A0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\u00A0\u00A0\u00A0\u00A0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22EF",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22EE",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22F1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22C4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25A1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230A",tex:"lfloor",ttype:CONST},{input:"__|",ta g:"mo",output:"\u230B",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211A",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211D",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:tru e},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",out put:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:">->",tag:"mo",output:"\u21A3",tex:"rightarrowtail",ttype:CONST},{input:"->>",tag:"mo",output:"\u21A0",tex:"twoheadrightarrow",ttype:CONST},{input:">->>",tag:"mo",output:"\u2916",tex:"twoheadrightarrowtail",ttype:CONST},{input:"|->",tag:"mo",output:"\u21A6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21D2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21D0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21D4",tex:"Leftrightarrow",ttype:CONST},{input:"sqrt",tag:"msqrt",output:"sqrt",tex:null, ttype:UNARY},{input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},{input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},{input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},{input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},{input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},{input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},{input:"hat",tag:"mover",output:"\u005E",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\u00AF",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},{input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},{input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atva l:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt", tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}];function compareNames(b,a){if(b.input>a.input){return 1}else{return -1}}var AMnames=[];function initSymbols(){var b=[],a;for(a=0;a<AMsymbols.length;a++){if(AMsymbols[a].tex){b[b.length]={input:AMsymbols[a].tex,tag:AMsymbols[a].tag,output:AMsymbols[a].output,ttype:AMsymbols[a].ttype}}}AMsymbols=AMsymbols.concat(b);refreshSymbols()}function refreshSymbols(){var a;AMsymbols.sort(compareNames);for(a=0;a<AMsymbols.length;a++){AMnames[a]=AMsymbols[a].input}LMsymbols.sort(compareNames);for(a=0;a<LMsymbols.length;a++){LMnames[a]=LMsymbols[a].input}}function define(b,a){if(b.substr(0,1)=="\\"){LMsymbols=LMsymbols.concat([{input:b,tag:"mo",output:a,ttype:DEFINITION}])}else{AMsymbols=AMsymbols.concat([{input:b,tag:"mo",output:a,tex:null,tt ype:DEFINITION}])}refreshSymbols()}function AMremoveCharsAndBlanks(c,d){var a;if(c.charAt(d)=="\\"&&c.charAt(d+1)!="\\"&&c.charAt(d+1)!=" "){a=c.slice(d+1)}else{a=c.slice(d)}for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function position(b,f,g){if(g==0){var d,a;g=-1;d=b.length;while(g+1<d){a=(g+d)>>1;if(b[a]<f){g=a}else{d=a}}return d}else{for(var c=g;c<b.length&&b[c]<f;c++){}}return c}function AMgetSymbol(h){var a=0;var b=0;var d;var m;var n;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){m=h.slice(0,c);b=a;a=position(AMnames,m,b);if(a<AMnames.length&&h.slice(0,AMnames[a].length)==AMnames[a]){f=AMnames[a];d=a;c=f.length}g=a<AMnames.length&&h.slice(0,AMnames[a].length)>=AMnames[a]}AMpreviousSymbol=AMcurrentSymbol;if(f!=""){AMcurrentSymbol=AMsymbols[d].ttype;return AMsymbols[d]}AMcurrentSymbol=CONST;a=1;m=h.slice(0,1);var l=true;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}if(m==decimalsign){m=h.slice(a,a+1);if("0"<=m&&m<="9"){l=false;a++ ;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}}}if((l&&a>1)||a>2){m=h.slice(0,a-1);n="mn"}else{a=2;m=h.slice(0,1);n=(("A">m||m>"Z")&&("a">m||m>"z")?"mo":"mi")}if(m=="-"&&AMpreviousSymbol==INFIX){AMcurrentSymbol=INFIX;return{input:m,tag:n,output:m,ttype:UNARY,func:true}}return{input:m,tag:n,output:m,ttype:CONST}}function AMremoveBrackets(b){var a;if(b.nodeName=="mrow"){a=b.firstChild.firstChild.nodeValue;if(a=="("||a=="["||a=="{"){b.removeChild(b.firstChild)}}if(b.nodeName=="mrow"){a=b.lastChild.firstChild.nodeValue;if(a==")"||a=="]"||a=="}"){b.removeChild(b.lastChild)}}}var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;function AMparseSexpr(h){var d,b,k,f,m,g=document.createDocumentFragment();h=AMremoveCharsAndBlanks(h,0);d=AMgetSymbol(h);if(d==null||d.ttype==RIGHTBRACKET&&AMnestingDepth>0){return[null,h]}if(d.ttype==DEFINITION){h=d.output+AMremoveCharsAndBlanks(h,d.input.length);d=AMgetSymbol(h)}switch(d.ttype){case UNDEROVER:case CONST:h=AMremoveCharsAndBlanks (h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h];case LEFTBRACKET:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,true);AMnestingDepth--;if(typeof d.invisible=="boolean"&&d.invisible){b=createMmlNode("mrow",k[0])}else{b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0])}return[b,k[1]];case TEXT:if(d!=AMquote){h=AMremoveCharsAndBlanks(h,d.input.length)}if(h.charAt(0)=="{"){f=h.indexOf("}")}else{if(h.charAt(0)=="("){f=h.indexOf(")")}else{if(h.charAt(0)=="["){f=h.indexOf("]")}else{if(d==AMquote){f=h.slice(1).indexOf('"')+1}else{f=0}}}}if(f==-1){f=h.length}m=h.slice(1,f);if(m.charAt(0)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}g.appendChild(createMmlNode(d.tag,document.createTextNode(m)));if(m.charAt(m.length-1)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}h=AMremoveCharsAndBlanks(h,f+1);return[crea teMmlNode("mrow",g),h];case UNARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}if(typeof d.func=="boolean"&&d.func){m=h.charAt(0);if(m=="^"||m=="_"||m=="/"||m=="|"||m==","){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}else{b=createMmlNode("mrow",createMmlNode(d.tag,document.createTextNode(d.output)));b.appendChild(k[0]);return[b,k[1]]}}AMremoveBrackets(k[0]);if(d.input=="sqrt"){return[createMmlNode(d.tag,k[0]),k[1]]}else{if(typeof d.acc=="boolean"&&d.acc){b=createMmlNode(d.tag,k[0]);b.appendChild(createMmlNode("mo",document.createTextNode(d.output)));return[b,k[1]]}else{if(!isIE&&typeof d.codes!="undefined"){for(f=0;f<k[0].childNodes.length;f++){if(k[0].childNodes[f].nodeName=="mi"||k[0].nodeName=="mi"){m=(k[0].nodeName=="mi"?k[0].firstChild.nodeValue:k[0].childNodes[f].firstChild.nodeValue);var l=[];for(var c=0;c<m.length;c++){if(m.charCodeAt(c)>64&&m.charCode At(c)<91){l=l+String.fromCharCode(d.codes[m.charCodeAt(c)-65])}else{l=l+m.charAt(c)}}if(k[0].nodeName=="mi"){k[0]=createMmlNode("mo").appendChild(document.createTextNode(l))}else{k[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(l)),k[0].childNodes[f])}}}}b=createMmlNode(d.tag,k[0]);b.setAttribute(d.atname,d.atval);return[b,k[1]]}}case BINARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(k[0]);var a=AMparseSexpr(k[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(a[0]);if(d.input=="root"||d.input=="stackrel"){g.appendChild(a[0])}g.appendChild(k[0]);if(d.input=="frac"){g.appendChild(a[0])}return[createMmlNode(d.tag,g),a[1]];case INFIX:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode("mo",document.createTextNode(d.output)),h];case SPACE:h=AMremoveCharsAndBlanks(h,d.input.length);b=c reateMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);g.appendChild(createMmlNode(d.tag,document.createTextNode(d.output)));b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);return[createMmlNode("mrow",g),h];case LEFTRIGHT:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,false);AMnestingDepth--;var m="";if(k[0].lastChild!=null){m=k[0].lastChild.firstChild.nodeValue}if(m=="|"){b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0]);return[b,k[1]]}else{b=createMmlNode("mo",document.createTextNode("\u2223"));b=createMmlNode("mrow",b);return[b,h]}default:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}}function AMparseIexpr(h){var a,j,g,d,f,b;h=AMremoveCharsAndBlanks(h,0);j=AMgetSymbol(h);f=AMparseSexpr(h);d=f[0];h=f[1];a=AMgetSymbol(h);if(a.ttype==INFIX&&a.input!="/"){h=AMremoveCharsAndBlanks(h,a.input.length );f=AMparseSexpr(h);if(f[0]==null){f[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(f[0])}h=f[1];if(a.input=="_"){g=AMgetSymbol(h);b=(j.ttype==UNDEROVER);if(g.input=="^"){h=AMremoveCharsAndBlanks(h,g.input.length);var c=AMparseSexpr(h);AMremoveBrackets(c[0]);h=c[1];d=createMmlNode((b?"munderover":"msubsup"),d);d.appendChild(f[0]);d.appendChild(c[0]);d=createMmlNode("mrow",d)}else{d=createMmlNode((b?"munder":"msub"),d);d.appendChild(f[0])}}else{d=createMmlNode(a.tag,d);d.appendChild(f[0])}}return[d,h]}function AMparseExpr(p,q){var x,o,a,t,z=[],g=document.createDocumentFragment();do{p=AMremoveCharsAndBlanks(p,0);a=AMparseIexpr(p);o=a[0];p=a[1];x=AMgetSymbol(p);if(x.ttype==INFIX&&x.input=="/"){p=AMremoveCharsAndBlanks(p,x.input.length);a=AMparseIexpr(p);if(a[0]==null){a[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(a[0])}p=a[1];AMremoveBrackets(o);o=createMmlNode(x.tag,o);o.appendChild(a[0]);g.appendChild(o);x=AMg etSymbol(p)}else{if(o!=undefined){g.appendChild(o)}}}while((x.ttype!=RIGHTBRACKET&&(x.ttype!=LEFTRIGHT||q)||AMnestingDepth==0)&&x!=null&&x.output!="");if(x.ttype==RIGHTBRACKET||x.ttype==LEFTRIGHT){var v=g.childNodes.length;if(v>0&&g.childNodes[v-1].nodeName=="mrow"&&v>1&&g.childNodes[v-2].nodeName=="mo"&&g.childNodes[v-2].firstChild.nodeValue==","){var A=g.childNodes[v-1].lastChild.firstChild.nodeValue;if(A==")"||A=="]"){var c=g.childNodes[v-1].firstChild.firstChild.nodeValue;if(c=="("&&A==")"&&x.output!="}"||c=="["&&A=="]"){var d=[];var w=true;var l=g.childNodes.length;for(t=0;w&&t<l;t=t+2){d[t]=[];o=g.childNodes[t];if(w){w=o.nodeName=="mrow"&&(t==l-1||o.nextSibling.nodeName=="mo"&&o.nextSibling.firstChild.nodeValue==",")&&o.firstChild.firstChild.nodeValue==c&&o.lastChild.firstChild.nodeValue==A}if(w){for(var s=0;s<o.childNodes.length;s++){if(o.childNodes[s].firstChild.nodeValue==","){d[t][d[t].length]=s}}}if(w&&t>1){w=d[t].length==d[t-2].length}}if(w){var f,b,h,r,y=documen t.createDocumentFragment();for(t=0;t<l;t=t+2){f=document.createDocumentFragment();b=document.createDocumentFragment();o=g.firstChild;h=o.childNodes.length;r=0;o.removeChild(o.firstChild);for(s=1;s<h-1;s++){if(typeof d[t][r]!="undefined"&&s==d[t][r]){o.removeChild(o.firstChild);f.appendChild(createMmlNode("mtd",b));r++}else{b.appendChild(o.firstChild)}}f.appendChild(createMmlNode("mtd",b));if(g.childNodes.length>2){g.removeChild(g.firstChild);g.removeChild(g.firstChild)}y.appendChild(createMmlNode("mtr",f))}o=createMmlNode("mtable",y);if(typeof x.invisible=="boolean"&&x.invisible){o.setAttribute("columnalign","left")}g.replaceChild(o,g.firstChild)}}}}p=AMremoveCharsAndBlanks(p,x.input.length);if(typeof x.invisible!="boolean"||!x.invisible){o=createMmlNode("mo",document.createTextNode(x.output));g.appendChild(o)}}return[g,p]}function parseMath(c,b){var d,a;AMnestingDepth=0;d=b?LMparseExpr(c.replace(/^\s+/g,""),false,false)[0]:AMparseExpr(c.replace(/^\s+/g,""),false)[0];a=creat eMmlNode("mstyle",d);a.setAttribute("mathcolor",mathcolor);a.setAttribute("fontfamily",mathfontfamily);a.setAttribute("mathsize",mathfontsize);if(displaystyle){a.setAttribute("displaystyle","true")}a=createMmlNode("math",a);if(showasciiformulaonhover){a.setAttribute("title",c.replace(/\s+/g," "))}return a}function strarr2docFrag(a,d,g){var k=document.createDocumentFragment();var h=false;for(var f=0;f<a.length;f++){if(h){k.appendChild(parseMath(a[f],g))}else{var b=(d?a[f].split("\n\n"):[a[f]]);k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[0])));for(var c=1;c<b.length;c++){k.appendChild(createElementXHTML("p"));k.appendChild(createElementXHTML("span").appendChild(document.createTextNode(b[c])))}}h=!h}return k}function AMautomathrec(m){var b="\\\\[a-zA-Z]+|\\\\\\s|";var k="\\b(?:oo|lim|ln|int|oint|del|grad|aleph|prod|prop|sinh|cosh|tanh|cos|sec|pi|tt|fr|sf|sube|supe|sub|sup|det|mod|gcd|lcm|min|max|vec|ddot|ul|chi|eta|nu|mu)(?![a-z])|";var l="\\b (?:sum|ox|log|sin|tan|dim|hat|bar|dot)(?![a-z])|";var g="|\\bI\\b|\\bin\\b|\\btext\\b";var a="NN|ZZ|QQ|RR|CC|TT|AA|EE|sqrt|dx|dy|dz|dt|xx|vv|uu|nn|bb|cc|csc|cot|alpha|beta|delta|Delta|epsilon|gamma|Gamma|kappa|lambda|Lambda|omega|phi|Phi|Pi|psi|Psi|rho|sigma|Sigma|tau|theta|Theta|xi|Xi|zeta";var j="[a-zA-HJ-Z](?=(?:[^a-zA-Z]|$|"+k+l+a+"))|";var c=j+b+"\\d+|[-()[\\]{}+=*&^_%\\@/<>,\\|!:;'~]|\\.(?!(?:\x20|$))|"+k+l+a;var n=new RegExp("(^|\\s)((("+c+")\\s?)(("+c+g+")\\s?)+)([,.?]?(?=\\s|$))","g");m=m.replace(n," `$2`$7");var f=m.split(AMdelimiter1);var h=new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+b+k+a+")(\\s|\\n|$)","g");var d=new RegExp("(^|\\s)([a-z]|"+b+k+a+")([,.])","g");for(i=0;i<f.length;i++){if(i%2==0){f[i]=f[i].replace(h," `$2`$3");f[i]=f[i].replace(d," `$2`$3");f[i]=f[i].replace(/([{}[\]])/,"`$1`")}}m=f.join(AMdelimiter1);m=m.replace(/((^|\s)\([a-zA-Z]{2,}.*?)\)`/g,"$1`)");m=m.replace(/`(\((a\s|in\s))(.*?[a-zA-Z]{2,}\))/g,"$1`$3");m=m.replace(/\sin`/g,"` in");m=m.replace(/ `(\(\w\)[,.]?(\s|\n|$))/g,"$1`");m=m.replace(/`([0-9.]+|e.g|i.e)`(\.?)/gi,"$1$2");m=m.replace(/`([0-9.]+:)`/g,"$1");return m}function processNodeR(c,h,b){var k,j,f,a,d;if(c.childNodes.length==0){if((c.nodeType!=8||h)&&c.parentNode.nodeName!="form"&&c.parentNode.nodeName!="FORM"&&c.parentNode.nodeName!="textarea"&&c.parentNode.nodeName!="TEXTAREA"){j=c.nodeValue;if(!(j==null)){j=j.replace(/\r\n\r\n/g,"\n\n");j=j.replace(/\x20+/g," ");j=j.replace(/\s*\r\n/g," ");if(b){k=(j.indexOf("$")==-1?false:true);j=j.replace(/([^\\])\$/g,"$1 $");j=j.replace(/^\$/," $");f=j.split(" $");for(d=0;d<f.length;d++){f[d]=f[d].replace(/\\\$/g,"$")}}else{k=false;j=j.replace(new RegExp(AMescape1,"g"),function(){k=true;return"AMescape1"});j=j.replace(/\\?end{?a?math}?/i,function(){automathrecognize=false;k=true;return""});j=j.replace(/amath\b|\\begin{a?math}/i,function(){automathrecognize=true;k=true;return""});f=j.split(AMdelimiter1);if(automathrecognize){for(d=0;d<f.length;d++){if(d%2==0){f[d]=AMau tomathrec(f[d])}}}j=f.join(AMdelimiter1);f=j.split(AMdelimiter1);for(d=0;d<f.length;d++){f[d]=f[d].replace(/AMescape1/g,AMdelimiter1)}}if(f.length>1||k){if(!noMathML){a=strarr2docFrag(f,c.nodeType==8,b);var g=a.childNodes.length;c.parentNode.replaceChild(a,c);return g-1}else{return 0}}}}else{return 0}}else{if(c.nodeName!="math"){for(d=0;d<c.childNodes.length;d++){d+=processNodeR(c.childNodes[d],h,b)}}}return 0}function AMprocessNode(h,c,a){var g,b;if(a!=null){g=document.getElementsByTagName("span");for(var d=0;d<g.length;d++){if(g[d].className=="AM"){processNodeR(g[d],c,false)}}}else{try{b=h.innerHTML}catch(f){}if(b==null||/amath\b|\\begin{a?math}/i.test(b)||b.indexOf(AMdelimiter1+" ")!=-1||b.slice(-1)==AMdelimiter1||b.indexOf(AMdelimiter1+"<")!=-1||b.indexOf(AMdelimiter1+"\n")!=-1){processNodeR(h,c,false)}}}var LMsymbols=[{input:"\\alpha",tag:"mi",output:"\u03B1",ttype:CONST},{input:"\\beta",tag:"mi",output:"\u03B2",ttype:CONST},{input:"\\gamma",tag:"mi",output:"\u03B3",tty pe:CONST},{input:"\\delta",tag:"mi",output:"\u03B4",ttype:CONST},{input:"\\epsilon",tag:"mi",output:"\u03B5",ttype:CONST},{input:"\\varepsilon",tag:"mi",output:"\u025B",ttype:CONST},{input:"\\zeta",tag:"mi",output:"\u03B6",ttype:CONST},{input:"\\eta",tag:"mi",output:"\u03B7",ttype:CONST},{input:"\\theta",tag:"mi",output:"\u03B8",ttype:CONST},{input:"\\vartheta",tag:"mi",output:"\u03D1",ttype:CONST},{input:"\\iota",tag:"mi",output:"\u03B9",ttype:CONST},{input:"\\kappa",tag:"mi",output:"\u03BA",ttype:CONST},{input:"\\lambda",tag:"mi",output:"\u03BB",ttype:CONST},{input:"\\mu",tag:"mi",output:"\u03BC",ttype:CONST},{input:"\\nu",tag:"mi",output:"\u03BD",ttype:CONST},{input:"\\xi",tag:"mi",output:"\u03BE",ttype:CONST},{input:"\\pi",tag:"mi",output:"\u03C0",ttype:CONST},{input:"\\varpi",tag:"mi",output:"\u03D6",ttype:CONST},{input:"\\rho",tag:"mi",output:"\u03C1",ttype:CONST},{input:"\\varrho",tag:"mi",output:"\u03F1",ttype:CONST},{input:"\\varsigma",tag:"mi",output:"\u03C2",ttype :CONST},{input:"\\sigma",tag:"mi",output:"\u03C3",ttype:CONST},{input:"\\tau",tag:"mi",output:"\u03C4",ttype:CONST},{input:"\\upsilon",tag:"mi",output:"\u03C5",ttype:CONST},{input:"\\phi",tag:"mi",output:"\u03C6",ttype:CONST},{input:"\\varphi",tag:"mi",output:"\u03D5",ttype:CONST},{input:"\\chi",tag:"mi",output:"\u03C7",ttype:CONST},{input:"\\psi",tag:"mi",output:"\u03C8",ttype:CONST},{input:"\\omega",tag:"mi",output:"\u03C9",ttype:CONST},{input:"\\Gamma",tag:"mo",output:"\u0393",ttype:CONST},{input:"\\Delta",tag:"mo",output:"\u0394",ttype:CONST},{input:"\\Theta",tag:"mo",output:"\u0398",ttype:CONST},{input:"\\Lambda",tag:"mo",output:"\u039B",ttype:CONST},{input:"\\Xi",tag:"mo",output:"\u039E",ttype:CONST},{input:"\\Pi",tag:"mo",output:"\u03A0",ttype:CONST},{input:"\\Sigma",tag:"mo",output:"\u03A3",ttype:CONST},{input:"\\Upsilon",tag:"mo",output:"\u03A5",ttype:CONST},{input:"\\Phi",tag:"mo",output:"\u03A6",ttype:CONST},{input:"\\Psi",tag:"mo",output:"\u03A8",ttype:CONST},{in put:"\\Omega",tag:"mo",output:"\u03A9",ttype:CONST},{input:"\\frac12",tag:"mo",output:"\u00BD",ttype:CONST},{input:"\\frac14",tag:"mo",output:"\u00BC",ttype:CONST},{input:"\\frac34",tag:"mo",output:"\u00BE",ttype:CONST},{input:"\\frac13",tag:"mo",output:"\u2153",ttype:CONST},{input:"\\frac23",tag:"mo",output:"\u2154",ttype:CONST},{input:"\\frac15",tag:"mo",output:"\u2155",ttype:CONST},{input:"\\frac25",tag:"mo",output:"\u2156",ttype:CONST},{input:"\\frac35",tag:"mo",output:"\u2157",ttype:CONST},{input:"\\frac45",tag:"mo",output:"\u2158",ttype:CONST},{input:"\\frac16",tag:"mo",output:"\u2159",ttype:CONST},{input:"\\frac56",tag:"mo",output:"\u215A",ttype:CONST},{input:"\\frac18",tag:"mo",output:"\u215B",ttype:CONST},{input:"\\frac38",tag:"mo",output:"\u215C",ttype:CONST},{input:"\\frac58",tag:"mo",output:"\u215D",ttype:CONST},{input:"\\frac78",tag:"mo",output:"\u215E",ttype:CONST},{input:"\\pm",tag:"mo",output:"\u00B1",ttype:CONST},{input:"\\mp",tag:"mo",output:"\u2213",ttype: CONST},{input:"\\triangleleft",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\triangleright",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\cdot",tag:"mo",output:"\u22C5",ttype:CONST},{input:"\\star",tag:"mo",output:"\u22C6",ttype:CONST},{input:"\\ast",tag:"mo",output:"\u002A",ttype:CONST},{input:"\\times",tag:"mo",output:"\u00D7",ttype:CONST},{input:"\\div",tag:"mo",output:"\u00F7",ttype:CONST},{input:"\\circ",tag:"mo",output:"\u2218",ttype:CONST},{input:"\\bullet",tag:"mo",output:"\u2022",ttype:CONST},{input:"\\oplus",tag:"mo",output:"\u2295",ttype:CONST},{input:"\\ominus",tag:"mo",output:"\u2296",ttype:CONST},{input:"\\otimes",tag:"mo",output:"\u2297",ttype:CONST},{input:"\\bigcirc",tag:"mo",output:"\u25CB",ttype:CONST},{input:"\\oslash",tag:"mo",output:"\u2298",ttype:CONST},{input:"\\odot",tag:"mo",output:"\u2299",ttype:CONST},{input:"\\land",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\wedge",tag:"mo",output:"\u2227",ttype:CONST},{input:"\\lor",tag:"mo",output:"\u2 228",ttype:CONST},{input:"\\vee",tag:"mo",output:"\u2228",ttype:CONST},{input:"\\cap",tag:"mo",output:"\u2229",ttype:CONST},{input:"\\cup",tag:"mo",output:"\u222A",ttype:CONST},{input:"\\sqcap",tag:"mo",output:"\u2293",ttype:CONST},{input:"\\sqcup",tag:"mo",output:"\u2294",ttype:CONST},{input:"\\uplus",tag:"mo",output:"\u228E",ttype:CONST},{input:"\\amalg",tag:"mo",output:"\u2210",ttype:CONST},{input:"\\bigtriangleup",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\bigtriangledown",tag:"mo",output:"\u25BD",ttype:CONST},{input:"\\dag",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\dagger",tag:"mo",output:"\u2020",ttype:CONST},{input:"\\ddag",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\ddagger",tag:"mo",output:"\u2021",ttype:CONST},{input:"\\lhd",tag:"mo",output:"\u22B2",ttype:CONST},{input:"\\rhd",tag:"mo",output:"\u22B3",ttype:CONST},{input:"\\unlhd",tag:"mo",output:"\u22B4",ttype:CONST},{input:"\\unrhd",tag:"mo",output:"\u22B5",ttype:CONST},{input:"\\sum",tag:"mo",outp ut:"\u2211",ttype:UNDEROVER},{input:"\\prod",tag:"mo",output:"\u220F",ttype:UNDEROVER},{input:"\\bigcap",tag:"mo",output:"\u22C2",ttype:UNDEROVER},{input:"\\bigcup",tag:"mo",output:"\u22C3",ttype:UNDEROVER},{input:"\\bigwedge",tag:"mo",output:"\u22C0",ttype:UNDEROVER},{input:"\\bigvee",tag:"mo",output:"\u22C1",ttype:UNDEROVER},{input:"\\bigsqcap",tag:"mo",output:"\u2A05",ttype:UNDEROVER},{input:"\\bigsqcup",tag:"mo",output:"\u2A06",ttype:UNDEROVER},{input:"\\coprod",tag:"mo",output:"\u2210",ttype:UNDEROVER},{input:"\\bigoplus",tag:"mo",output:"\u2A01",ttype:UNDEROVER},{input:"\\bigotimes",tag:"mo",output:"\u2A02",ttype:UNDEROVER},{input:"\\bigodot",tag:"mo",output:"\u2A00",ttype:UNDEROVER},{input:"\\biguplus",tag:"mo",output:"\u2A04",ttype:UNDEROVER},{input:"\\int",tag:"mo",output:"\u222B",ttype:CONST},{input:"\\oint",tag:"mo",output:"\u222E",ttype:CONST},{input:":=",tag:"mo",output:":=",ttype:CONST},{input:"\\lt",tag:"mo",output:"<",ttype:CONST},{input:"\\gt",tag:"mo",outpu t:">",ttype:CONST},{input:"\\ne",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\neq",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\le",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leq",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leqslant",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\ge",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geq",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geqslant",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\equiv",tag:"mo",output:"\u2261",ttype:CONST},{input:"\\ll",tag:"mo",output:"\u226A",ttype:CONST},{input:"\\gg",tag:"mo",output:"\u226B",ttype:CONST},{input:"\\doteq",tag:"mo",output:"\u2250",ttype:CONST},{input:"\\prec",tag:"mo",output:"\u227A",ttype:CONST},{input:"\\succ",tag:"mo",output:"\u227B",ttype:CONST},{input:"\\preceq",tag:"mo",output:"\u227C",ttype:CONST},{input:"\\succeq",tag:"mo",output:"\u227D",ttype:CONST},{input:"\\subset",tag:"mo",output:"\u2282",ttype:CONST},{input:"\\supset",tag:"mo",output:"\u2283",ttype: CONST},{input:"\\subseteq",tag:"mo",output:"\u2286",ttype:CONST},{input:"\\supseteq",tag:"mo",output:"\u2287",ttype:CONST},{input:"\\sqsubset",tag:"mo",output:"\u228F",ttype:CONST},{input:"\\sqsupset",tag:"mo",output:"\u2290",ttype:CONST},{input:"\\sqsubseteq",tag:"mo",output:"\u2291",ttype:CONST},{input:"\\sqsupseteq",tag:"mo",output:"\u2292",ttype:CONST},{input:"\\sim",tag:"mo",output:"\u223C",ttype:CONST},{input:"\\simeq",tag:"mo",output:"\u2243",ttype:CONST},{input:"\\approx",tag:"mo",output:"\u2248",ttype:CONST},{input:"\\cong",tag:"mo",output:"\u2245",ttype:CONST},{input:"\\Join",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\bowtie",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\in",tag:"mo",output:"\u2208",ttype:CONST},{input:"\\ni",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\owns",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\propto",tag:"mo",output:"\u221D",ttype:CONST},{input:"\\vdash",tag:"mo",output:"\u22A2",ttype:CONST},{input:"\\dashv",tag:"mo",output: "\u22A3",ttype:CONST},{input:"\\models",tag:"mo",output:"\u22A8",ttype:CONST},{input:"\\perp",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\smile",tag:"mo",output:"\u2323",ttype:CONST},{input:"\\frown",tag:"mo",output:"\u2322",ttype:CONST},{input:"\\asymp",tag:"mo",output:"\u224D",ttype:CONST},{input:"\\notin",tag:"mo",output:"\u2209",ttype:CONST},{input:"\\begin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\\begin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\\\\",output:"}&{",ttype:DEFINITION},{input:"\\end{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\\end{array}",output:"}}",ttype:DEFINITION},{input:"\\big",tag:"mo",output:"X",atval:"1.2",ieval:"2.2",ttype:BIG},{input:"\\Big",tag:"mo",output:"X",atval:"1.6",ieval:"2.6",ttype:BIG},{input:"\\bigg",tag:"mo",output:"X",atval:"2.2",ieval:"3.2",ttype:BIG},{input:"\\Bigg",tag:"mo",output:"X",atval:"2.9",ieval:"3.9",ttype:BIG},{input:"\\left",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\\right", tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\lbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\lbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\langle",tag:"mo",output:"\u2329",atval:"1",ttype:STRETCHY},{input:"\\lfloor",tag:"mo",output:"\u230A",atval:"1",ttype:STRETCHY},{input:"\\lceil",tag:"mo",output:"\u2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrace",tag:"mo",output:"}",rtag:"mi",atva l:"1",ttype:STRETCHY},{input:"\\rangle",tag:"mo",output:"\u232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rfloor",tag:"mo",output:"\u230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rceil",tag:"mo",output:"\u2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\|",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\vert",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\Vert",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\mid",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\parallel",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\\backslash",tag:"mo",output:"\u2216",atval:"1",ttype:STRETCHY},{input:"\\setminus",tag:"mo",output:"\\",ttype:CONST},{input:"\\!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\\,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input: "\\>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\\quad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\\qquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\\prime",tag:"mo",output:"\u2032",ttype:CONST},{input:"'",tag:"mo",output:"\u02B9",ttype:CONST},{input:"''",tag:"mo",output:"\u02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\u2034",ttype:CONST},{input:"''''",tag:"mo",output:"\u2057",ttype:CONST},{input:"\\ldots",tag:"mo",output:"\u2026",ttype:CONST},{input:"\\cdots",tag:"mo",output:"\u22EF",ttype:CONST},{input:"\\vdots",tag:"mo",output:"\u22EE",ttype:CONST},{input:"\\ddots",tag:"mo",output:"\u22F1",ttype:CONST},{input:"\\forall",tag:"mo",output:"\u2200",ttype:CONST},{input:"\\exists",tag:"mo",output:"\u2203",tty pe:CONST},{input:"\\Re",tag:"mo",output:"\u211C",ttype:CONST},{input:"\\Im",tag:"mo",output:"\u2111",ttype:CONST},{input:"\\aleph",tag:"mo",output:"\u2135",ttype:CONST},{input:"\\hbar",tag:"mo",output:"\u210F",ttype:CONST},{input:"\\ell",tag:"mo",output:"\u2113",ttype:CONST},{input:"\\wp",tag:"mo",output:"\u2118",ttype:CONST},{input:"\\emptyset",tag:"mo",output:"\u2205",ttype:CONST},{input:"\\infty",tag:"mo",output:"\u221E",ttype:CONST},{input:"\\surd",tag:"mo",output:"\\sqrt{}",ttype:DEFINITION},{input:"\\partial",tag:"mo",output:"\u2202",ttype:CONST},{input:"\\nabla",tag:"mo",output:"\u2207",ttype:CONST},{input:"\\triangle",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\therefore",tag:"mo",output:"\u2234",ttype:CONST},{input:"\\angle",tag:"mo",output:"\u2220",ttype:CONST},{input:"\\diamond",tag:"mo",output:"\u22C4",ttype:CONST},{input:"\\Diamond",tag:"mo",output:"\u25C7",ttype:CONST},{input:"\\neg",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\lnot",tag:"mo",output:"\u0 0AC",ttype:CONST},{input:"\\bot",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\top",tag:"mo",output:"\u22A4",ttype:CONST},{input:"\\square",tag:"mo",output:"\u25AB",ttype:CONST},{input:"\\Box",tag:"mo",output:"\u25A1",ttype:CONST},{input:"\\wr",tag:"mo",output:"\u2240",ttype:CONST},{input:"\\arccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\\arcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\\arctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\\arg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\\cos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\\cosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\\cot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\\coth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\\csc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\\deg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\\det",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\\dim",tag:"mi ",output:"dim",ttype:UNARY,func:true},{input:"\\exp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\\gcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\\hom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\\inf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\\ker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\\lg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\\lim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\\liminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\\limsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\\ln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\\log",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\\max",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\\min",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\\Pr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\\sec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\\sin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\\sinh",tag:" mi",output:"sinh",ttype:UNARY,func:true},{input:"\\sup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\\tan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\\tanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\\gets",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\leftarrow",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\to",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\rightarrow",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\leftrightarrow",tag:"mo",output:"\u2194",ttype:CONST},{input:"\\uparrow",tag:"mo",output:"\u2191",ttype:CONST},{input:"\\downarrow",tag:"mo",output:"\u2193",ttype:CONST},{input:"\\updownarrow",tag:"mo",output:"\u2195",ttype:CONST},{input:"\\Leftarrow",tag:"mo",output:"\u21D0",ttype:CONST},{input:"\\Rightarrow",tag:"mo",output:"\u21D2",ttype:CONST},{input:"\\Leftrightarrow",tag:"mo",output:"\u21D4",ttype:CONST},{input:"\\iff",tag:"mo",output:"~\\Longleftrightarrow~",ttype:DEFINITION},{input:"\\Uparrow",tag:"mo",output:"\u21D1",ttype :CONST},{input:"\\Downarrow",tag:"mo",output:"\u21D3",ttype:CONST},{input:"\\Updownarrow",tag:"mo",output:"\u21D5",ttype:CONST},{input:"\\mapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\longleftarrow",tag:"mo",output:"\u2190",ttype:LONG},{input:"\\longrightarrow",tag:"mo",output:"\u2192",ttype:LONG},{input:"\\longleftrightarrow",tag:"mo",output:"\u2194",ttype:LONG},{input:"\\Longleftarrow",tag:"mo",output:"\u21D0",ttype:LONG},{input:"\\Longrightarrow",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\implies",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\Longleftrightarrow",tag:"mo",output:"\u21D4",ttype:LONG},{input:"\\longmapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\sqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\\root",tag:"mroot",output:"root",ttype:BINARY},{input:"\\frac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\\stackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\\atop",tag:"mfrac",output:"",ttype:INFIX},{input:"\\choose",tag:"mfr ac",output:"",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\\mathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\\mbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\\acute",tag:"mover",output:"\u00B4",ttype:UNARY,acc:true},{input:"\\grave",tag:"mover",output:"\u0060",ttype:UNARY,acc:true},{input:"\\breve",tag:"mover",output:"\u02D8",ttype:UNARY,acc:true},{input:"\\check",tag:"mover",output:"\u02C7",ttype:UNARY,acc:true},{input:"\\dot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\\ddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\\mathring",tag:"mover",output:"\u00B0",ttype:UNARY,acc:true},{input:"\\vec",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overrightarrow",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overleftarrow",tag:"mover",output:"\u20D6",ttype:UNARY,acc:true},{input:"\\hat",tag:"mover",output:"\u005E",ttype:UNARY,acc:true},{input:"\\widehat", tag:"mover",output:"\u0302",ttype:UNARY,acc:true},{input:"\\tilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\\widetilde",tag:"mover",output:"\u02DC",ttype:UNARY,acc:true},{input:"\\bar",tag:"mover",output:"\u203E",ttype:UNARY,acc:true},{input:"\\overbrace",tag:"mover",output:"\u23B4",ttype:UNARY,acc:true},{input:"\\overline",tag:"mover",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\underbrace",tag:"munder",output:"\u23B5",ttype:UNARY,acc:true},{input:"\\underline",tag:"munder",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\\textrm",tag:"mstyle",output:"\\mathrm",ttype:DEFINITION},{input:"\\mathbf",tag:"mstyle",atname:"mathvariant",at val:"bold",ttype:UNARY},{input:"\\textbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\mathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\textit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\mathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\texttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\mathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\\mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:AMbbb},{input:"\\mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:AMcal},{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:AMfrk}];var LMnames=[];function LMremoveCharsAndBlanks(c,d){var a;a=c.slice(d);for(var b=0;b<a.length&&a.charCodeAt(b)<=32;b=b+1){}return a.slice(b)}function LMgetSymbol(h){var a=0;var b=0;var d;va r l;var m;var f="";var g=true;for(var c=1;c<=h.length&&g;c++){l=h.slice(0,c);b=a;a=position(LMnames,l,b);if(a<LMnames.length&&h.slice(0,LMnames[a].length)==LMnames[a]){f=LMnames[a];d=a;c=f.length}g=a<LMnames.length&&h.slice(0,LMnames[a].length)>=LMnames[a]}LMpreviousSymbol=LMcurrentSymbol;if(f!=""){LMcurrentSymbol=LMsymbols[d].ttype;return LMsymbols[d]}LMcurrentSymbol=CONST;a=1;l=h.slice(0,1);if("0"<=l&&l<="9"){m="mn"}else{m=(("A">l||l>"Z")&&("a">l||l>"z")?"mo":"mi")}return{input:l,tag:m,output:l,ttype:CONST}}var LMpreviousSymbol,LMcurrentSymbol;function LMparseSexpr(n){var t,m,d,a,r,o,l=document.createDocumentFragment();n=LMremoveCharsAndBlanks(n,0);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}if(t.ttype==DEFINITION){n=t.output+LMremoveCharsAndBlanks(n,t.input.length);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}}n=LMremoveCharsAndBlanks(n,t.input.length);switch(t.ttype){case SPACE:m=createMmlNode(t.tag);m.setAttribute(t .atname,t.atval);return[m,n,t.tag];case UNDEROVER:if(isIE){if(t.input.substr(0,4)=="\\big"){n="\\"+t.input.substr(4)+n;t=LMgetSymbol(n);t.ttype=UNDEROVER;n=LMremoveCharsAndBlanks(n,t.input.length)}}return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag];case CONST:var g=t.output;if(isIE){if(t.input=="'"){g="\u2032"}else{if(t.input=="''"){g="\u2033"}else{if(t.input=="'''"){g="\u2033\u2032"}else{if(t.input=="''''"){g="\u2033\u2033"}else{if(t.input=="\\square"){g="\u25A1"}else{if(t.input.substr(0,5)=="\\frac"){var b=t.input.substr(6,1);if(b=="5"||b=="6"){n=t.input.replace(/\\frac/,"\\frac ")+n;return[m,n,t.tag]}}}}}}}}m=createMmlNode(t.tag,document.createTextNode(g));return[m,n,t.tag];case LONG:m=createMmlNode(t.tag,document.createTextNode(t.output));m.setAttribute("minsize","1.5");m.setAttribute("maxsize","1.5");m=createMmlNode("mover",m);m.appendChild(createMmlNode("mspace"));return[m,n,t.tag];case STRETCHY:if(isIE&&t.input=="\\backslash"){t.output="\\"}m=creat eMmlNode(t.tag,document.createTextNode(t.output));if(t.input=="|"||t.input=="\\vert"||t.input=="\\|"||t.input=="\\Vert"){m.setAttribute("lspace","0em");m.setAttribute("rspace","0em")}m.setAttribute("maxsize",t.atval);if(t.rtag!=null){return[m,n,t.rtag]}else{return[m,n,t.tag]}case BIG:var f=t.atval;if(isIE){f=t.ieval}t=LMgetSymbol(n);if(t==null){return[null,n,null]}n=LMremoveCharsAndBlanks(n,t.input.length);m=createMmlNode(t.tag,document.createTextNode(t.output));if(isIE){var v=createMmlNode("mspace");v.setAttribute("height",f+"ex");m=createMmlNode("mrow",m);m.appendChild(v)}else{m.setAttribute("minsize",f);m.setAttribute("maxsize",f)}return[m,n,t.tag];case LEFTBRACKET:if(t.input=="\\left"){t=LMgetSymbol(n);if(t!=null){if(t.input=="."){t.invisible=true}n=LMremoveCharsAndBlanks(n,t.input.length)}}d=LMparseExpr(n,true,false);if(t==null||(typeof t.invisible=="boolean"&&t.invisible)){m=createMmlNode("mrow",d[0])}else{m=createMmlNode("mo",document.createTextNode(t.output));m=creat eMmlNode("mrow",m);m.appendChild(d[0])}return[m,d[1],d[2]];case MATRIX:if(t.input=="\\begin{array}"){var s="";t=LMgetSymbol(n);n=LMremoveCharsAndBlanks(n,0);if(t==null){s="l"}else{n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="{"){s="l"}else{do{t=LMgetSymbol(n);if(t!=null){n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="}"){s=s+t.input}}}while(t!=null&&t.input!=""&&t.input!="}")}}d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);s=s.replace(/l/g,"left ");s=s.replace(/r/g,"right ");s=s.replace(/c/g,"center ");m.setAttribute("columnalign",s);m.setAttribute("displaystyle","false");if(isIE){return[m,d[1],null]}var k=createMmlNode("mspace");k.setAttribute("width","0.167em");var p=createMmlNode("mspace");p.setAttribute("width","0.167em");var c=createMmlNode("mrow",k);c.appendChild(m);c.appendChild(p);return[c,d[1],null]}else{d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);if(isIE){m.setAttribute("columnspacing","0.25em")}else{m.setAttribu te("columnspacing","0.167em")}m.setAttribute("columnalign","right center left");m.setAttribute("displaystyle","true");m=createMmlNode("mrow",m);return[m,d[1],null]}case TEXT:if(n.charAt(0)=="{"){r=n.indexOf("}")}else{r=0}if(r==-1){r=n.length}o=n.slice(1,r);if(o.charAt(0)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}l.appendChild(createMmlNode(t.tag,document.createTextNode(o)));if(o.charAt(o.length-1)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}n=LMremoveCharsAndBlanks(n,r+1);return[createMmlNode("mrow",l),n,null];case UNARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode(t.tag,document.createTextNode(t.output)),n]}if(typeof t.func=="boolean"&&t.func){o=n.charAt(0);if(o=="^"||o=="_"||o==","){return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}else{m=createMmlNode("mrow",createMmlNode(t.tag,document.createTextNode(t.output)));if(isIE){var v=createMmlNode("mspace");v.setAttribute ("width","0.167em");m.appendChild(v)}m.appendChild(d[0]);return[m,d[1],t.tag]}}if(t.input=="\\sqrt"){if(isIE){var v=createMmlNode("mspace");v.setAttribute("height","1.2ex");v.setAttribute("width","0em");m=createMmlNode(t.tag,d[0]);m.appendChild(v);return[m,d[1],t.tag]}else{return[createMmlNode(t.tag,d[0]),d[1],t.tag]}}else{if(typeof t.acc=="boolean"&&t.acc){m=createMmlNode(t.tag,d[0]);var g=t.output;if(isIE){if(t.input=="\\hat"){g="\u0302"}else{if(t.input=="\\widehat"){g="\u005E"}else{if(t.input=="\\bar"){g="\u00AF"}else{if(t.input=="\\grave"){g="\u0300"}else{if(t.input=="\\tilde"){g="\u0303"}}}}}}var c=createMmlNode("mo",document.createTextNode(g));if(t.input=="\\vec"||t.input=="\\check"){c.setAttribute("maxsize","1.2")}if(isIE&&t.input=="\\bar"){c.setAttribute("maxsize","0.5")}if(t.input=="\\underbrace"||t.input=="\\underline"){c.setAttribute("accentunder","true")}else{c.setAttribute("accent","true")}m.appendChild(c);if(t.input=="\\overbrace"||t.input=="\\underbrace"){m.tt ype=UNDEROVER}return[m,d[1],t.tag]}else{if(!isIE&&typeof t.codes!="undefined"){for(r=0;r<d[0].childNodes.length;r++){if(d[0].childNodes[r].nodeName=="mi"||d[0].nodeName=="mi"){o=(d[0].nodeName=="mi"?d[0].firstChild.nodeValue:d[0].childNodes[r].firstChild.nodeValue);var h=[];for(var q=0;q<o.length;q++){if(o.charCodeAt(q)>64&&o.charCodeAt(q)<91){h=h+String.fromCharCode(t.codes[o.charCodeAt(q)-65])}else{h=h+o.charAt(q)}}if(d[0].nodeName=="mi"){d[0]=createMmlNode("mo").appendChild(document.createTextNode(h))}else{d[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(h)),d[0].childNodes[r])}}}}m=createMmlNode(t.tag,d[0]);m.setAttribute(t.atname,t.atval);if(t.input=="\\scriptstyle"||t.input=="\\scriptscriptstyle"){m.setAttribute("displaystyle","false")}return[m,d[1],t.tag]}}case BINARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}a=LMparseSexpr(d[1]);if(a[0]==null){return[createMmlNode("mo",document.create TextNode(t.input)),n,null]}if(t.input=="\\root"||t.input=="\\stackrel"){l.appendChild(a[0])}l.appendChild(d[0]);if(t.input=="\\frac"){l.appendChild(a[0])}return[createMmlNode(t.tag,l),a[1],t.tag];case INFIX:n=LMremoveCharsAndBlanks(n,t.input.length);return[createMmlNode("mo",document.createTextNode(t.output)),n,t.tag];default:return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}}function LMparseIexpr(g){var f,d,b,c,h,k,j;g=LMremoveCharsAndBlanks(g,0);d=LMgetSymbol(g);h=LMparseSexpr(g);c=h[0];g=h[1];k=h[2];f=LMgetSymbol(g);if(f.ttype==INFIX){g=LMremoveCharsAndBlanks(g,f.input.length);h=LMparseSexpr(g);if(h[0]==null){h[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}g=h[1];k=h[2];if(f.input=="_"||f.input=="^"){b=LMgetSymbol(g);k=null;j=((d.ttype==UNDEROVER)||(c.ttype==UNDEROVER));if(f.input=="_"&&b.input=="^"){g=LMremoveCharsAndBlanks(g,b.input.length);var a=LMparseSexpr(g);g=a[1];k=a[2];c=createMmlNode((j?"munderover":"msubsup"),c);c.appendChild(h[0 ]);c.appendChild(a[0])}else{if(f.input=="_"){c=createMmlNode((j?"munder":"msub"),c);c.appendChild(h[0])}else{c=createMmlNode((j?"mover":"msup"),c);c.appendChild(h[0])}}c=createMmlNode("mrow",c)}else{c=createMmlNode(f.tag,c);if(f.input=="\\atop"||f.input=="\\choose"){c.setAttribute("linethickness","0ex")}c.appendChild(h[0]);if(f.input=="\\choose"){c=createMmlNode("mfenced",c)}}}return[c,g,k]}function LMparseExpr(o,p,v){var w,l,a,s,z,f=document.createDocumentFragment();do{o=LMremoveCharsAndBlanks(o,0);a=LMparseIexpr(o);l=a[0];o=a[1];z=a[2];w=LMg... [truncated message content] |
Author: pboy Date: 2012-12-17 08:11:01 +0000 (Mon, 17 Dec 2012) New Revision: 2397 Added: trunk/ccm-core/web/assets/fancybox/ trunk/ccm-core/web/assets/fancybox/blank.gif trunk/ccm-core/web/assets/fancybox/fancy_close.png trunk/ccm-core/web/assets/fancybox/fancy_loading.png trunk/ccm-core/web/assets/fancybox/fancy_nav_left.png trunk/ccm-core/web/assets/fancybox/fancy_nav_right.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_e.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_n.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_ne.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_nw.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_s.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_se.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_sw.png trunk/ccm-core/web/assets/fancybox/fancy_shadow_w.png trunk/ccm-core/web/assets/fancybox/fancy_title_left.png trunk/ccm-core/web/assets/fancybox/fancy_title_main.png trunk/ccm-core/web/assets/fancybox/fancy_title_over.png trunk/ccm-core/web/assets/fancybox/fancy_title_right.png trunk/ccm-core/web/assets/fancybox/fancybox-x.png trunk/ccm-core/web/assets/fancybox/fancybox-y.png trunk/ccm-core/web/assets/fancybox/fancybox.png trunk/ccm-core/web/assets/fancybox/jquery.easing.pack.js trunk/ccm-core/web/assets/fancybox/jquery.fancybox-1.3.4.css trunk/ccm-core/web/assets/fancybox/jquery.fancybox.js trunk/ccm-core/web/assets/fancybox/jquery.fancybox.pack.js trunk/ccm-core/web/assets/fancybox/jquery.mousewheel.pack.js trunk/ccm-core/web/assets/jquery.js Removed: trunk/ccm-cms/web/assets/jquery.js Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/OpenCCM.js trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js Log: Fixed Xinha editor plugin, moved jQuery to core, added fancybox, fixed equation plugin. (on behalf of quasimodo) Deleted: trunk/ccm-cms/web/assets/jquery.js =================================================================== --- trunk/ccm-cms/web/assets/jquery.js 2012-12-17 08:03:28 UTC (rev 2396) +++ trunk/ccm-cms/web/assets/jquery.js 2012-12-17 08:11:01 UTC (rev 2397) @@ -1,4 +0,0 @@ -/*! jQuery v1.7.2 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p; for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e +"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b]; if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"? c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a ,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for( c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return th is;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArra y:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=a rguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.a ttachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace( q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:func tion(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){v ar d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b )},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.s hift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progr ess:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=ar guments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.ge tAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name"," t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr>< td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g. style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].dat a)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a !==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function( ){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this. each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.e ach(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.val Hooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j! ==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:fu nction(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a ,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.op tSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( -a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,gu id:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p .remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArr ay(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(ar guments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c); return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if( !(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.cont ains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this. _just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c! ="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||" **",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):thi s.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[] ,d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t] !=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k= o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u 00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++) {c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&& (" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){re turn a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toL owerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i, j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f=== "$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compa reDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter. ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagNam e(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\ ]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g)... [truncated message content] |
From: <pb...@fe...> - 2012-12-17 08:03:36
|
Author: pboy Date: 2012-12-17 08:03:28 +0000 (Mon, 17 Dec 2012) New Revision: 2396 Modified: trunk/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java Log: Fixed German Umlauts. (on behalf of JensP) Modified: trunk/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java =================================================================== --- trunk/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java 2012-12-17 08:00:21 UTC (rev 2395) +++ trunk/ccm-navigation/src/com/arsdigita/navigation/ui/object/CustomizableObjectList.java 2012-12-17 08:03:28 UTC (rev 2396) @@ -1,5 +1,6 @@ package com.arsdigita.navigation.ui.object; +import com.arsdigita.globalization.Globalization; import com.arsdigita.navigation.Navigation; import com.arsdigita.persistence.DataCollection; import com.arsdigita.xml.Element; @@ -193,7 +194,7 @@ * @return The property to sort by. */ public String getOrder(final String id) { - String order = sortFields.get(id); + final String order = sortFields.get(id); if ((order == null) || order.isEmpty()) { return new ArrayList<String>(sortFields.values()).get(0); } @@ -211,10 +212,10 @@ * @return */ @Override - protected DataCollection getObjects(HttpServletRequest request, - HttpServletResponse response) { + protected DataCollection getObjects(final HttpServletRequest request, + final HttpServletResponse response) { //Set filters (using the SQL) - StringBuilder sqlFilters = new StringBuilder(); + final StringBuilder sqlFilters = new StringBuilder(); for (Map.Entry<String, Filter> filterEntry : filters.entrySet()) { if ((filterEntry.getValue().getFilter() == null) || (filterEntry.getValue().getFilter().isEmpty())) { @@ -232,7 +233,7 @@ setSQLFilter(sqlFilters.toString()); } - DataCollection objects = super.getObjects(request, response); + final DataCollection objects = super.getObjects(request, response); return objects; } @@ -250,10 +251,10 @@ * @return */ @Override - public Element generateXML(HttpServletRequest request, - HttpServletResponse response) { + public Element generateXML(final HttpServletRequest request, + final HttpServletResponse response) { //Some stuff for the list (copied from ComplexObjectList) - Element content = Navigation.newElement("customizableObjectList"); + final Element content = Navigation.newElement("customizableObjectList"); if (m_customName != null) { content.addAttribute(CUSTOM_NAME, m_customName); @@ -273,30 +274,30 @@ /* * if (request.getCharacterEncoding() == null) { */ - try { - request.setCharacterEncoding("UTF-8"); - } catch (UnsupportedEncodingException ex) { - logger.error(ex); - } +// try { +// request.setCharacterEncoding("UTF-8"); +// } catch (UnsupportedEncodingException ex) { +// logger.error(ex); +// } //} for (Map.Entry<String, Filter> filterEntry : filters.entrySet()) { - String value = request.getParameter(filterEntry.getKey()); + final String value = Globalization.decodeParameter(request, filterEntry.getKey()); if ((value != null) && !value.isEmpty()) { filterEntry.getValue().setValue(value); } } - Element controls = content.newChildElement("filterControls"); + final Element controls = content.newChildElement("filterControls"); controls.addAttribute("customName", m_customName); - Element filterElems = controls.newChildElement("filters"); + final Element filterElems = controls.newChildElement("filters"); for (Map.Entry<String, Filter> filterEntry : filters.entrySet()) { filterElems.addContent(filterEntry.getValue().getXml()); } - if (sortFields.size() > 0) { + if (!sortFields.isEmpty()) { //Look for a sort parameter. If one is found, use one to sort the data //collection (if it is a valid value). If no sort parameter is found, //use the first sort field as default. @@ -305,10 +306,10 @@ sortByKey = new ArrayList<String>(sortFields.keySet()).get(0); } - Element sortFieldElems = controls.newChildElement("sortFields"); + final Element sortFieldElems = controls.newChildElement("sortFields"); sortFieldElems.addAttribute("sortBy", sortByKey); for (Map.Entry<String, String> sortField : sortFields.entrySet()) { - Element sortFieldElem = sortFieldElems.newChildElement( + final Element sortFieldElem = sortFieldElems.newChildElement( "sortField"); sortFieldElem.addAttribute("label", sortField.getKey()); } |
From: <pb...@fe...> - 2012-12-17 08:00:30
|
Author: pboy Date: 2012-12-17 08:00:21 +0000 (Mon, 17 Dec 2012) New Revision: 2395 Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/AuthoringResources.properties trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources.properties trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources_de.properties Log: Some localisations fixed. (on behalf of JensP) Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-17 07:52:47 UTC (rev 2394) +++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-17 08:00:21 UTC (rev 2395) @@ -1101,3 +1101,5 @@ cms.ui.search.create.select_edit=Item ausw\u00e4hlen und weiter bearbeiten cms.ui.clear=Zur\u00fccksetzen +cms.ui.type.minimum_number_of_values_bigger_than_maximum_number_of_values=Maximaler Wert kleiner als minimaler Wert +cms.ui.type.minimummaximum_number_of_values_cannot_be_negative=Keine negativen Werte erlaubt Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/AuthoringResources.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/AuthoringResources.properties 2012-12-17 07:52:47 UTC (rev 2394) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/AuthoringResources.properties 2012-12-17 08:00:21 UTC (rev 2395) @@ -61,3 +61,5 @@ cms.ui.authoring.document_type=Document type cms.ui.authoring.format=Format cms.ui.authoring.security_class=Security class +cms.ui.authoring.failed_to_upload_image=Failed to upload image +cms.ui.authoring.choose_contact=Kontakt ausw\u00e4hlen Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources.properties 2012-12-17 07:52:47 UTC (rev 2394) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources.properties 2012-12-17 08:00:21 UTC (rev 2395) @@ -70,5 +70,5 @@ cms.ui.folder.filter.all=All cms.ui.folder.filter=Filter for work cms.ui.folder.filter_do=Filter -cms.ui.folder.languages= +cms.ui.folder.languages=Languages cms.ui.folder.delete_confirmation=Permanently delete this item? Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources_de.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources_de.properties 2012-12-17 07:52:47 UTC (rev 2394) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/folder/CMSFolderResources_de.properties 2012-12-17 08:00:21 UTC (rev 2395) @@ -66,5 +66,9 @@ cms.ui.folder.filter.all=Alle cms.ui.folder.filter=Nach Begriff filtern cms.ui.folder.filter_do=Filtern -cms.ui.folder.languages= +cms.ui.folder.languages=Sprachen cms.ui.folder.delete_confirmation=Wollen Sie dieses Content-Item l\u00f6schen? +cms.ui.folder.edit_selection=Ausgew\u00e4hlte Items kopieren oder verschieben: +cms.ui.folder.creation_date=Erstellungsdatum +cms.ui.folder.last_modified=Letzte \u00c4nderung +cms.ui.folder.index=Index |
From: <pb...@fe...> - 2012-12-17 07:52:55
|
Author: pboy Date: 2012-12-17 07:52:47 +0000 (Mon, 17 Dec 2012) New Revision: 2394 Removed: trunk/ccm-cms/web/assets/xinha/plugins/CCMInsertImage/ trunk/ccm-cms/web/assets/xinha/plugins/CCMInsertLink/ Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js Log: Fixed path entry, OpenCCM Plugin, preview works, unused directores removed. (on behalf of quasimodo) Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java 2012-12-17 07:47:37 UTC (rev 2393) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectResultComponent.java 2012-12-17 07:52:47 UTC (rev 2394) @@ -9,12 +9,13 @@ import com.arsdigita.bebop.SimpleContainer; import com.arsdigita.cms.ImageAsset; import com.arsdigita.cms.Service; +import com.arsdigita.web.URL; import com.arsdigita.xml.Element; /** - * A component which will insert a javascript to the xml output with the + * A component which will insert a javascript to the xml output with the * image information for the OpenCCM plugin for Xinha editor. - * + * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public class ImageSelectResultComponent extends SimpleContainer implements Resettable { @@ -28,7 +29,7 @@ /** * Save image imformation - * + * * @param iamge an {@link ImageAsset} */ public void setResult(final ImageAsset image/*, final String name, final BigDecimal id, final BigDecimal width, final BigDecimal height*/) { @@ -48,9 +49,10 @@ if (m_valid) { script.append("if(button.id == \"save\" ) {"); - + script.append("window.opener.openCCM.imageSet({"); script.append(" src : \""); + script.append(URL.getDispatcherPath()); script.append(Service.getImageURL(m_image)); script.append("\", "); script.append(" name : \""); @@ -75,7 +77,7 @@ /** * Reset this component. - * + * * @param state Page state */ public void reset(PageState state) { Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html =================================================================== --- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-17 07:47:37 UTC (rev 2393) +++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.html 2012-12-17 07:52:47 UTC (rev 2394) @@ -111,7 +111,7 @@ --> <input type="hidden" name="[src]" id="[src]"/> - <fieldset> + <fieldset id="[layout]"> <legend> <l10n>Layout</l10n> </legend> @@ -146,7 +146,7 @@ </div> </fieldset> - <fieldset> + <fieldset id="[dimensions]"> <legend> <l10n>Dimension</l10n> </legend> Modified: trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js =================================================================== --- trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-17 07:47:37 UTC (rev 2393) +++ trunk/ccm-cms/web/assets/xinha/plugins/OpenCCM/images/images.js 2012-12-17 07:52:47 UTC (rev 2394) @@ -87,14 +87,7 @@ // OnResize this.dialogs["images"].onresize = function () { - var newHeightForPreview = - parseInt(this.height, 10) -// - this.getElementById("h1").offsetHeight -// - this.getElementById("buttons").offsetHeight -// - this.getElementById("inputs").offsetHeight - - parseInt(this.rootElem.style.paddingBottom, 10); - this.getElementById("preview").style.height = ((newHeightForPreview > 0) ? newHeightForPreview : 0) + "px"; - this.getElementById("preview").style.width = "98%"; + self.resizePreview(this); }; this.imageDialogReady = true; @@ -299,19 +292,32 @@ OpenCCM.prototype.imageSet = function(imageData) { - var dialog = this.dialogs["images"]; + var dialog = this.dialogs["images"] dialog.getElementById(dialog.id["src"]).value = imageData.src; dialog.getElementById(dialog.id["ipreview"]).src = imageData.src; dialog.getElementById(dialog.id["width"]).value = imageData.width; dialog.getElementById(dialog.id["height"]).value = imageData.height; dialog.getElementById(dialog.id["name"]).value = imageData.name; dialog.getElementById(dialog.id["aspect"]).value = dialog.getElementById(dialog.id["width"]).value / dialog.getElementById(dialog.id["height"]).value; + + this.resizePreview(dialog); + if(imageData.src != "") { dialog.getElementById(dialog.id["preview"]).style.display = "block"; + } else { + dialog.getElementById(dialog.id["preview"]).style.display = "none"; } }; +OpenCCM.prototype.resizePreview = function(dialog) { + var aspect = dialog.getElementById(dialog.id["aspect"]).value; + var previewWidth = dialog.width - 22; + + dialog.getElementById(dialog.id["ipreview"]).style.height = Math.round(previewWidth / aspect) + "px"; + dialog.getElementById(dialog.id["ipreview"]).style.width = previewWidth + "px"; +}; + OpenCCM.prototype.calcWidth = function() { var dialog = this.dialogs["images"]; |
From: <pb...@fe...> - 2012-12-17 07:47:46
|
Author: pboy Date: 2012-12-17 07:47:37 +0000 (Mon, 17 Dec 2012) New Revision: 2393 Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java Log: Reverted r1812 for some forms, which dont work anymore. (on behalf of JensP) Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-16 20:27:20 UTC (rev 2392) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-17 07:47:37 UTC (rev 2393) @@ -149,7 +149,8 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { - super.validate(e); + //Calling super.validate(e) here causes an exception because the super method checks things which not available + //here. final PageState state = e.getPageState(); final FormData data = e.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java 2012-12-16 20:27:20 UTC (rev 2392) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java 2012-12-17 07:47:37 UTC (rev 2393) @@ -179,7 +179,8 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { - super.validate(e); + //Calling super.validate(e) here causes an exception because the super method checks things which not available + //here. final PageState state = e.getPageState(); final FormData data = e.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java 2012-12-16 20:27:20 UTC (rev 2392) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java 2012-12-17 07:47:37 UTC (rev 2393) @@ -124,10 +124,10 @@ } } - @Override - public void validate(final FormSectionEvent fse) - throws FormProcessException { - super.validate(fse); + @Override + public void validate(final FormSectionEvent fse) throws FormProcessException { + //We don't call super.validate(fse) here because the super method checks for things which are not available + //here, causing an exception. final PageState state = fse.getPageState(); final FormData data = fse.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java 2012-12-16 20:27:20 UTC (rev 2392) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java 2012-12-17 07:47:37 UTC (rev 2393) @@ -72,11 +72,13 @@ } } - // Validate: ensure name uniqueness + /** + * Ensure name uniqueness. Note: We can't call {@code super.validate(FormSectionEvent)} here + * because the super method {@link BasicPageForm#validate(com.arsdigita.bebop.event.FormSectionEvent)} tries + * to access things which on existing yet. + */ @Override - public void validate(FormSectionEvent e) throws FormProcessException { - super.validate(e); - + public void validate(FormSectionEvent e) throws FormProcessException { Folder f = m_parent.getFolder(e.getPageState()); Assert.exists(f); validateNameUniqueness(f, e, GenericPerson.urlSave(getItemName(e))); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java 2012-12-16 20:27:20 UTC (rev 2392) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java 2012-12-17 07:47:37 UTC (rev 2393) @@ -34,7 +34,6 @@ import com.arsdigita.cms.util.GlobalizationUtil; import com.arsdigita.util.Assert; import java.util.Date; - import org.apache.log4j.Logger; /** @@ -47,9 +46,7 @@ */ public class PageCreate extends BasicPageForm implements FormSubmissionListener, CreationComponent { - - private static final Logger s_log = Logger.getLogger(PageCreate.class); - + protected final CreationSelector m_parent; protected ApplyWorkflowFormSection m_workflowSection; @@ -105,13 +102,17 @@ return m_workflowSection; } - // Init: create a new item id + /** create a new item id + * + */ public void init(FormSectionEvent e) throws FormProcessException { // this is currently a no-op } - // Submission: If the Cancel button was pressed, hide self and - // show the display component + /** + * If the Cancel button was pressed, hide self and + * show the display component + */ public void submitted(FormSectionEvent e) throws FormProcessException { PageState state = e.getPageState(); @@ -124,14 +125,18 @@ } } - // Validate: ensure name uniqueness + /** + * Validate inputs to ensure name uniqueness. Note: We can't call {@code super.validate(FormSectionEvent)} here + * because the super method {@link BasicPageForm#validate(com.arsdigita.bebop.event.FormSectionEvent)} tries + * to access things which on existing yet. + * + * @param event + */ @Override - public void validate(FormSectionEvent e) throws FormProcessException { - super.validate(e); - - Folder f = m_parent.getFolder(e.getPageState()); - Assert.exists(f); - validateNameUniqueness(f, e); + public void validate(final FormSectionEvent event) throws FormProcessException { + final Folder folder = m_parent.getFolder(event.getPageState()); + Assert.exists(folder); + validateNameUniqueness(folder, event); } // Process: save fields to the database Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java 2012-12-16 20:27:20 UTC (rev 2392) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java 2012-12-17 07:47:37 UTC (rev 2393) @@ -18,7 +18,6 @@ */ package com.arsdigita.cms.ui.templates; - import com.arsdigita.bebop.FormData; import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.Label; @@ -52,7 +51,7 @@ public class TemplateEdit extends SimpleEditStep { private static Logger s_log = - Logger.getLogger(TemplateEdit.class); + Logger.getLogger(TemplateEdit.class); /** * Construct a new TemplateEdit component @@ -73,8 +72,8 @@ //DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel); DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel, false); - sheet.add((String) GlobalizationUtil.globalize("cms.ui.templates.name").localize(), ContentItem.NAME); - sheet.add((String) GlobalizationUtil.globalize("cms.ui.templates.label").localize(), Template.LABEL); + sheet.add((String) GlobalizationUtil.globalize("cms.ui.templates.name").localize(), ContentItem.NAME); + sheet.add((String) GlobalizationUtil.globalize("cms.ui.templates.label").localize(), Template.LABEL); setDisplayComponent(sheet); } @@ -101,13 +100,13 @@ protected void addWidgets() { add(new Label(GlobalizationUtil.globalize("cms.ui.templates.name"))); TextField nameWidget = - new TextField(new TrimmedStringParameter(NAME)); + new TextField(new TrimmedStringParameter(NAME)); nameWidget.addValidationListener(new NameValidationListener()); add(nameWidget); add(new Label(GlobalizationUtil.globalize("cms.ui.templates.label"))); TextField labelWidget = - new TextField(new TrimmedStringParameter(Template.LABEL)); + new TextField(new TrimmedStringParameter(Template.LABEL)); labelWidget.addValidationListener(new NotNullValidationListener()); add(labelWidget); } @@ -127,34 +126,35 @@ FormData data = e.getFormData(); PageState state = e.getPageState(); Template t = getTemplate(state); - t.setName((String)data.get(NAME)); - t.setLabel((String)data.get(Template.LABEL)); + t.setName((String) data.get(NAME)); + t.setLabel((String) data.get(Template.LABEL)); t.save(); } public void validate(FormSectionEvent event) throws FormProcessException { - super.validate(event); - + //Calling super.validate(e) here causes an exception because the super method checks things which not available + //here. + PageState state = event.getPageState(); FormData data = event.getFormData(); Template t = getTemplate(state); - String newName = (String)data.get(NAME); + String newName = (String) data.get(NAME); String oldName = t.getName(); // Validation passes if the item name is the same. - if ( !newName.equalsIgnoreCase(oldName) ) { - validateNameUniqueness((Folder)t.getParent(), event); + if (!newName.equalsIgnoreCase(oldName)) { + validateNameUniqueness((Folder) t.getParent(), event); } } // Get the current template public Template getTemplate(PageState state) { Template t = - (Template) getItemSelectionModel().getSelectedObject(state); + (Template) getItemSelectionModel().getSelectedObject(state); Assert.exists(t); return t; } + } - } |
From: <pb...@fe...> - 2012-12-16 20:27:36
|
Author: pboy Date: 2012-12-16 20:27:20 +0000 (Sun, 16 Dec 2012) New Revision: 2392 Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ContenttypesResources_de.properties releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageBrowser.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponent.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentSelectListener.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectPage.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageUploadComponent.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/folder/AbstractFolderPicker.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/folder/FlatFolderPicker.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java releases/2.0.0/ccm-core/src/com/arsdigita/categorization/Category.java releases/2.0.0/ccm-core/src/com/arsdigita/categorization/CategoryLocalizationCollection.java Log: UI enhancemnt: category localisation editible (backport r2390), added comments. (on behalf of quasimodo) Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-16 20:27:20 UTC (rev 2392) @@ -105,7 +105,7 @@ cms.contenttypes.ui.event_end_time=Event End Time: cms.contenttypes.ui.government_uid=Government UID: cms.contenttypes.ui.grade=Grade: -cms.contenttypes.ui.homepage=Homepage? +cms.contenttypes.ui.homepage=Homepage: cms.contenttypes.ui.job_description=Job Description: cms.contenttypes.ui.launch_date=Launch Date: cms.contenttypes.ui.lead=Description: Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-16 20:27:20 UTC (rev 2392) @@ -70,7 +70,7 @@ cms.contenttypes.shared.assign_categories.title=Kategorien zuweisen cms.contenttypes.shared.assign_categories.description=Kategorien zuweisen cms.contenttypes.shared.attach_files.title=Dateien zuordnen -cms.contenttypes.shared.attach_files.description=Dateien anh\u00c4ngen +cms.contenttypes.shared.attach_files.description=Dateien anh\u00e4ngen cms.contenttypes.shared.basic_properties.description=Basiseigenschaften editieren cms.contenttypes.shared.basic_properties.title=Basiseigenschaften cms.contenttypes.shared.body_text.title=Haupttext @@ -105,7 +105,7 @@ cms.contenttypes.ui.event_end_time=Event Ende um\: cms.contenttypes.ui.government_uid=Government UID: cms.contenttypes.ui.grade=Grad: -cms.contenttypes.ui.homepage=Homepage? +cms.contenttypes.ui.homepage=Homepage: cms.contenttypes.ui.job_description=Job Beschreibung: cms.contenttypes.ui.launch_date=Ver\u00f6ffentlichungsdatum: cms.contenttypes.ui.lead=Beschreibung (Lead Text): @@ -160,8 +160,8 @@ cms.installer.cannot_find_group_for_email=Kann email-Gruppe nicht finden cms.installer.cannot_read_line_of_data=Kann Datensatz nicht lesen cms.installer.cannot_set_template_text=Kann Template Text nicht festlegen -cms.installer.could_not_load_section=Kann die folgende ContentSection nicht laden '{0}' -cms.installer.deploy=anwenden +cms.installer.could_not_load_section=Kann die ContentSection '{0}' nicht laden +cms.installer.deploy=Anwenden cms.installer.failed_to_update_the_default_content_section=Update der Default Content Section gescheitert. cms.installer.formbuilder.form=Form cms.installer.formbuilder.form_section=Form Abschnitt @@ -187,7 +187,7 @@ cms.publishToFile.could_not_get_object_for_oid=Could not get object for oid cms.publishToFile.error_executing=Ausf\u00fchrungsfehler bei '{0}' \: cms.publishToFile.exit_value_was=Exit Code war -cms.publishToFile.interrupted_when_doing=Unterbrochen bei Ausf\u00fchren von '{0}' +cms.publishToFile.interrupted_when_doing=Unterbrochen beim Ausf\u00fchren von '{0}' cms.publishToFile.invalid_brokenlinkaction=Ung\u00fcltige BrokenLinkAction\: cms.publishToFile.invalid_reference_target_type=Ung\u00fcltige reference target type\: cms.publishToFile.malformed_url=Falsche Struktur der URL\: @@ -232,7 +232,7 @@ cms.ui.browse=Dokumente cms.ui.browse_items_by_category=Durchsicht der Elemente nach Kategorien cms.ui.cancel=Abbruch -cms.ui.cancel_hit=Abbruch dr\u00fccken +cms.ui.cancel_hit=Abbruch gedr\u00fcckt cms.ui.cancelled=abgebrochen cms.ui.cannot_assign_groups_to_owner=cannot assign groups to owner cms.ui.categories=Kategorien @@ -241,7 +241,7 @@ cms.ui.content_item=Dokument cms.ui.content_section=Content section cms.ui.content_section_configuration=<h2>Content Section Configuration</h2> -cms.ui.content_types=Dokument Typen +cms.ui.content_types=Dokumenttypen cms.ui.contents_of=Inhalt von cms.ui.create=Erstellen cms.ui.cse=Bald abgelaufen @@ -324,10 +324,10 @@ cms.ui.template=Vorlage cms.ui.Templates=Vorlagen cms.ui.the_model_is_empty=Das Modell ist leer -cms.ui.there_are_no_items=Keine elemente vorhanden. +cms.ui.there_are_no_items=Keine Elemente vorhanden. cms.ui.there_was_no_one_matching_the_search_criteria=Kein Element erf\u00fcllte die Suchkriterien. cms.ui.this_should_never_happen=Dies sollte nie passieren\! -cms.ui.types=Dokument Typen +cms.ui.types=Dokumenttypen cms.ui.unknown=unbekannt cms.ui.upload_new_content=Neuen Inhalt laden cms.ui.use_custom_permissions=Benutzerspezifische Rechte @@ -352,9 +352,9 @@ # Package com.arsdigita.cms.ui.authoring # ====================================== -cms.ui.authoring.an_item_with_this_name_already_exists=Ein Item mit diesem Namen existiert +cms.ui.authoring.an_item_with_this_name_already_exists=Ein Item mit diesem Namen existiert bereits cms.ui.authoring.bad_getblob_datatype=Ung\u00fcltiger Datentyp getBlob -cms.ui.authoring.bad_getclob_datatype=Ung\u00fcltiger Datentyp getBlob +cms.ui.authoring.bad_getclob_datatype=Ung\u00fcltiger Datentyp getClob cms.ui.authoring.body=Textbereich: cms.ui.authoring.caption=Untertitel: cms.ui.authoring.content_type=Inhaltstyp: @@ -457,7 +457,7 @@ cms.ui.category.localization_error_locale=Bitte w\u00e4hlen Sie eine Sprache aus cms.ui.category.localization_locale=Sprache cms.ui.category.localization_name=Name -cms.ui.category.localization_none=Diese Kaegorie hat keine Sprachversionen +cms.ui.category.localization_none=Diese Kategorie hat keine Sprachversionen cms.ui.category.localization_url=URL cms.ui.category.name_not_unique=Es gibt bereits eine Kategorie mit diesem Namen. cms.ui.category.no_categorized_objects=Es gibt keine kategorisierten Objekte @@ -489,8 +489,8 @@ cms.ui.cse.itemName=Name cms.ui.cse.view=Anzeigen cms.ui.cse.viewLink=anzeigen -cms.ui.cse.edit=Edit -cms.ui.cse.editLink=edit +cms.ui.cse.edit=Bearbeiten +cms.ui.cse.editLink=bearbeiten cms.ui.cse.endDateTime=aktiv bis @@ -498,7 +498,7 @@ # =================================== cms.ui.folder.cancelled=Abgebrochen cms.ui.folder.cannot_find_a_root_folder=Kein Wurzelverzeichnis gefunden. -cms.ui.folder.na=K.A. +cms.ui.folder.na=k.A. cms.ui.folder.no_source_items_specified=Kein Quelldokument angegeben. cms.ui.folder.parent=\u00dcbergeordneter Ordner cms.ui.folder.rename=Ordner umbenennen @@ -507,7 +507,7 @@ # ======================================== cms.ui.formbuilder.description=Beschreibung: cms.ui.formbuilder.name=Name: -cms.ui.formbuilder.oh_no_you_dont=Nicht, sie wollen nicht +cms.ui.formbuilder.oh_no_you_dont=Nein, das wollen sie nicht cms.ui.formbuilder.title=Titel\: Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ContenttypesResources_de.properties =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ContenttypesResources_de.properties 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ContenttypesResources_de.properties 2012-12-16 20:27:20 UTC (rev 2392) @@ -15,7 +15,7 @@ cms.contenttypes.ui.person.surname=Nachname cms.contenttypes.ui.person.givenname=Vorname cms.contenttypes.ui.person.titlepre=Titel -cms.contenttypes.ui.person.titlepost=Namesanhang +cms.contenttypes.ui.person.titlepost=Namensanhang cms.contenttypes.ui.person.birthdate=Geburtstag cms.contenttypes.ui.person.description=Beschreibung Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ContentItemPage.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -509,7 +509,7 @@ return ContentSection.getConfig().getUseStreamlinedCreation() && STREAMLINED_CREATION_ACTIVE.equals(state.getRequest(). getParameter(STREAMLINED_CREATION)); - } + } protected TabbedPane getTabbedPane() { return m_tabbedPane; Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageBrowser.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageBrowser.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageBrowser.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -34,7 +34,6 @@ import com.arsdigita.cms.ImageAsset; import com.arsdigita.cms.SecurityManager; import com.arsdigita.cms.Service; -import com.arsdigita.cms.ui.ImageComponent; import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DomainObjectFactory; import com.arsdigita.mimetypes.MimeType; @@ -62,6 +61,7 @@ * </code></pre></blockquote> * * @author Stanislav Freidin + * @author Sören Bernstein (quasimodo) <sbe...@qu...> * @version $Id$ */ public class ImageBrowser extends Table { @@ -80,7 +80,7 @@ private static final Logger s_log = Logger.getLogger(ImageBrowser.class); /** - * Construct a new ImageBrowser + * Construct a new ImageBrowser with default mode. * * @param builder the {@link ImageBrowserModelBuilder} that will supply this * component with its {@link ImageBrowserModel} during each request @@ -90,6 +90,13 @@ this(b, ImageComponent.ATTACH_IMAGE); } + /** + * Construct a new ImageBrowser with requested mode. + * + * @param builder the {@link ImageBrowserModelBuilder} that will supply this + * component with its {@link ImageBrowserModel} during each request + * @param mode the component mode (see {@link ImageComponent}) + */ public ImageBrowser(ImageBrowserModelBuilder b, int mode) { super(new BuilderAdapter(b), HEADERS); m_mode = mode; Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponent.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponent.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponent.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -1,6 +1,5 @@ /* - * To change this template, choose Tools | Templates - * and open the template in the editor. + * */ package com.arsdigita.cms.ui; @@ -11,11 +10,18 @@ import com.arsdigita.cms.ReusableImageAsset; /** - * + * Interface for ImageCompnents. + * + * All components for image handling (like {@link ImageLibraryComponent} or + * {@link ImageUploadComponent}) should implement this interface. + * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public interface ImageComponent { + /** + * The modes + */ public static final int DISPLAY_ONLY = 0; public static final int SELECT_IMAGE = 1; public static final int ATTACH_IMAGE = 2; Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAbstractListener.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -18,7 +18,13 @@ import org.apache.log4j.Logger; /** - * + * An abstract listener for {@link ImageComponent}. + * + * This listener provides the base implementation which is shared between all + * listeners of this kind. + * + * This listerner is used by {@link ImageSelectPage}. + * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public abstract class ImageComponentAbstractListener implements FormInitListener, FormProcessListener, FormSubmissionListener { @@ -39,6 +45,13 @@ } } + /** + * Call {@link #cancelled(com.arsdigita.bebop.PageState)} if the cancel button + * was pressed. + * + * @param event the {@link FormSectionEvent} + * @throws FormProcessException + */ public void submitted(FormSectionEvent event) throws FormProcessException { PageState ps = event.getPageState(); ImageComponent component = getImageComponent(ps); @@ -48,6 +61,13 @@ } } + /** + * Call {@link #processImage(com.arsdigita.bebop.event.FormSectionEvent, com.arsdigita.bebop.PageState, com.arsdigita.cms.ui.ImageComponent, com.arsdigita.cms.ReusableImageAsset) } + * if the save button was pressed. + * + * @param event the {@link FormSectionEvent} + * @throws FormProcessException + */ public void process(FormSectionEvent event) throws FormProcessException { PageState ps = event.getPageState(); ImageComponent component = getImageComponent(ps); @@ -62,8 +82,21 @@ } + /** + * To be overridden by child if neccessary. + * + * @param ps + */ protected void cancelled(PageState ps) {}; + /** + * Process the input. + * + * @param event the {@link FormSectionEvent} + * @param ps {@link PageState} + * @param component an {@link ImageComponent} + * @param image the {@link ReusableImageAsset} + */ protected abstract void processImage(FormSectionEvent event, PageState ps, ImageComponent component, ReusableImageAsset image); protected ImageComponent getImageComponent(PageState ps) { @@ -80,6 +113,12 @@ } + /** + * Sets the active component + * + * @param ps Page state + * @param activeKey the key of the active component + */ protected void setImageComponent(PageState ps, final String activeKey) { if (s_log.isDebugEnabled()) { Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentAdminListener.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -13,7 +13,10 @@ import com.arsdigita.toolbox.ui.ComponentMap; /** - * + * A listener to administer images. + * + * This listerner is used by {@link ImagesPane}. + * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ class ImageComponentAdminListener extends ImageComponentAbstractListener implements ActionListener { Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentSelectListener.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentSelectListener.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageComponentSelectListener.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -4,7 +4,6 @@ */ package com.arsdigita.cms.ui; -import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.MapComponentSelectionModel; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.event.FormSectionEvent; @@ -12,15 +11,18 @@ import org.apache.log4j.Logger; /** - * + * A listener to select an image and save it for later use. + * + * This listerner is used by {@link ImageSelectPage}. + * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public class ImageComponentSelectListener extends ImageComponentAbstractListener { private static final Logger S_LOG = Logger.getLogger(ImageComponentSelectListener.class); - private final ImageSelectResultPane m_resultPane; + private final ImageSelectResultComponent m_resultPane; - public ImageComponentSelectListener(MapComponentSelectionModel imageComponent, ImageSelectResultPane resultPane) { + public ImageComponentSelectListener(MapComponentSelectionModel imageComponent, ImageSelectResultComponent resultPane) { super(imageComponent); m_resultPane = resultPane; } Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageLibraryComponent.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -25,7 +25,13 @@ import java.math.BigDecimal; /** + * An image library component. * + * This component can be used in different places to add an image library + * in a convinient way. This class uses a listener class which should be extended + * from {@link ImageComponentAbstractListener}. + * + * @author unknown * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public class ImageLibraryComponent extends SimpleContainer implements ImageComponent, Resettable { @@ -67,7 +73,7 @@ try { final ReusableImageAsset image = new ReusableImageAsset(imageID); if(m_mode == ImageComponent.SELECT_IMAGE) { - parent.getResultPane().setResult(image.getDisplayName(), image.getID(), image.getWidth(), image.getHeight()); + parent.getResultComponent().setResult(image); } m_imageModel.setSelectedObject(state, image); } catch (DataObjectNotFoundException ex) { @@ -164,6 +170,11 @@ return m_saveCancel; } + /** + * Add a link to an {@link ImageUploadComponent} + * + * @param actionListener + */ public void addUploadLink(final ActionListener actionListener) { // Add action link to image upload component if (m_mode != ImageComponent.DISPLAY_ONLY) { @@ -173,7 +184,9 @@ } } - // Reset this component + /** + * Reset this component. + */ public void reset(final PageState state) { // clear selection m_imageModel.clearSelection(state); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectPage.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectPage.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageSelectPage.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -21,7 +21,11 @@ import org.apache.log4j.Logger; /** - * + * A {@link CMSPage} to select and upload images. + * + * This page is used by /web/templates/ccm-cms/content-section/admin/image_select.jsp + * which is used by the OpenCCM plugin for Xihna editor. + * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public class ImageSelectPage extends CMSPage { @@ -32,7 +36,7 @@ private TabbedPane m_tabbedPane; private ImageLibraryComponent m_imageLibrary; private ImageUploadComponent m_imageUpload; - private ImageSelectResultPane m_resultPane; + private ImageSelectResultComponent m_result; private BigDecimalParameter m_sectionId; private final StringParameter m_imageComponentKey; private final MapComponentSelectionModel m_imageComponent; @@ -56,7 +60,7 @@ m_imageComponent = new MapComponentSelectionModel(componentModel, new HashMap()); - m_selectListener = new ImageComponentSelectListener(m_imageComponent, getResultPane()); + m_selectListener = new ImageComponentSelectListener(m_imageComponent, getResultComponent()); m_tabbedPane = createTabbedPane(); m_tabbedPane.setIdAttr("page-body"); @@ -77,11 +81,16 @@ } }); - add(m_resultPane); + add(m_result); addGlobalStateParam(m_imageComponentKey); } + /** + * Create the image library pane + * + * @return m_imageLibrary + */ protected ImageLibraryComponent getImageLibraryPane() { if (m_imageLibrary == null) { m_imageLibrary = new ImageLibraryComponent(ImageComponent.SELECT_IMAGE, this); @@ -92,6 +101,11 @@ return m_imageLibrary; } + /** + * Create the image upload pane + * + * @return m_imageUpload + */ protected ImageUploadComponent getImageUploadPane() { if (m_imageUpload == null) { @@ -103,13 +117,21 @@ return m_imageUpload; } - protected ImageSelectResultPane getResultPane() { - if (m_resultPane == null) { - m_resultPane = new ImageSelectResultPane(); + /** + * Creates an {@link ImageSelectResultComponent} + * + * @return m_resultPane + */ + protected ImageSelectResultComponent getResultComponent() { + if (m_result == null) { + m_result = new ImageSelectResultComponent(); } - return m_resultPane; + return m_result; } + /** + * Create the tabbed pane + */ protected TabbedPane createTabbedPane() { TabbedPane pane = new TabbedPane(); pane.setClassAttr(XSL_CLASS); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageUploadComponent.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageUploadComponent.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImageUploadComponent.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -21,7 +21,13 @@ import java.io.IOException; /** + * An image upload component. * + * This component can be used in different places to add image upload capabilities + * in a convinient way. This class uses a listener class which should be extended + * from {@link ImageComponentAbstractListener}. + * + * @author unknown * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ public class ImageUploadComponent extends Form implements ImageComponent { @@ -34,10 +40,18 @@ private final SaveCancelSection m_saveCancel; private int m_mode; + /** + * Creates an ImageUploadComponent in attach mode. + */ public ImageUploadComponent() { this(ImageComponent.ATTACH_IMAGE); } + /** + * Creates an ImageUploadComponent with the selected mode. + * + * @param mode The operation mode (see {@link ImageComponent) + */ public ImageUploadComponent(int mode) { super("imageUploadComponent", new ColumnPanel(2)); m_mode = mode; Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/ImagesPane.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -34,7 +34,7 @@ import org.apache.log4j.Logger; /** - * A LayoutPanel to insert into ContentSectionPage or ImageSelectPage + * A {@link LayoutPanel} to insert into {@link ContentSectionPage}. * * @author Sören Bernstein (quasimodo) <sbe...@ze...> */ @@ -77,6 +77,7 @@ final Map selectors = m_imageComponent.getComponentsMap(); m_adminListener = new ImageComponentAdminListener(m_imageComponent, this); + // Image library component final ImageLibraryComponent library = new ImageLibraryComponent(ImageComponent.ADMIN_IMAGES); library.getForm().addInitListener(m_adminListener); library.getForm().addProcessListener(m_adminListener); @@ -86,6 +87,7 @@ new Label(GlobalizationUtil.globalize("cms.ui.image_library")), library)); + // Image upload component final ImageUploadComponent upload = new ImageUploadComponent(ImageComponent.ADMIN_IMAGES); upload.getForm().addInitListener(m_adminListener); upload.getForm().addSubmissionListener(m_adminListener); @@ -126,6 +128,11 @@ page.addComponentStateParam(this, m_imageComponentKey); } + /** + * Resets this pane and all its resettable components. + * + * @param state Page state + */ @Override public final void reset(final PageState state) { super.reset(state); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -22,9 +22,12 @@ import com.arsdigita.bebop.BaseLink; import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Form; +import com.arsdigita.bebop.FormModel; import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Link; +import com.arsdigita.bebop.Page; import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.ParameterSingleSelectionModel; import com.arsdigita.bebop.SimpleContainer; import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.event.ActionEvent; @@ -32,6 +35,7 @@ import com.arsdigita.bebop.event.ChangeEvent; import com.arsdigita.bebop.event.ChangeListener; import com.arsdigita.bebop.form.Submit; +import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.categorization.CategorizedCollection; import com.arsdigita.categorization.Category; import com.arsdigita.categorization.CategoryCollection; @@ -75,40 +79,35 @@ * @version $Id$ */ class CategoryItemPane extends BaseItemPane { - - private static final Logger s_log = Logger.getLogger - (CategoryItemPane.class); - + + private static final Logger s_log = Logger.getLogger(CategoryItemPane.class); private final SingleSelectionModel m_model; private final CategoryRequestLocal m_category; - private final SimpleContainer m_detailPane; public CategoryItemPane(final SingleSelectionModel model, - final CategoryRequestLocal category, - final ActionLink addLink, - final ActionLink editLink, - final ActionLink deleteLink) { + final CategoryRequestLocal category, + final ActionLink addLink, + final ActionLink editLink, + final ActionLink deleteLink) { m_model = model; m_category = category; // Details - m_detailPane = new SimpleContainer(); add(m_detailPane); setDefault(m_detailPane); final ActionLink orderItemsLink = new ActionLink(new Label( - gz("cms.ui.category.categorized_objects"))) { + gz("cms.ui.category.categorized_objects"))) { @Override public boolean isVisible(PageState state) { // update for live items only if (!super.isVisible(state)) { return false; } - CategorizedCollection items = m_category.getCategory - (state).getObjects(ContentItem.BASE_DATA_OBJECT_TYPE); - items.addEqualsFilter(ContentItem.VERSION,ContentItem.LIVE); + CategorizedCollection items = m_category.getCategory(state).getObjects(ContentItem.BASE_DATA_OBJECT_TYPE); + items.addEqualsFilter(ContentItem.VERSION, ContentItem.LIVE); boolean canOrder = items.size() > 1; items.close(); return canOrder; @@ -123,55 +122,54 @@ // Change index item final ActionLink indexLink = new ActionLink(new Label(gz( - "cms.ui.category.change_index_item"))); + "cms.ui.category.change_index_item"))); final Form indexForm = new IndexItemSelectionForm(m_category); add(indexForm); ViewItemLink viewIndexLink = new ViewItemLink(new Label(gz( - "cms.ui.category.view_index_item")),""); + "cms.ui.category.view_index_item")), ""); EditItemLink editIndexLink = new EditItemLink(new Label(gz( - "cms.ui.category.edit_index_item")),""); + "cms.ui.category.edit_index_item")), ""); // Summary m_detailPane.add(new SummarySection(editLink, deleteLink, indexLink, - viewIndexLink, editIndexLink, orderItemsLink)); - + viewIndexLink, editIndexLink, orderItemsLink)); + // Quasimodo: BEGIN // Localizations ActionLink addCategoryLocalizationLink = new ActionLink(new Label(gz( - "cms.ui.category.localization_add"))) { + "cms.ui.category.localization_add"))) { @Override public boolean isVisible(PageState state) { // Only show addLanguage button, if there are langauges to add - int countSupportedLanguages = ( - Kernel.getConfig()).getSupportedLanguagesTokenizer() - .countTokens(); - long countLanguages = + int countSupportedLanguages = (Kernel.getConfig()).getSupportedLanguagesTokenizer() + .countTokens(); + long countLanguages = m_category.getCategory(state) - .getCategoryLocalizationCollection().size(); - - if(countLanguages < countSupportedLanguages) { + .getCategoryLocalizationCollection().size(); + + if (m_category.getCategory(state).canEdit() + && countLanguages < countSupportedLanguages) { return true; } else { return false; } } }; - + CategoryLocalizationAddForm addCategoryLocalizationForm = - new CategoryLocalizationAddForm(m_category); + new CategoryLocalizationAddForm(m_category); m_detailPane.add(new CategoryLocalizationSection(addCategoryLocalizationLink)); add(addCategoryLocalizationForm); connect(addCategoryLocalizationLink, addCategoryLocalizationForm); connect(addCategoryLocalizationForm); // Quasimodo: END - + // Subcategories m_detailPane.add(new SubcategorySection(addLink)); // Linked categories - final ActionLink linkAddLink = new ActionLink - (new Label(gz("cms.ui.category.linked_add"))); + final ActionLink linkAddLink = new ActionLink(new Label(gz("cms.ui.category.linked_add"))); final Form linkForm = new LinkForm(m_category); add(linkForm); @@ -196,6 +194,7 @@ } private class EditVisible extends VisibilityComponent { + EditVisible(final Component child) { super(child, null); } @@ -207,6 +206,7 @@ } private class AdminVisible extends VisibilityComponent { + AdminVisible(final Component child) { super(child, null); } @@ -220,9 +220,9 @@ private class SummarySection extends Section { SummarySection(final ActionLink editLink, - final ActionLink deleteLink, - final ActionLink indexLink, - final ActionLink orderItemsLink) { + final ActionLink deleteLink, + final ActionLink indexLink, + final ActionLink orderItemsLink) { setHeading(new Label(gz("cms.ui.category.details"))); final ActionGroup group = new ActionGroup(); @@ -241,11 +241,11 @@ * the user to view and edit the content index item. */ SummarySection(final ActionLink editLink, - final ActionLink deleteLink, - final ActionLink indexLink, - final BaseLink viewIndexItem, - final BaseLink editIndexItem, - final ActionLink orderItemsLink) { + final ActionLink deleteLink, + final ActionLink indexLink, + final BaseLink viewIndexItem, + final BaseLink editIndexItem, + final ActionLink orderItemsLink) { setHeading(new Label(gz("cms.ui.category.details"))); final ActionGroup group = new ActionGroup(); @@ -262,6 +262,7 @@ } private class Properties extends PropertyList { + @Override protected final java.util.List properties(final PageState state) { final java.util.List props = super.properties(state); @@ -272,20 +273,19 @@ if (item != null) { itemTitle = item.getDisplayName(); - } else if (!category.ignoreParentIndexItem() - && category.getParentCategoryCount() > 0) - { - Category ancestor = findParentCategoryWithNonInheritedIndexItem(category); - if (ancestor != null) { - if (ancestor.getIndexObject() != null) { - itemTitle = ancestor.getIndexObject().getDisplayName(); - } - itemTitle += " (Inherited from " - + ancestor.getDisplayName() + ")"; - } else { - // The complete hierarchy is set to inherit. - // Just leave the itemTitle as None. - } + } else if (!category.ignoreParentIndexItem() + && category.getParentCategoryCount() > 0) { + Category ancestor = findParentCategoryWithNonInheritedIndexItem(category); + if (ancestor != null) { + if (ancestor.getIndexObject() != null) { + itemTitle = ancestor.getIndexObject().getDisplayName(); + } + itemTitle += " (Inherited from " + + ancestor.getDisplayName() + ")"; + } else { + // The complete hierarchy is set to inherit. + // Just leave the itemTitle as None. + } } props.add(new Property(gz("cms.ui.name"), @@ -295,57 +295,77 @@ props.add(new Property(gz("cms.ui.category.url"), category.getURL(""))); props.add(new Property(gz("cms.ui.category.is_not_abstract"), - category.isAbstract() ? - gz("cms.ui.no") : - gz("cms.ui.yes"))); + category.isAbstract() + ? gz("cms.ui.no") + : gz("cms.ui.yes"))); props.add(new Property(gz("cms.ui.category.is_enabled"), - category.isEnabled("") ? - gz("cms.ui.yes") : - gz("cms.ui.no"))); + category.isEnabled("") + ? gz("cms.ui.yes") + : gz("cms.ui.no"))); props.add(new Property(gz("cms.ui.category.index_item"), - itemTitle)); + itemTitle)); return props; } } } - + // Loop over the parents and recurse up the hierarchy the find the first // parent with an explicit index item ignoreParentIndexItem is true. private Category findParentCategoryWithNonInheritedIndexItem(Category c) { - if (c.getParentCategoryCount() == 0) { - return null; - } - CategoryCollection parents = c.getParents(); - while (parents.next()) { - Category p = parents.getCategory(); - if (p.getDirectIndexObject() != null || p.ignoreParentIndexItem()) { - return p; - } - // Try the parents of this parent. - Category gp = findParentCategoryWithNonInheritedIndexItem(p); - if (gp != null) { - return gp; - } - } - return null; + if (c.getParentCategoryCount() == 0) { + return null; + } + CategoryCollection parents = c.getParents(); + while (parents.next()) { + Category p = parents.getCategory(); + if (p.getDirectIndexObject() != null || p.ignoreParentIndexItem()) { + return p; + } + // Try the parents of this parent. + Category gp = findParentCategoryWithNonInheritedIndexItem(p); + if (gp != null) { + return gp; + } + } + return null; } - + // Quasimodo: BEGIN // CategoryLocalizationSection private class CategoryLocalizationSection extends Section { + + private CategoryLocalizationTable m_catLocalizationTable; + private CategoryLocalizationEditForm m_editCategoryLocalizationForm; + private StringParameter m_catLocaleParam; + private ParameterSingleSelectionModel m_catLocale; + CategoryLocalizationSection(ActionLink addLink) { setHeading(new Label(gz("cms.ui.category.localizations"))); - + m_catLocaleParam = new StringParameter("catLocale"); + m_catLocale = new ParameterSingleSelectionModel(m_catLocaleParam); + final ActionGroup group = new ActionGroup(); setBody(group); - - group.setSubject(new CategoryLocalizationTable(m_category, m_model)); + m_catLocalizationTable = new CategoryLocalizationTable(m_category, m_model, m_catLocale); + group.setSubject(m_catLocalizationTable); group.addAction(new AdminVisible(addLink), ActionGroup.ADD); + + m_editCategoryLocalizationForm = new CategoryLocalizationEditForm(m_category, m_catLocale); + add(m_editCategoryLocalizationForm); + connect(m_editCategoryLocalizationForm); + connect(m_catLocalizationTable, 0, m_editCategoryLocalizationForm); } + + @Override + public void register(Page page) { + super.register(page); + page.addComponentStateParam(m_editCategoryLocalizationForm, m_catLocaleParam); + } } private class SubcategorySection extends Section { + SubcategorySection(final ActionLink addLink) { setHeading(new Label(gz("cms.ui.category.subcategories"))); @@ -358,6 +378,7 @@ } private class LinkedCategorySection extends Section { + LinkedCategorySection(final ActionLink linkAddLink) { setHeading(new Label(gz("cms.ui.category.linked"))); @@ -375,6 +396,7 @@ } private class CategoryTemplateSection extends Section { + CategoryTemplateSection() { setHeading(new Label(gz("cms.ui.category.templates"))); @@ -388,6 +410,7 @@ } private class PermissionsSection extends Section { + @Override public boolean isVisible(PageState ps) { Category cat = m_category.getCategory(ps); @@ -400,7 +423,7 @@ final ActionGroup group = new ActionGroup(); setBody(group); - PrivilegeDescriptor[] privs = new PrivilegeDescriptor[] { + PrivilegeDescriptor[] privs = new PrivilegeDescriptor[]{ PrivilegeDescriptor.EDIT, Category.MAP_DESCRIPTOR, PrivilegeDescriptor.DELETE, @@ -413,8 +436,7 @@ privMap.put(Category.MAP_DESCRIPTOR.getName(), "Categorize Items"); privMap.put("admin", "Admin"); - final CMSPermissionsPane permPane = new CMSPermissionsPane - (privs, privMap, new ACSObjectSelectionModel(m_model)) { + final CMSPermissionsPane permPane = new CMSPermissionsPane(privs, privMap, new ACSObjectSelectionModel(m_model)) { @Override public void showAdmin(PageState ps) { Assert.exists(m_model.getSelectedKey(ps)); @@ -425,7 +447,7 @@ }; final ActionLink restoreDefault = new ActionLink(new Label(gz( - "cms.ui.restore_default_permissions"))) { + "cms.ui.restore_default_permissions"))) { @Override public boolean isVisible(PageState ps) { Category cat = m_category.getCategory(ps); @@ -434,7 +456,7 @@ }; final ActionLink useCustom = new ActionLink(new Label(gz( - "cms.ui.use_custom_permissions"))) { + "cms.ui.use_custom_permissions"))) { @Override public boolean isVisible(PageState ps) { Category cat = m_category.getCategory(ps); @@ -460,18 +482,18 @@ parent = cat.getDefaultParentCategory(); } catch (CategoryNotFoundException ce) { throw new IllegalStateException( - "link shouldn't exist for root categories"); + "link shouldn't exist for root categories"); } PermissionService.setContext(cat, parent); // revoke all direct permissions so category will only // have inherited permissions ObjectPermissionCollection perms = - PermissionService.getDirectGrantedPermissions( + PermissionService.getDirectGrantedPermissions( cat.getOID()); while (perms.next()) { PermissionService.revokePermission( - new PermissionDescriptor( + new PermissionDescriptor( perms.getPrivilege(), cat.getOID(), perms.getGranteeOID())); } @@ -510,26 +532,26 @@ add(new Submit("Done")); } - } /* * This private class creates a link to the index item for a category. */ private class ViewItemLink extends Link { + ViewItemLink(Component c, String s) { - super(c,s); + super(c, s); } - // Build the preview link. This uses a standard redirect link to find + // Build the preview link. This uses a standard redirect link to find // the content. The prepareURL method is called by the printwriter @Override protected String prepareURL(final PageState state, String location) { - ContentItem indexItem = ((ContentBundle)(m_category.getCategory(state) - .getDirectIndexObject())) - .getPrimaryInstance(); - if(indexItem==null) { + ContentItem indexItem = ((ContentBundle) (m_category.getCategory(state) + .getDirectIndexObject())) + .getPrimaryInstance(); + if (indexItem == null) { return ""; } else { return "/redirect/?oid=" + URLEncoder.encode(indexItem.getOID().toString()); @@ -543,7 +565,7 @@ return false; } ACSObject indexItem = m_category.getCategory(state).getDirectIndexObject(); - if(indexItem==null) { + if (indexItem == null) { return false; } else { return true; @@ -552,37 +574,40 @@ }; private class EditItemLink extends Link { + EditItemLink(Component c, String s) { - super(c,s); + super(c, s); } /** - * Build the preview link. This is based on code in the - * ContentSoonExpiredPane class. The prepareURL method of the parent - * is overwritten. This method is called by the printwriter + * Build the preview link. This is based on code in the + * ContentSoonExpiredPane class. The prepareURL method of the parent is + * overwritten. This method is called by the printwriter */ @Override protected String prepareURL(final PageState state, String location) { boolean canEdit = false; - ContentItem indexItem = ((ContentBundle)(m_category.getCategory(state) - .getDirectIndexObject())) - .getPrimaryInstance(); - if(indexItem==null) { + ContentItem indexItem = ((ContentBundle) (m_category.getCategory(state) + .getDirectIndexObject())) + .getPrimaryInstance(); + if (indexItem == null) { return ""; } - if (!isItemEditable(indexItem,state)) { + if (!isItemEditable(indexItem, state)) { return ""; } else { BigDecimal draftID = indexItem.getDraftVersion().getID(); - return "item.jsp?item_id=" + draftID + "&set_tab=" + - ContentItemPage.AUTHORING_TAB; + return "item.jsp?item_id=" + draftID + "&set_tab=" + + ContentItemPage.AUTHORING_TAB; } } /** * We only show this link when an index item exists for this category * and the user is allowed to edit this item. + * * @param state + * * @return */ @Override @@ -591,32 +616,33 @@ return false; } ACSObject indexItem = m_category.getCategory(state).getDirectIndexObject(); - if(indexItem==null) { + if (indexItem == null) { return false; } else { - return isItemEditable((ContentItem)indexItem,state); + return isItemEditable((ContentItem) indexItem, state); } } /** - * This method checks whether a usern is allowed to edit a - * particular item. + * This method checks whether a usern is allowed to edit a particular + * item. * * @param item * @param state + * * @return */ private boolean isItemEditable(ContentItem item, PageState state) { BigDecimal id = item.getID(); User user = Web.getContext().getUser(); ContentItem ci = new ContentItem(new OID(ContentItem.class.getName(), - Integer.parseInt(id.toString()))); + Integer.parseInt(id.toString()))); Iterator permissions = PermissionService.getImpliedPrivileges( - ci.getOID(), user.getOID()); + ci.getOID(), user.getOID()); while (permissions.hasNext()) { - PrivilegeDescriptor permission = (PrivilegeDescriptor)permissions.next(); - if (permission.equals(PrivilegeDescriptor.ADMIN) || - permission.equals(PrivilegeDescriptor.EDIT)) { + PrivilegeDescriptor permission = (PrivilegeDescriptor) permissions.next(); + if (permission.equals(PrivilegeDescriptor.ADMIN) + || permission.equals(PrivilegeDescriptor.EDIT)) { return true; } } Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -20,6 +20,7 @@ import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormSectionEvent; @@ -37,30 +38,27 @@ * in order to present forms for managing the multi-language categories. * * @author Sören Bernstein (quasimodo) qu...@ze... - * @version $Id: CategoryLocalizationEditForm.java $ + * @version $Id: CategoryLocalizationEditForm.java $ */ public class CategoryLocalizationEditForm extends CategoryLocalizationForm { - + private static final Logger s_log = Logger.getLogger (CategoryLocalizationEditForm.class); - - private final String m_categoryLocalizationLocale; - + + private final SingleSelectionModel m_catLocale; /** * Creates a new instance of CategoryLocalizationEditForm */ - public CategoryLocalizationEditForm(final CategoryRequestLocal category, - final String locale) { - + public CategoryLocalizationEditForm(final CategoryRequestLocal category, SingleSelectionModel catLocale) { + super("EditCategoryLocalization", gz( "cms.ui.category.localization_edit"), category); - - // Speichere Locale ab - m_categoryLocalizationLocale = locale; - + + m_catLocale = catLocale; + addInitListener(new InitListener()); addProcessListener(new ProcessListener()); - + } /** @@ -69,45 +67,46 @@ private class InitListener implements FormInitListener { public final void init(final FormSectionEvent e) throws FormProcessException { - + final PageState state = e.getPageState(); final Category category = m_category.getCategory(state); + final String categoryLocalizationLocale = (String) m_catLocale.getSelectedKey(state); + // Hide Locale-Widget and lock it (read-only) - m_locale.addOption(new Option(m_categoryLocalizationLocale, - new Locale(m_categoryLocalizationLocale).getDisplayLanguage()), state); -// m_locale.setValue(state, m_categoryLocalizationLocale); + m_locale.addOption(new Option(categoryLocalizationLocale, + new Locale(categoryLocalizationLocale).getDisplayLanguage()), state); + m_locale.setValue(state, categoryLocalizationLocale); // m_locale.setVisible(state, false); m_locale.lock(); - - m_name.setValue(state, category.getName((String) m_locale.getValue(state))); - m_description.setValue(state, category.getDescription( - (String) m_locale.getValue(state))); - m_url.setValue(state, category.getURL((String) m_locale.getValue(state))); - if (category.isEnabled((String) m_locale.getValue(state))) { + m_name.setValue(state, category.getName(categoryLocalizationLocale)); + m_description.setValue(state, category.getDescription(categoryLocalizationLocale)); + m_url.setValue(state, category.getURL(categoryLocalizationLocale)); + + if (category.isEnabled(categoryLocalizationLocale)) { m_isEnabled.setValue(state, "yes"); } else { m_isEnabled.setValue(state, "no"); } } } - + /** * ##todo: document purpose of this */ private class ProcessListener implements FormProcessListener { public final void process(final FormSectionEvent e) throws FormProcessException { - + final PageState state = e.getPageState(); final Category category = m_category.getCategory(state); - + if (s_log.isDebugEnabled()) { s_log.debug("Editing localization for locale " + m_locale + " for category " + category); } - + if (category.canEdit()) { category.setName((String) m_name.getValue(state), (String) m_locale.getValue(state)); Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java 2012-12-16 20:22:48 UTC (rev 2391) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java 2012-12-16 20:27:20 UTC (rev 2392) @@ -21,7 +21,6 @@ import com.arsdigita.bebop.Component; import com.arsdigita.bebop.ControlLink; import com.arsdigita.bebop.Label; -import com.arsdigita.bebop.Link; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.Table; @@ -35,13 +34,7 @@ import com.arsdigita.categorization.Category; import com.arsdigita.categorization.CategoryLocalization; import com.arsdigita.categorization.CategoryLocalizationCollection; -import com.arsdigita.cms.CMS; -import com.arsdigita.cms.ContentSection; -import com.arsdigita.cms.SecurityManager; -import com.arsdigita.cms.dispatcher.ItemResolver; -import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.util.GlobalizationUtil; -import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.util.LockableImpl; import java.math.BigDecimal; import java.util.Locale; @@ -49,8 +42,8 @@ /** * Lists all existing localizations for a selected category. * - * This class is part of the admin GUI of CCM and extends the standard form - * in order to present forms for managing the multi-language categories. + * This class is part of the admin GUI of CCM and extends the standard form in + * order to present forms for managing the multi-language categories. * * @author Sören Bernstein (quasimodo) qu...@ze... */ @@ -60,17 +53,18 @@ private final SingleSelectionModel m_model; private final String TABLE_COL_LANG = "table_col_lang"; private final String TABLE_COL_DEL = "table_col_del"; + private final SingleSelectionModel m_catLocale; /** * Creates a new instance of CategoryLocalizationTable */ - public CategoryLocalizationTable(final CategoryRequestLocal category, - final SingleSelectionModel model) { + public CategoryLocalizationTable(final CategoryRequestLocal category, final SingleSelectionModel model, SingleSelectionModel catLocale) { super(); m_category = category; m_model = model; + m_catLocale = catLocale; // if table is empty: setEmptyView(new Label(GlobalizationUtil.globalize( @@ -139,7 +133,7 @@ /** * Check collection for the existence of another row. - * + * * If exists, fetch the value of current CategoryLocalization object * into m_categoryLocalization class variable. */ @@ -158,6 +152,7 @@ /** * Return the + * * @see com.arsdigita.bebop.table.TableModel#getElementAt(int) */ public Object getElementAt(int columnIndex) { @@ -194,25 +189,15 @@ private class EditCellRenderer extends LockableImpl implements TableCellRenderer { public Component getComponent(Table table, PageState state, Object value, - boolean isSelected, Object key, + boolean isSelected, final Object key, int row, int column) { -// -// if (canEdit) { -// CategoryLocalization cl; -// -// try { -// cl = new CategoryLocalization((BigDecimal) key); -// } catch (DataObjectNotFoundException ex) { -// return new Label(value.toString()); -// } -// -// ContentSection section = CMS.getContext().getContentSection(); -// ItemResolver resolver = section.getItemResolver(); -// -// return new Link(value.toString(), resolver.generateItemURL(state, cl, section, cl.getVersion())); - ControlLink link = new ControlLink(value.toString()); - return link; + + if (m_category.getCategory(state).canEdit()) { + return new ControlLink(value.toString()); + } else { + return new Label(value.toString()); + } } } @@ -222,17 +207,21 @@ boolean isSelected, Object key, int row, int column) { - ControlLink link = new ControlLink(value.toString()); - link.setConfirmation((String) GlobalizationUtil.globalize( - "cms.ui.category.localization_confirm_delete").localize()); - return link; + if (m_category.getCategory(state).canDelete()) { + ControlLink link = new ControlLink(value.toString()); + link.setConfirmation((String) GlobalizationUtil.globalize( + "cms.ui.category.localization_confirm_delete").localize()); + return link; + } else { + return null; + } } } /** - * Provide implementation to TableActionListener method. - * Code that comes into picture when a link on the table is clicked. - * Handles edit and delete event. + * Provide implementation to TableActionListener method. Code that comes + * into picture when a link on the table is clicked. Handles edit and delete + * event. */ public void cellSelected(TableActionEvent evt) { @@ -250,6 +239,7 @@ // Edit ... [truncated message content] |
From: <pb...@fe...> - 2012-12-16 20:22:56
|
Author: pboy Date: 2012-12-16 20:22:48 +0000 (Sun, 16 Dec 2012) New Revision: 2391 Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java releases/2.0.0/ccm-navigation/src/WEB-INF/navigation/templates.txt releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java Log: Added log date format. (backport r2388) (on behalf of quasimodo) Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericArticlePropertyForm.java 2012-12-16 20:22:48 UTC (rev 2391) @@ -72,7 +72,7 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { - super.validate(e); + super.validate(e); } /** Form initialisation hook. Fills widgets with data. */ Modified: releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java =================================================================== --- releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-16 20:22:48 UTC (rev 2391) @@ -182,4 +182,4 @@ localize()); } } -} \ No newline at end of file +} Modified: releases/2.0.0/ccm-navigation/src/WEB-INF/navigation/templates.txt =================================================================== --- releases/2.0.0/ccm-navigation/src/WEB-INF/navigation/templates.txt 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-navigation/src/WEB-INF/navigation/templates.txt 2012-12-16 20:22:48 UTC (rev 2391) @@ -1,4 +1,4 @@ -Navigation Default Index Page,Default Navigation Index Page ordering items in ascending order,/templates/ccm-ldn-navigation/navigation/nav-default.jsp -Navigation Recent Items,List of items ordered with most recent first,/templates/ccm-ldn-navigation/navigation/nav-recent.jsp -Navigation A-Z Items,List of items paginated as A-Z,/templates/ccm-ldn-navigation/navigation/nav-atoz.jsp -Navigation Demo Items Page,Demo items page,/templates/ccm-ldn-navigation/navigation/nav-demo.jsp +Navigation Default Index Page,Default Navigation Index Page ordering items in ascending order,/templates/ccm-navigation/navigation/nav-default.jsp +Navigation Recent Items,List of items ordered with most recent first,/templates/ccm-navigation/navigation/nav-recent.jsp +Navigation A-Z Items,List of items paginated as A-Z,/templates/ccm-navigation/navigation/nav-atoz.jsp +Navigation Demo Items Page,Demo items page,/templates/ccm-navigation/navigation/nav-demo.jsp Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java =================================================================== --- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java 2012-12-16 20:22:48 UTC (rev 2391) @@ -195,6 +195,13 @@ m_properties.add(property); } + /** + * Get a collection of objects from the database defined by model or + * null if the requested object type is invalid + * + * @param model + * @return data collection or null + */ public final DataCollection getDataCollection(NavigationModel model) { Assert.isLocked(this); Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java =================================================================== --- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/DataCollectionRenderer.java 2012-12-16 20:22:48 UTC (rev 2391) @@ -105,7 +105,8 @@ /** * Sets the context of the traversal adapter used the render the objects - * if {@link #m_specializeObjects} is set to <code>true</code> + * if {@link #m_specializeObjects} is set to + * <code>true</code> * * @param context The adapter context. */ @@ -125,6 +126,7 @@ /** * @param objects * @param pageNumber current page, starting from 1 + * * @return */ public Element generateXML(DataCollection objects, @@ -140,7 +142,7 @@ // Quasimodo: End Element content = Navigation.newElement("objectList"); - + //Return the empty nav:item & nav:paginator tags. // Quasimodo: Why should I??? There is no need for a paginator if there aren't any elements if (!m_navItems) { @@ -203,9 +205,9 @@ paginator.addAttribute("objectCount", new Long(objectCount).toString()); content.addContent(paginator); - + int index = 0; - while (objects.next()) { + while (objects.next()) { DataObject dobj = objects.getDataObject(); ACSObject object = null; if (m_specializeObjects) { @@ -216,8 +218,8 @@ } else { s_log.debug("Specializing successful."); } - } - Element item = Navigation.newElement(content, "item"); + } + Element item = Navigation.newElement(content, "item"); Iterator attributes = m_attributes.iterator(); while (attributes.hasNext()) { @@ -225,13 +227,13 @@ String[] paths = StringUtils.split(name, '.'); outputValue(item, dobj, name, paths, 0); } - + Iterator properties = m_properties.iterator(); while (properties.hasNext()) { DataCollectionPropertyRenderer property = (DataCollectionPropertyRenderer) properties.next(); property.render(objects, item); } - + Element path = Navigation.newElement(item, "path"); path.setText(getStableURL(dobj, object)); //item.addContent(path); @@ -239,9 +241,9 @@ generateItemXML(item, dobj, object, index); index++; - //content.addContent(item); + //content.addContent(item); } - + return content; } @@ -300,12 +302,13 @@ // Quasimodo: BEGIN // Add attributes for date and time Locale negLocale = com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale(); - DateFormat dateFormatter = DateFormat.getDateInstance( - DateFormat.MEDIUM, negLocale); - DateFormat timeFormatter = DateFormat.getTimeInstance( - DateFormat.SHORT, negLocale); + DateFormat dateFormatter = DateFormat.getDateInstance(DateFormat.MEDIUM, negLocale); + DateFormat longDateFormatter = DateFormat.getDateInstance(DateFormat.LONG, negLocale); + DateFormat timeFormatter = DateFormat.getTimeInstance(DateFormat.SHORT, negLocale); attribute.addAttribute("date", dateFormatter.format(date)); + attribute.addAttribute("longDate", longDateFormatter.format(date)); attribute.addAttribute("time", timeFormatter.format(date)); + attribute.addAttribute("monthName", calDate.getDisplayName(Calendar.MONTH, Calendar.LONG, negLocale)); // Quasimodo: END } Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java =================================================================== --- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java 2012-12-16 20:22:48 UTC (rev 2391) @@ -21,19 +21,21 @@ import com.arsdigita.kernel.Kernel; import com.arsdigita.navigation.DataCollectionDefinition; import com.arsdigita.navigation.DataCollectionRenderer; - import com.arsdigita.persistence.DataCollection; - import com.arsdigita.persistence.Filter; import com.arsdigita.persistence.FilterFactory; import com.arsdigita.util.Assert; import com.arsdigita.util.UncheckedWrapperException; - import com.arsdigita.xml.Element; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +/** + * Abstract base class for object lists + * + * @author unknown + * @author Sören Bernstein (quasimodo) <sbe...@ze...> + */ public abstract class AbstractObjectList extends AbstractComponent implements ObjectList { @@ -58,6 +60,14 @@ return m_renderer; } + /** + * Get a list of objects from the database which meet a set criteria or + * null if the requested object type is invalid + * + * @param request + * @param response + * @return the object list or null + */ protected DataCollection getObjects(HttpServletRequest request, HttpServletResponse response) { Modified: releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java =================================================================== --- releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java 2012-12-16 20:05:43 UTC (rev 2390) +++ releases/2.0.0/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java 2012-12-16 20:22:48 UTC (rev 2391) @@ -15,22 +15,22 @@ import com.arsdigita.navigation.Navigation; import com.arsdigita.navigation.ui.AbstractObjectList; - import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.Filter; import com.arsdigita.persistence.FilterFactory; - - import com.arsdigita.xml.Element; import java.util.HashMap; import java.util.Iterator; import java.util.Map; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * A complex object list + * + * An object list which will accept SQL filters to customize the content easily. + * + * @author Sören Bernstein <sbe...@qu...> */ public class ComplexObjectList extends AbstractObjectList { @@ -41,42 +41,75 @@ protected Map<String, String> m_customAttributes = new HashMap<String, String>(); + // Getter / Setter + + /** + * Sets a custom name for this list. + * @param name the list name + */ public void setCustomName(String name) { m_customName = name; } + /** + * Gets the costum name for this list. + * @return the list name + */ public String getCustomName() { return m_customName; } /** - * Hinzufügen eines SQL-Filter zur Abfrage - * Verarbeitet einen boolschen Filter, der SQL-konform Formatiert ist. - * Siehe PostgreSQL-Handbuch zur where-Klausel - * @param sqlfilter + * Adds a custom attribute + * + * @param attribute + * @param value */ + public void addCustomAttribute(final String attribute, final String value) { + m_customAttributes.put(attribute, value); + } + + /** + * Gets a custom attribute + * + * @param attribute + * @return + */ + public String getCustomAttribute(final String attribute) { + return m_customAttributes.get(attribute); + } + + + /** + * Add a SQL filter to query. + * This filter can handle wildcards which have to be set with {@link #setParameter(java.lang.String, java.lang.Object)} + * + *See PostgreSQL handbook about where clause + * + * @param sqlfilter the sql filter + */ public void setSQLFilter(String sqlfilter) { m_filter = sqlfilter; } + /** + * Set parameter for for sql filter. + * + * @param parameterName the parameter name of the + * @param value the value attached to the parameter + */ public void setParameter(String parameterName, Object value) { m_filterParameters.put(parameterName, value); } - public String getCustomAttribute(final String attribute) { - return m_customAttributes.get(attribute); - } - - public void addCustomAttribute(final String attribute, final String value) { - m_customAttributes.put(attribute, value); - } - - /* Diese Methode überschreibt die Methode aus der Eltern-Klasse, um - * die SQL-Filter berücksichtigen zu können + /** + * Get all objects for this list. + * + * Overrides the parent class to allow for sql filter */ @Override protected DataCollection getObjects(HttpServletRequest request, @@ -112,7 +145,7 @@ return objects; } - /* Diese Methode wird vom Servlet aufgerufen */ + /* This method will be called by the servlet */ public Element generateXML(HttpServletRequest request, HttpServletResponse response) { Element content = Navigation.newElement("complexObjectList"); |
From: <pb...@fe...> - 2012-12-16 20:05:54
|
Author: pboy Date: 2012-12-16 20:05:43 +0000 (Sun, 16 Dec 2012) New Revision: 2390 Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java trunk/ccm-core/src/com/arsdigita/categorization/Category.java trunk/ccm-core/src/com/arsdigita/categorization/CategoryLocalizationCollection.java trunk/ccm-navigation/src/com/arsdigita/navigation/DataCollectionDefinition.java trunk/ccm-navigation/src/com/arsdigita/navigation/ui/AbstractObjectList.java trunk/ccm-navigation/src/com/arsdigita/navigation/ui/object/ComplexObjectList.java Log: UI enhancement: category localisation now editable, contentbundle sorted by locale. (on behalf of quasimodo) Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-16 19:58:08 UTC (rev 2389) +++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources.properties 2012-12-16 20:05:43 UTC (rev 2390) @@ -105,7 +105,7 @@ cms.contenttypes.ui.event_end_time=Event End Time: cms.contenttypes.ui.government_uid=Government UID: cms.contenttypes.ui.grade=Grade: -cms.contenttypes.ui.homepage=Homepage? +cms.contenttypes.ui.homepage=Homepage: cms.contenttypes.ui.job_description=Job Description: cms.contenttypes.ui.launch_date=Launch Date: cms.contenttypes.ui.lead=Description: Modified: trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-16 19:58:08 UTC (rev 2389) +++ trunk/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties 2012-12-16 20:05:43 UTC (rev 2390) @@ -70,7 +70,7 @@ cms.contenttypes.shared.assign_categories.title=Kategorien zuweisen cms.contenttypes.shared.assign_categories.description=Kategorien zuweisen cms.contenttypes.shared.attach_files.title=Dateien zuordnen -cms.contenttypes.shared.attach_files.description=Dateien anh\u00c4ngen +cms.contenttypes.shared.attach_files.description=Dateien anh\u00e4ngen cms.contenttypes.shared.basic_properties.description=Basiseigenschaften editieren cms.contenttypes.shared.basic_properties.title=Basiseigenschaften cms.contenttypes.shared.body_text.title=Haupttext @@ -105,7 +105,7 @@ cms.contenttypes.ui.event_end_time=Event Ende um\: cms.contenttypes.ui.government_uid=Government UID: cms.contenttypes.ui.grade=Grad: -cms.contenttypes.ui.homepage=Homepage? +cms.contenttypes.ui.homepage=Homepage: cms.contenttypes.ui.job_description=Job Beschreibung: cms.contenttypes.ui.launch_date=Ver\u00f6ffentlichungsdatum: cms.contenttypes.ui.lead=Beschreibung (Lead Text): @@ -160,8 +160,8 @@ cms.installer.cannot_find_group_for_email=Kann email-Gruppe nicht finden cms.installer.cannot_read_line_of_data=Kann Datensatz nicht lesen cms.installer.cannot_set_template_text=Kann Template Text nicht festlegen -cms.installer.could_not_load_section=Kann die folgende ContentSection nicht laden '{0}' -cms.installer.deploy=anwenden +cms.installer.could_not_load_section=Kann die ContentSection '{0}' nicht laden +cms.installer.deploy=Anwenden cms.installer.failed_to_update_the_default_content_section=Update der Default Content Section gescheitert. cms.installer.formbuilder.form=Form cms.installer.formbuilder.form_section=Form Abschnitt @@ -187,7 +187,7 @@ cms.publishToFile.could_not_get_object_for_oid=Could not get object for oid cms.publishToFile.error_executing=Ausf\u00fchrungsfehler bei '{0}' \: cms.publishToFile.exit_value_was=Exit Code war -cms.publishToFile.interrupted_when_doing=Unterbrochen bei Ausf\u00fchren von '{0}' +cms.publishToFile.interrupted_when_doing=Unterbrochen beim Ausf\u00fchren von '{0}' cms.publishToFile.invalid_brokenlinkaction=Ung\u00fcltige BrokenLinkAction\: cms.publishToFile.invalid_reference_target_type=Ung\u00fcltige reference target type\: cms.publishToFile.malformed_url=Falsche Struktur der URL\: @@ -232,7 +232,7 @@ cms.ui.browse=Dokumente cms.ui.browse_items_by_category=Durchsicht der Elemente nach Kategorien cms.ui.cancel=Abbruch -cms.ui.cancel_hit=Abbruch dr\u00fccken +cms.ui.cancel_hit=Abbruch gedr\u00fcckt cms.ui.cancelled=abgebrochen cms.ui.cannot_assign_groups_to_owner=cannot assign groups to owner cms.ui.categories=Kategorien @@ -241,7 +241,7 @@ cms.ui.content_item=Dokument cms.ui.content_section=Content section cms.ui.content_section_configuration=<h2>Content Section Configuration</h2> -cms.ui.content_types=Dokument Typen +cms.ui.content_types=Dokumenttypen cms.ui.contents_of=Inhalt von cms.ui.create=Erstellen cms.ui.cse=Bald abgelaufen @@ -324,10 +324,10 @@ cms.ui.template=Vorlage cms.ui.Templates=Vorlagen cms.ui.the_model_is_empty=Das Modell ist leer -cms.ui.there_are_no_items=Keine elemente vorhanden. +cms.ui.there_are_no_items=Keine Elemente vorhanden. cms.ui.there_was_no_one_matching_the_search_criteria=Kein Element erf\u00fcllte die Suchkriterien. cms.ui.this_should_never_happen=Dies sollte nie passieren\! -cms.ui.types=Dokument Typen +cms.ui.types=Dokumenttypen cms.ui.unknown=unbekannt cms.ui.upload_new_content=Neuen Inhalt laden cms.ui.use_custom_permissions=Benutzerspezifische Rechte @@ -352,9 +352,9 @@ # Package com.arsdigita.cms.ui.authoring # ====================================== -cms.ui.authoring.an_item_with_this_name_already_exists=Ein Item mit diesem Namen existiert +cms.ui.authoring.an_item_with_this_name_already_exists=Ein Item mit diesem Namen existiert bereits cms.ui.authoring.bad_getblob_datatype=Ung\u00fcltiger Datentyp getBlob -cms.ui.authoring.bad_getclob_datatype=Ung\u00fcltiger Datentyp getBlob +cms.ui.authoring.bad_getclob_datatype=Ung\u00fcltiger Datentyp getClob cms.ui.authoring.body=Textbereich: cms.ui.authoring.caption=Untertitel: cms.ui.authoring.content_type=Inhaltstyp: @@ -457,7 +457,7 @@ cms.ui.category.localization_error_locale=Bitte w\u00e4hlen Sie eine Sprache aus cms.ui.category.localization_locale=Sprache cms.ui.category.localization_name=Name -cms.ui.category.localization_none=Diese Kaegorie hat keine Sprachversionen +cms.ui.category.localization_none=Diese Kategorie hat keine Sprachversionen cms.ui.category.localization_url=URL cms.ui.category.name_not_unique=Es gibt bereits eine Kategorie mit diesem Namen. cms.ui.category.no_categorized_objects=Es gibt keine kategorisierten Objekte @@ -489,8 +489,8 @@ cms.ui.cse.itemName=Name cms.ui.cse.view=Anzeigen cms.ui.cse.viewLink=anzeigen -cms.ui.cse.edit=Edit -cms.ui.cse.editLink=edit +cms.ui.cse.edit=Bearbeiten +cms.ui.cse.editLink=bearbeiten cms.ui.cse.endDateTime=aktiv bis @@ -498,7 +498,7 @@ # =================================== cms.ui.folder.cancelled=Abgebrochen cms.ui.folder.cannot_find_a_root_folder=Kein Wurzelverzeichnis gefunden. -cms.ui.folder.na=K.A. +cms.ui.folder.na=k.A. cms.ui.folder.no_source_items_specified=Kein Quelldokument angegeben. cms.ui.folder.parent=\u00dcbergeordneter Ordner cms.ui.folder.rename=Ordner umbenennen @@ -507,7 +507,7 @@ # ======================================== cms.ui.formbuilder.description=Beschreibung: cms.ui.formbuilder.name=Name: -cms.ui.formbuilder.oh_no_you_dont=Nicht, sie wollen nicht +cms.ui.formbuilder.oh_no_you_dont=Nein, das wollen sie nicht cms.ui.formbuilder.title=Titel\: Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java 2012-12-16 19:58:08 UTC (rev 2389) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryItemPane.java 2012-12-16 20:05:43 UTC (rev 2390) @@ -22,9 +22,12 @@ import com.arsdigita.bebop.BaseLink; import com.arsdigita.bebop.Component; import com.arsdigita.bebop.Form; +import com.arsdigita.bebop.FormModel; import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Link; +import com.arsdigita.bebop.Page; import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.ParameterSingleSelectionModel; import com.arsdigita.bebop.SimpleContainer; import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.event.ActionEvent; @@ -32,6 +35,7 @@ import com.arsdigita.bebop.event.ChangeEvent; import com.arsdigita.bebop.event.ChangeListener; import com.arsdigita.bebop.form.Submit; +import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.categorization.CategorizedCollection; import com.arsdigita.categorization.Category; import com.arsdigita.categorization.CategoryCollection; @@ -90,7 +94,6 @@ m_category = category; // Details - m_detailPane = new SimpleContainer(); add(m_detailPane); setDefault(m_detailPane); @@ -145,7 +148,8 @@ m_category.getCategory(state) .getCategoryLocalizationCollection().size(); - if (countLanguages < countSupportedLanguages) { + if (m_category.getCategory(state).canEdit() + && countLanguages < countSupportedLanguages) { return true; } else { return false; @@ -333,20 +337,30 @@ private CategoryLocalizationTable m_catLocalizationTable; private CategoryLocalizationEditForm m_editCategoryLocalizationForm; + private StringParameter m_catLocaleParam; + private ParameterSingleSelectionModel m_catLocale; CategoryLocalizationSection(ActionLink addLink) { setHeading(new Label(gz("cms.ui.category.localizations"))); + m_catLocaleParam = new StringParameter("catLocale"); + m_catLocale = new ParameterSingleSelectionModel(m_catLocaleParam); final ActionGroup group = new ActionGroup(); setBody(group); - m_catLocalizationTable = new CategoryLocalizationTable(m_category, m_model); + m_catLocalizationTable = new CategoryLocalizationTable(m_category, m_model, m_catLocale); group.setSubject(m_catLocalizationTable); group.addAction(new AdminVisible(addLink), ActionGroup.ADD); - m_editCategoryLocalizationForm = new CategoryLocalizationEditForm(m_category, "de"); + m_editCategoryLocalizationForm = new CategoryLocalizationEditForm(m_category, m_catLocale); + add(m_editCategoryLocalizationForm); connect(m_editCategoryLocalizationForm); connect(m_catLocalizationTable, 0, m_editCategoryLocalizationForm); + } + @Override + public void register(Page page) { + super.register(page); + page.addComponentStateParam(m_editCategoryLocalizationForm, m_catLocaleParam); } } @@ -529,7 +543,7 @@ super(c, s); } - // Build the preview link. This uses a standard redirect link to find + // Build the preview link. This uses a standard redirect link to find // the content. The prepareURL method is called by the printwriter @Override protected String prepareURL(final PageState state, String location) { @@ -593,6 +607,7 @@ * and the user is allowed to edit this item. * * @param state + * * @return */ @Override @@ -614,6 +629,7 @@ * * @param item * @param state + * * @return */ private boolean isItemEditable(ContentItem item, PageState state) { Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java 2012-12-16 19:58:08 UTC (rev 2389) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationEditForm.java 2012-12-16 20:05:43 UTC (rev 2390) @@ -20,6 +20,7 @@ import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.PageState; +import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormProcessListener; import com.arsdigita.bebop.event.FormSectionEvent; @@ -37,30 +38,27 @@ * in order to present forms for managing the multi-language categories. * * @author Sören Bernstein (quasimodo) qu...@ze... - * @version $Id: CategoryLocalizationEditForm.java $ + * @version $Id: CategoryLocalizationEditForm.java $ */ public class CategoryLocalizationEditForm extends CategoryLocalizationForm { - + private static final Logger s_log = Logger.getLogger (CategoryLocalizationEditForm.class); - - private final String m_categoryLocalizationLocale; - + + private final SingleSelectionModel m_catLocale; /** * Creates a new instance of CategoryLocalizationEditForm */ - public CategoryLocalizationEditForm(final CategoryRequestLocal category, - final String locale) { - + public CategoryLocalizationEditForm(final CategoryRequestLocal category, SingleSelectionModel catLocale) { + super("EditCategoryLocalization", gz( "cms.ui.category.localization_edit"), category); - - // Speichere Locale ab - m_categoryLocalizationLocale = locale; - + + m_catLocale = catLocale; + addInitListener(new InitListener()); addProcessListener(new ProcessListener()); - + } /** @@ -69,45 +67,46 @@ private class InitListener implements FormInitListener { public final void init(final FormSectionEvent e) throws FormProcessException { - + final PageState state = e.getPageState(); final Category category = m_category.getCategory(state); + final String categoryLocalizationLocale = (String) m_catLocale.getSelectedKey(state); + // Hide Locale-Widget and lock it (read-only) - m_locale.addOption(new Option(m_categoryLocalizationLocale, - new Locale(m_categoryLocalizationLocale).getDisplayLanguage()), state); -// m_locale.setValue(state, m_categoryLocalizationLocale); + m_locale.addOption(new Option(categoryLocalizationLocale, + new Locale(categoryLocalizationLocale).getDisplayLanguage()), state); + m_locale.setValue(state, categoryLocalizationLocale); // m_locale.setVisible(state, false); m_locale.lock(); - - m_name.setValue(state, category.getName((String) m_locale.getValue(state))); - m_description.setValue(state, category.getDescription( - (String) m_locale.getValue(state))); - m_url.setValue(state, category.getURL((String) m_locale.getValue(state))); - if (category.isEnabled((String) m_locale.getValue(state))) { + m_name.setValue(state, category.getName(categoryLocalizationLocale)); + m_description.setValue(state, category.getDescription(categoryLocalizationLocale)); + m_url.setValue(state, category.getURL(categoryLocalizationLocale)); + + if (category.isEnabled(categoryLocalizationLocale)) { m_isEnabled.setValue(state, "yes"); } else { m_isEnabled.setValue(state, "no"); } } } - + /** * ##todo: document purpose of this */ private class ProcessListener implements FormProcessListener { public final void process(final FormSectionEvent e) throws FormProcessException { - + final PageState state = e.getPageState(); final Category category = m_category.getCategory(state); - + if (s_log.isDebugEnabled()) { s_log.debug("Editing localization for locale " + m_locale + " for category " + category); } - + if (category.canEdit()) { category.setName((String) m_name.getValue(state), (String) m_locale.getValue(state)); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java 2012-12-16 19:58:08 UTC (rev 2389) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/category/CategoryLocalizationTable.java 2012-12-16 20:05:43 UTC (rev 2390) @@ -21,13 +21,11 @@ import com.arsdigita.bebop.Component; import com.arsdigita.bebop.ControlLink; import com.arsdigita.bebop.Label; -import com.arsdigita.bebop.Link; import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.SingleSelectionModel; import com.arsdigita.bebop.Table; import com.arsdigita.bebop.event.TableActionEvent; import com.arsdigita.bebop.event.TableActionListener; -import com.arsdigita.bebop.table.DefaultTableCellRenderer; import com.arsdigita.bebop.table.TableCellRenderer; import com.arsdigita.bebop.table.TableColumn; import com.arsdigita.bebop.table.TableColumnModel; @@ -36,13 +34,7 @@ import com.arsdigita.categorization.Category; import com.arsdigita.categorization.CategoryLocalization; import com.arsdigita.categorization.CategoryLocalizationCollection; -import com.arsdigita.cms.CMS; -import com.arsdigita.cms.ContentSection; -import com.arsdigita.cms.SecurityManager; -import com.arsdigita.cms.dispatcher.ItemResolver; -import com.arsdigita.cms.dispatcher.Utilities; import com.arsdigita.cms.util.GlobalizationUtil; -import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.util.LockableImpl; import java.math.BigDecimal; import java.util.Locale; @@ -61,22 +53,23 @@ private final SingleSelectionModel m_model; private final String TABLE_COL_LANG = "table_col_lang"; private final String TABLE_COL_DEL = "table_col_del"; + private final SingleSelectionModel m_catLocale; /** * Creates a new instance of CategoryLocalizationTable */ - public CategoryLocalizationTable(final CategoryRequestLocal category, - final SingleSelectionModel model) { + public CategoryLocalizationTable(final CategoryRequestLocal category, final SingleSelectionModel model, SingleSelectionModel catLocale) { super(); m_category = category; m_model = model; + m_catLocale = catLocale; // if table is empty: setEmptyView(new Label(GlobalizationUtil.globalize( "cms.ui.category.localization_none"))); -TableColumnModel tab_model = getColumnModel(); + TableColumnModel tab_model = getColumnModel(); // define columns // XXX globalize @@ -196,25 +189,15 @@ private class EditCellRenderer extends LockableImpl implements TableCellRenderer { public Component getComponent(Table table, PageState state, Object value, - boolean isSelected, Object key, + boolean isSelected, final Object key, int row, int column) { -// if (canEdit) { -// CategoryLocalization cl; - -// try { -// cl = new CategoryLocalization((BigDecimal) key); -// } catch (DataObjectNotFoundException ex) { -// return new Label(value.toString()); -// } - -// ContentSection section = CMS.getContext().getContentSection(); -// ItemResolver resolver = section.getItemResolver(); - -// return new Link(value.toString(), resolver.generateItemURL(state, cl, section, cl.getVersion())); - ControlLink link = new ControlLink(value.toString()); - return link; + if (m_category.getCategory(state).canEdit()) { + return new ControlLink(value.toString()); + } else { + return new Label(value.toString()); + } } } @@ -224,10 +207,14 @@ boolean isSelected, Object key, int row, int column) { - ControlLink link = new ControlLink(value.toString()); - link.setConfirmation((String) GlobalizationUtil.globalize( - "cms.ui.category.localization_confirm_delete").localize()); - return link; + if (m_category.getCategory(state).canDelete()) { + ControlLink link = new ControlLink(value.toString()); + link.setConfirmation((String) GlobalizationUtil.globalize( + "cms.ui.category.localization_confirm_delete").localize()); + return link; + } else { + return null; + } } } @@ -252,6 +239,7 @@ // Edit if (col.getHeaderKey().toString().equals(TABLE_COL_LANG)) { + m_catLocale.setSelectedKey(state, categoryLocalization.getLocale()); } // Delete Modified: trunk/ccm-core/src/com/arsdigita/categorization/Category.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2012-12-16 19:58:08 UTC (rev 2389) +++ trunk/ccm-core/src/com/arsdigita/categorization/Category.java 2012-12-16 20:05:43 UTC (rev 2390) @@ -59,25 +59,25 @@ * <p>This is a persistent class backed by the data object type whose name is * specified by {@link #BASE_DATA_OBJECT_TYPE}. The attribute names of of this * data object type are exposed via the public string fields such as {@link - * #CHILD}, {@link #DEFAULT_ANCESTORS}. See below.</p> + * #CHILD}, {@link #DEFAULT_ANCESTORS}. See below.</p> * * <p>This version of the class deprecates the notion of <em>category * purposes</em> and replaces it with the notion of <em>use contexts</em>. * The following methods should no longer be used:</p> * * <ul> - * <li>{@link #getPurposes()}</li> - * <li>{@link #addPurpose(CategoryPurpose)}</li> - * <li>{@link #removePurpose(CategoryPurpose)}</li> + * <li>{@link #getPurposes()}</li> + * <li>{@link #addPurpose(CategoryPurpose)}</li> + * <li>{@link #removePurpose(CategoryPurpose)}</li> * </ul> * * <p>The following methods should be used instead:</p> * * <ul> - * <li>{@link #getRootForObject(ACSObject, String)}</li> - * <li>{@link #setRootForObject(ACSObject, Category,String)}</li> - * <li>{@link #clearRootForObject(ACSObject, String)}</li> - * <li>{@link #getRootCategories(ACSObject)}</li> + * <li>{@link #getRootForObject(ACSObject, String)}</li> + * <li>{@link #setRootForObject(ACSObject, Category,String)}</li> + * <li>{@link #clearRootForObject(ACSObject, String)}</li> + * <li>{@link #getRootCategories(ACSObject)}</li> * </ul> * * @author Randy Graebner @@ -89,10 +89,10 @@ * environment. The following attributes are localizable: * * <ul> - * <li>Name</li> - * <li>Description</li> - * <li>URL</li> - * <li>IsEnabled</li> + * <li>Name</li> + * <li>Description</li> + * <li>URL</li> + * <li>IsEnabled</li> * </ul> * * To use localized URLs I had to change NavigationFileReolver.resolveCategory() @@ -106,21 +106,24 @@ private static final Logger s_log = Logger.getLogger(Category.class); /** * @see ObjectType - **/ + * + */ public static final String BASE_DATA_OBJECT_TYPE = - "com.arsdigita.categorization.Category"; + "com.arsdigita.categorization.Category"; private static final String BASE_DATA_OBJECT_PACKAGE = - "com.arsdigita.categorization"; + "com.arsdigita.categorization"; /** - * The <code>PrivilegeDescriptor corresponding</code> to the privilege to + * The + * <code>PrivilegeDescriptor corresponding</code> to the privilege to * map subcategories and objects to this category - **/ + * + */ public static final PrivilegeDescriptor MAP_DESCRIPTOR = - new PrivilegeDescriptor( + new PrivilegeDescriptor( "map_to_category"); // Quasimodo: Begin private static CategorizationConfig s_config = CategorizationConfig - .getConfig(); + .getConfig(); // Quasimodo: End public static final String ROOT_CATEGORY = "rootCategory"; public static final String USE_CONTEXT = "useContext"; @@ -128,38 +131,64 @@ public static final String ROOT_USE_CONTEXT = "rootUseContext"; public static final String OWNER_USE_CONTEXT = "ownerUseContext"; // category-category mapping types - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String CHILD = "child"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String PARENTS = "parents"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String RELATED = "related"; public static final String PREFERRED = "preferred"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String REL_TYPE = "relationType"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String SORT_KEY = "sortKey"; public static final String IS_DEFAULT = "isDefault"; public static final String IS_INDEX = "isIndex"; public static final String PARENT_CATEGORY = "parentCategory"; public static final String CATEGORY_ID = "categoryID"; // these are some constants to use in the code - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String NAME = "name"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String DESCRIPTION = "description"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String URL = "url"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String IS_ENABLED = "isEnabled"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String IS_ABSTRACT = "isAbstract"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String DEFAULT_ANCESTORS = "defaultAncestors"; - /** An attribute name for the underlying data object. */ + /** + * An attribute name for the underlying data object. + */ public static final String IGNORE_PARENT_INDEX_ITEM = - "ignoreParentIndexItem"; - /** An attribute name for the underlying data object. */ + "ignoreParentIndexItem"; + /** + * An attribute name for the underlying data object. + */ private static final String PURPOSES = "purposes"; // this contains association names from the pdl file public final static String CHILD_OBJECTS = "childObjects"; @@ -168,7 +197,7 @@ public static final String LOCALIZATIONS = "localizations"; // some named queries in the pdl files private static final String CHILD_CATEGORY_IDS = - "com.arsdigita.categorization.childCategoryIDs"; + "com.arsdigita.categorization.childCategoryIDs"; private static final String CURRENT_SORT_KEY = "currentSortKey"; private HierarchyDenormalization m_hierarchy; // Quasimodo: Begin @@ -183,7 +212,8 @@ /** * Returns the model name of {@link #BASE_DATA_OBJECT_TYPE}. - **/ + * + */ public static String getBaseDataObjectPackage() { return BASE_DATA_OBJECT_PACKAGE; } @@ -192,7 +222,8 @@ * Initializes the category with the specified data object. * * @param categoryObjectData the data object - **/ + * + */ public Category(DataObject categoryObjectData) { super(categoryObjectData); } @@ -202,7 +233,8 @@ * Category(Category.BSE_DATA_OBJECT_TYPE)}. * * @see com.arsdigita.domain.DomainObject#DomainObject(String) - **/ + * + */ public Category() { this(BASE_DATA_OBJECT_TYPE); } @@ -216,7 +248,8 @@ * @see com.arsdigita.domain.DomainObject#DomainObject(String) * @see com.arsdigita.persistence.DataObject * @see com.arsdigita.persistence.metadata.ObjectType - **/ + * + */ public Category(String typeName) { super(typeName); } @@ -229,7 +262,8 @@ * * @see com.arsdigita.domain.DomainObject#DomainObject(ObjectType) * @see com.arsdigita.persistence.DataObject - **/ + * + */ public Category(ObjectType type) { super(type); } @@ -239,19 +273,21 @@ * storage mechanism. * * @param oid the OID for the data object to retrieve + * * @throws DataObjectNotFoundException if this OID is invalid or has been - * deleted. + * deleted. * * @see com.arsdigita.domain.DomainObject#DomainObject(OID) * @see com.arsdigita.persistence.DataObject - **/ + * + */ public Category(OID oid) { super(oid); } /** * Retrieves the data object with the specified ID from the persistence - * storage mechanism. This method is just a wrapper for the {@link + * storage mechanism. This method is just a wrapper for the {@link * #Category(OID)} constructor. * * @throws DataObjectNotFoundException @@ -263,7 +299,7 @@ /** * Creates a new category with the given name and description. * - * @param name the name for the new category + * @param name the name for the new category * @param description the description for the new category */ public Category(String name, String description) { @@ -276,9 +312,9 @@ * Creates a new category with the given name, description and URL * component. * - * @param name the name for the new category + * @param name the name for the new category * @param description the description for the new category - * @param url URL component used when browsing categories. + * @param url URL component used when browsing categories. */ public Category(String name, String description, String url) { this(); @@ -289,14 +325,15 @@ /** * Retrieves the category with the given category ID, and sets the name and - * description. For the new name and descrption to be permanent, the caller + * description. For the new name and descrption to be permanent, the caller * must call the save() method. * - * @param categoryID the category ID - * @param name the category name + * @param categoryID the category ID + * @param name the category name * @param description the category description + * * @exception DataObjectNotFoundException if this OID is - * invalid or has been deleted. + * invalid or has been deleted. * * @see com.arsdigita.domain.DomainObject#DomainObject(OID) */ @@ -308,15 +345,16 @@ /** * Retrieves the category with the given category ID, and sets the name and - * description. For the new name and descrption to be permanent, the caller + * description. For the new name and descrption to be permanent, the caller * must call the save() method. * - * @param categoryID the category ID - * @param name the category name + * @param categoryID the category ID + * @param name the category name * @param description the category description - * @param url URL component used when browsing categories. + * @param url URL component used when browsing categories. + * * @exception DataObjectNotFoundException if this OID is - * invalid or has been deleted. + * invalid or has been deleted. * * @see com.arsdigita.domain.DomainObject#DomainObject(OID) */ @@ -359,7 +397,7 @@ m_hierarchy = new HierarchyDenormalization( "com.arsdigita.categorization.updateCategoryDescendants", this, - DEFAULT_ANCESTORS) { + DEFAULT_ANCESTORS) { }; m_categoryLocalizationCollection = new CategoryLocalizationCollection( @@ -370,14 +408,15 @@ /** * Quasimodo: - * Returns the localized name or the name key if localized version don't exist + * Returns the localized name or the name key if localized version don't + * exist * * @return the category name. */ public String getName(String locale) { // Test for localized version - if (!locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -402,8 +441,9 @@ } /** - * Returns the display name of the category. This overrides the parent + * Returns the display name of the category. This overrides the parent * implementation. + * * @return the category name. */ public String getDisplayName(String locale) { @@ -411,8 +451,9 @@ } /** - * Returns the display name of the category. This overrides the parent + * Returns the display name of the category. This overrides the parent * implementation. + * * @return the category name. */ @Override @@ -421,7 +462,7 @@ } /** - * Returns the name of the category along with its default ancestors. + * Returns the name of the category along with its default ancestors. * * <p>For example, when called on the <em>Televised Events</em> category in * <href="package-summary.html#taxonomy">this example</a>, the return value @@ -429,16 +470,16 @@ * Events". </p> * * @see #getDefaultAscendants() - * @param delimiter The string to use to seperate the parents from the - * children. For example, to obtain the above-mentioned result, you need to - * pass in <code>" >> "</code> as the delimiter. + * @param delimiter The string to use to seperate the parents from the + * children. For example, to obtain the above-mentioned result, you need to + * pass in <code>" >> "</code> as the delimiter. * * @param includeRoot This indicates whether or not the root category should - * be included in the name. + * be included in the name. * - * @return the qualified name as explained above. May return - * <code>null</code> this is the root category, and <code>includeRoot</code> - * is false. + * @return the qualified name as explained above. May return + * <code>null</code> this is the root category, and <code>includeRoot</code> + * is false. */ public String getQualifiedName(String delimiter, boolean includeRoot) { // If the collection only contains the root and the root is not desired @@ -464,16 +505,19 @@ } /** - * Returns the name of the <b>preferred</b> category along with its default ancestors. - * Equivalent to #getQualifiedName(String,boolean) if this Category is not a synonym. + * Returns the name of the <b>preferred</b> category along with its default + * ancestors. + * Equivalent to #getQualifiedName(String,boolean) if this Category is not a + * synonym. * Synonym name is appended in parentheses. * - * @param delimiter string to separate category names + * @param delimiter string to separate category names * @param includeRoot should root category be shown + * * @return category path */ public String getPreferredQualifiedName(String delimiter, - boolean includeRoot) { + boolean includeRoot) { // is this a synonym? CategoryCollection cc = new CategoryCollection(getRelatedCategories( PREFERRED)); @@ -481,7 +525,7 @@ Category preferred = cc.getCategory(); cc.close(); String preferredPath = preferred.getQualifiedName(delimiter, - includeRoot); + includeRoot); return preferredPath + " (" + getName() + ")"; } else { return getQualifiedName(delimiter, includeRoot); @@ -493,11 +537,11 @@ * * @see #getDefaultAscendants() * - * @param delimiter The string to use to seperate the parents from - * the children. - + * @param delimiter The string to use to seperate the parents from + * the children. + * * @param includeRoot This indicates whether or not the root category should - * be included in the URL. + * be included in the URL. */ public String getQualifiedURL(String delimiter, boolean includeRoot) { // If the collection only contains the root and the root is not desired @@ -549,7 +593,8 @@ * Returns the description of the category. * * Quasimodo: - * Returns localized version of description or description key if localized version don't exist + * Returns localized version of description or description key if localized + * version don't exist * * @return the category description. */ @@ -557,7 +602,7 @@ // Test for localized version // HACK - if (!locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale @@ -576,6 +621,7 @@ /** * Returns the description of the category. + * * @return the category name. */ public String getDescription() { @@ -587,7 +633,9 @@ * Returns a string repesenting the default ancestors of the category * * It can be useful and more efficient then working with the - * CategoryCollection returned by @see getDefaultAscendants() when comparing + * CategoryCollection returned by + * + * @see getDefaultAscendants() when comparing * ids whose position in the path is known. * (Added by Chris Gilbert) */ @@ -623,18 +671,19 @@ * Returns the URL component of the category. * * Quasimodo: - * Returns the localized version of the URL or URL-key if localized version don't exist + * Returns the localized version of the URL or URL-key if localized version + * don't exist * * @return URL component used when browsing categories */ public String getURL(String locale) { // Test for localized version - if (!locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale - String url = m_categoryLocalizationCollection.getURL(); + String url = m_categoryLocalizationCollection.getURL(); //return m_categoryLocalizationCollection.getURL(); m_categoryLocalizationCollection.rewind(); return url; @@ -684,41 +733,36 @@ * Determines the current state of the category. * * @return <code>true</code> if the category is enabled; <code>false</code> - * otherwise. + * otherwise. * * Quasimodo: * This is getting a bit more compliated: * 1. Check if category is globally disabled * 2. If not, check if localized version exists - * 2.1 If so, return isEnabled from localized version - * 2.2 If not, return Category.getConfig().getShowInternalName() + * 2.1 If so, return isEnabled from localized version + * 2.2 If not, return Category.getConfig().getShowInternalName() * */ public boolean isEnabled(String locale) { - // If locale is empty return global status - // or if globally disabled, return category as disabled - if (locale.isEmpty() || ((Boolean) get(IS_ENABLED)).booleanValue() == false) { - return ((Boolean) get(IS_ENABLED)).booleanValue(); + // If globally disabled, return category as disabled + if (((Boolean) get(IS_ENABLED)).booleanValue() == false) { + return false; } // Test for localized version - // HACK - if (!locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. + if (locale != null && !locale.isEmpty() && m_categoryLocalizationCollection != null && m_categoryLocalizationCollection. localizationExists(locale)) { // Return value of isEnabled from localized version, so categories could be disabled depending on locale boolean isEnabled = m_categoryLocalizationCollection.isEnabled(); m_categoryLocalizationCollection.rewind(); return isEnabled; - //return m_categoryLocalizationCollection.isEnabled(); } else { - // Return value of Category.getConfig().getShowInternalName() - // This will disable all categories without selected locale, if Category.getConfig().getShowInternalName() == false - return Category.getConfig().getShowInternalName(); - + // In any other case return global status + return ((Boolean) get(IS_ENABLED)).booleanValue(); } } @@ -727,7 +771,7 @@ * Determines the current state of the category. * * @return <code>true</code> if the category is enabled; <code>false</code> - * otherwise. + * otherwise. */ public boolean isEnabled() { return isEnabled(GlobalizationHelper.getNegotiatedLocale().getLanguage()); @@ -737,7 +781,7 @@ * Sets whether the category is enabled. * * @param isEnabled <code>true</code> if the category is enabled; - * <code>false</false> otherwise. + * <code>false</false> otherwise. */ public void setEnabled(boolean isEnabled, String locale) { @@ -753,7 +797,7 @@ * Sets whether the category is enabled. * * @param isEnabled <code>true</code> if the category is enabled; - * <code>false</false> otherwise. + * <code>false</false> otherwise. */ public void setEnabled(boolean isEnabled) { set(IS_ENABLED, isEnabled); @@ -764,7 +808,7 @@ * categories. * * @return <code>true</code> if the category is abstract; <code>false</code> - * otherwise. + * otherwise. */ public boolean isAbstract() { return ((Boolean) get(IS_ABSTRACT)).booleanValue(); @@ -783,8 +827,9 @@ * Determine whether this category should have a default index item * associated with it (i.e.it's parent category). * - * @return <code>true</code> if the parent index item should be ignored (no default index item) - * <code>false</code> otherwise. + * @return <code>true</code> if the parent index item should be ignored (no + * default index item) + * <code>false</code> otherwise. */ public boolean ignoreParentIndexItem() { return ((Boolean) get(IGNORE_PARENT_INDEX_ITEM)).booleanValue(); @@ -794,8 +839,9 @@ * Set whether this category should have a default index item * associated with it (i.e.it's parent category). * - * @param ignoreParentIndexItem <code>true</code> if the parent index item should be ignored (no default index item) - * <code>false</code> otherwise + * @param ignoreParentIndexItem <code>true</code> if the parent index item + * should be ignored (no default index item) + * <code>false</code> otherwise */ public void setIgnoreParentIndexItem(boolean ignoreParentIndexItem) { set(IGNORE_PARENT_INDEX_ITEM, ignoreParentIndexItem); @@ -803,7 +849,8 @@ /** * @deprecated use the "use context" APIs instead - **/ + * + */ public Collection getPurposes() { DataAssociationCursor purposeCur = ((DataAssociation) get(PURPOSES)). cursor(); @@ -817,21 +864,25 @@ } /** - * Adds the specified purpose to this category. + * Adds the specified purpose to this category. * * @param purpose The purpose + * * @deprecated use the "use context" APIs instead - **/ + * + */ public void addPurpose(CategoryPurpose purpose) { add(PURPOSES, purpose); } /** - * Removes the specified purpose from this category. + * Removes the specified purpose from this category. * * @param purpose the purpose + * * @deprecated use the "use context" APIs instead - **/ + * + */ public void removePurpose(CategoryPurpose purpose) { remove(PURPOSES, purpose); } @@ -871,7 +922,7 @@ * Determines whether the passed in object is a category. * * @return <code>true</code> if the passed in object is a category; - * <code>false</code> otherwise. + * <code>false</code> otherwise. * * @param object the object to test */ @@ -882,13 +933,13 @@ /** * Cleans up all the mappings where this category is a child, and then - * deletes the category. This method should generally not be used. Use + * deletes the category. This method should generally not be used. Use * {@link #deleteCategoryAndRemap()}, {@link #deleteCategoryAndOrphan()}, or * {@link #deleteCategorySubtree()} instead. * * @throws CategorizationException if the category has child objects or - * subcategories mapped to it. If the object has children, the programmer - * must call {@link #deleteCategoryAndOrphan()}, {@link + * subcategories mapped to it. If the object has children, the programmer + * must call {@link #deleteCategoryAndOrphan()}, {@link * #deleteCategorySubtree()}, or {@link #deleteCategoryAndRemap()}. */ @Override @@ -899,8 +950,8 @@ try { if (children.next()) { throw new CategorizationException("This category is the default parent of another category." - + " You must explicitly delete the child categories first. " - + "Child category: " + children. + + " You must explicitly delete the child categories first. " + + "Child category: " + children. getDataObject()); } } finally { @@ -908,13 +959,13 @@ } DataAssociationCursor objects = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); if (objects != null) { try { if (objects.next()) { throw new CategorizationException("This category has child objects. You must delete " - + " any such objects explicitly, before deleting the " - + " category. Child object: " + objects. + + " any such objects explicitly, before deleting the " + + " category. Child object: " + objects. getDataObject()); } } finally { @@ -941,13 +992,14 @@ * * <p>If the category to be deleted is not the default parent of the child * category, this method deletes the mapping but it does not delete that - * section of the subtree (similar to the way a UNIX <code>rm -r</code> + * section of the subtree (similar to the way a UNIX + * <code>rm -r</code> * works on symbolic links). */ public void deleteCategorySubtree() { // we get the association between this category and its children DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); while (cursor.next()) { DataObject link = cursor.getLink(); @@ -962,9 +1014,9 @@ } /** - * Deletes the passed in category after remapping all the children. Adds a + * Deletes the passed in category after remapping all the children. Adds a * mapping from the children to the default parent of the passed in category - * if the mapping does not already exist. If the category that is the + * if the mapping does not already exist. If the category that is the * parent of the to-be-deleted category is abstract then any objects that * are children of that object are not remapped to anywhere */ @@ -986,7 +1038,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); while (cursor.next()) { DataObject link = cursor.getLink(); @@ -1021,7 +1073,7 @@ /** * Deletes the passed in category. Does not remap any of the children - * categories or objects. Instead, it just deletes all records of the + * categories or objects. Instead, it just deletes all records of the * mappings. */ public void deleteCategoryAndOrphan() { @@ -1047,7 +1099,7 @@ * for creating subcategories with this category instance as the parent.</p> * * <p>It is important to note that a category cannot be a CHILD and a - * RELATED category at the same time. If the category is RELATED and you + * RELATED category at the same time. If the category is RELATED and you * call addChild, the category is removed from the group of RELATED * categories and becomes a CHILD category.</p> * @@ -1055,7 +1107,8 @@ * * @pre !isAbstract() * @pre canMap() - **/ + * + */ public void addChild(ACSObject object) { addMapping(object, "child"); } @@ -1070,21 +1123,24 @@ * mappings.</p> * * <p>It is important to note that a category cannot be a CHILD and a - * RELATED category at the same time. If the category is RELATED and you + * RELATED category at the same time. If the category is RELATED and you * call addChild, the category is removed from the group of RELATED * categories and becomes a CHILD category.</p> * * @param category The related category + * * @pre canMap() * - **/ + * + */ public void addRelatedCategory(Category category) { addMapping(category, RELATED); } /** * Add a preferred category, which marks the current category as a synonym. - * When a synonym category is selected, preferred category should be used instead + * When a synonym category is selected, preferred category should be used + * instead * i.e. assigned to the item. */ public void addPreferredCategory(Category preferred) { @@ -1102,12 +1158,12 @@ return; } Assert.isFalse(isAbstract(), - "You cannot categorize an object " - + "within an abstract category. If you are " - + "seeing this message then your UI is " - + "allowing you to do something that you " - + "are not allowed to do and you " - + "should email your site administrator."); + "You cannot categorize an object " + + "within an abstract category. If you are " + + "seeing this message then your UI is " + + "allowing you to do something that you " + + "are not allowed to do and you " + + "should email your site administrator."); if (RELATED.equals(relationType)) { throw new CategorizationException( @@ -1116,7 +1172,7 @@ } DataAssociationCursor cursor = - ((DataAssociation) get(CHILD_OBJECTS)).cursor(); + ((DataAssociation) get(CHILD_OBJECTS)).cursor(); cursor.addEqualsFilter(ID, acsObj.getID()); if (cursor.size() == 0) { // if the cursor.size() > 0 then the object is already @@ -1125,12 +1181,12 @@ Categorization.triggerMapEvent(this, acsObj); if (s_log.isDebugEnabled()) { s_log.debug(acsObj + " added to " + CHILD_OBJECTS + " of catID=" - + getID() + " type=" + relationType + " (ignored)"); + + getID() + " type=" + relationType + " (ignored)"); } } else { if (s_log.isDebugEnabled()) { s_log.debug(acsObj + " is already related to catID=" + getID() - + " type=" + relationType + " (ignored)"); + + " type=" + relationType + " (ignored)"); } } } @@ -1139,8 +1195,8 @@ // Let's check for loops. if ("child".equals(relationType) && category.isMemberOfSubtree(this)) { throw new CategorizationException("The object that you are " - + "trying to add as a child is already " - + "a member of the subtree."); + + "trying to add as a child is already " + + "a member of the subtree."); } @@ -1148,7 +1204,7 @@ // Otherwise, we add and then update. DataAssociationCursor cursor = - ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); + ((DataAssociation) get(RELATED_CATEGORIES)).cursor(); cursor.addEqualsFilter(ID, category.getID()); DataObject link; if (cursor.next()) { @@ -1167,7 +1223,7 @@ cursor.close(); if (s_log.isDebugEnabled()) { s_log.debug("updating related catID=" + category.getID() + " type=" - + relationType + " default=false"); + + relationType + " default=false"); } link.set(REL_TYPE, relationType); @@ -1176,12 +1232,14 @@ /** * Removes a category mapping from the domain object so that an ACS object - * is no longer a child of a category. This actually deletes the mapping. + * is no longer a child of a category. This actually deletes the mapping. * * @param acsObj the domain object to uncategorize + * * @pre canMap() * @throws NullPointerException if <code>acsObj</code> is null - **/ + * + */ public void removeChild(ACSObject acsObj) { if (acsObj == null) { throw new NullPointerException("acsObj"); @@ -1198,7 +1256,8 @@ * Removes the specified child category. * * @throws NullPointerException if category is null - **/ + * + */ public void removeChild(Category category) { Assert.exists(category, Category.class); @@ -1215,7 +1274,7 @@ } /** - * This takes a category and removes its relation to this category. If the + * This takes a category and removes its relation to this category. If the * passed in category is also a child then it is still a child after this * call. * @@ -1296,7 +1355,7 @@ * objects or child categories). * * @return <code>true</code> if the category is a leaf; <code>false</code> - * otherwise. + * otherwise. */ public boolean isLeaf() { return !hasChildCategories() && !hasChildObjects(); @@ -1305,8 +1364,9 @@ /** * Determines whether the category has child objects. * - * @return <code>true</code> if the category does not have any child objects; - * <code>false</code> otherwise. + * @return <code>true</code> if the category does not have any child + * objects; + * <code>false</code> otherwise. */ public boolean hasChildObjects() { return (getNumberOfChildObjects() != 0); @@ -1316,7 +1376,7 @@ * Determines whether the category has any child categories. * * @return <code>true</code> if the category does not have any child - * categories; <code>false</code> otherwise. + * categories; <code>false</code> otherwise. */ public boolean hasChildCategories() { return (getNumberOfChildCategories() != 0); @@ -1326,21 +1386,21 @@ * Determines whether the category is a root. * * @return <code>true</code> if the category does not have - * any parents; <code>false</code> otherwise. + * any parents; <code>false</code> otherwise. */ public boolean isRoot() { return (getParentCategoryCount() == 0); } /** - * Returns the number of parent categories for this category. + * Returns the number of parent categories for this category. * - * @return the number of times has this category has been - * mapped to a new category. + * @return the number of times has this category has been + * mapped to a new category. */ public long getParentCategoryCount() { DataAssociationCursor cursor = - ((DataAssociation) get(PARENTS)).cursor(); + ((DataAssociation) get(PARENTS)).cursor(); try { return cursor.size(); } finally { @@ -1349,21 +1409,22 @@ } /** - * Sets this category's default parent category to the one that is passed - * in. + * Sets this category's default parent category to the one that is passed + * in. * - * <p><b>This clears the previous default mapping.</b> The results will be - * saved for the user when the transaction is committed. </p> + * <p><b>This clears the previous default mapping.</b> The results will be + * saved for the... [truncated message content] |
Author: pboy Date: 2012-12-16 19:58:08 +0000 (Sun, 16 Dec 2012) New Revision: 2389 Modified: trunk/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java Log: Fixed missing super.validate in all classes inherited from BasicPageForm. (on behalf of JensP) Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachAddressPropertyForm.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -149,6 +149,8 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { + super.validate(e); + final PageState state = e.getPageState(); final FormData data = e.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericContactAttachPersonPropertyForm.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -179,6 +179,8 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { + super.validate(e); + final PageState state = e.getPageState(); final FormData data = e.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonAliasSetForm.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -127,6 +127,8 @@ @Override public void validate(final FormSectionEvent fse) throws FormProcessException { + super.validate(fse); + final PageState state = fse.getPageState(); final FormData data = fse.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/GenericPersonCreate.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -75,6 +75,8 @@ // Validate: ensure name uniqueness @Override public void validate(FormSectionEvent e) throws FormProcessException { + super.validate(e); + Folder f = m_parent.getFolder(e.getPageState()); Assert.exists(f); validateNameUniqueness(f, e, GenericPerson.urlSave(getItemName(e))); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageCreate.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -127,6 +127,8 @@ // Validate: ensure name uniqueness @Override public void validate(FormSectionEvent e) throws FormProcessException { + super.validate(e); + Folder f = m_parent.getFolder(e.getPageState()); Assert.exists(f); validateNameUniqueness(f, e); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEdit.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -135,6 +135,8 @@ } public void validate(FormSectionEvent event) throws FormProcessException { + super.validate(event); + PageState state = event.getPageState(); FormData data = event.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/authoring/PageEditDynamic.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -582,6 +582,8 @@ * confirms this was the same item to be edited */ public void validate(FormSectionEvent event) throws FormProcessException { + super.validate(event); + PageState state = event.getPageState(); FormData data = event.getFormData(); Modified: trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java =================================================================== --- trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms/src/com/arsdigita/cms/ui/templates/TemplateEdit.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -133,6 +133,8 @@ } public void validate(FormSectionEvent event) throws FormProcessException { + super.validate(event); + PageState state = event.getPageState(); FormData data = event.getFormData(); Template t = getTemplate(state); Modified: trunk/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java =================================================================== --- trunk/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java 2012-12-16 19:53:49 UTC (rev 2388) +++ trunk/ccm-cms-types-image/src/com/arsdigita/cms/contenttypes/ui/ImagePropertyForm.java 2012-12-16 19:58:08 UTC (rev 2389) @@ -206,6 +206,8 @@ @Override public void validate(FormSectionEvent e) throws FormProcessException { + super.validate(e); + FormData d = e.getFormData(); } |