diff --git a/dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/style.css b/dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/style.css index 9183edf9143797e6992a4b3edc4510b4946f75da..da43c9284d7c43c19f6a839ec5b98357a5364544 100644 --- a/dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/style.css +++ b/dspace-xmlui/src/main/webapp/themes/Mirage/lib/css/style.css @@ -61,8 +61,7 @@ select.multiple { width: 48px; height: 50px; margin-top: 10px; -/* background: url('../../images/dspace-logo-only.png'); */ - background: url('../../logo_participatorio.png'); + background: url('../../images/dspace-logo-only.png'); background-repeat: no-repeat; background-color: transparent; margin-right: 15px; diff --git a/dspace/config/xmlui.xconf b/dspace/config/xmlui.xconf index 5c6f83aadd40bdae812f3cbf053e9489d2f70789..6222a26fd2fd8e8debf2272a7f438756034c5edc 100644 --- a/dspace/config/xmlui.xconf +++ b/dspace/config/xmlui.xconf @@ -171,8 +171,11 @@ <!-- <theme name="Test Theme 1" handle="123456789/1" path="theme1/"/> --> <!-- <theme name="Test Theme 2" regex="community-list" path="theme2/"/> --> + <theme name="Participatorio" regex=".*" path="Participatorio/"/> + + <!-- Mirage theme, @mire contributed theme, default since DSpace 3.0 --> - <theme name="Atmire Mirage Theme" regex=".*" path="Mirage/" /> +<!-- <theme name="Atmire Mirage Theme" regex=".*" path="Mirage/" /> --> <!-- Reference theme, the default Manakin XMLUI layout up to DSpace 1.8 --> <!-- <theme name="Default Reference Theme" regex=".*" path="Reference/" /> --> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/Participatorio.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/Participatorio.xsl new file mode 100644 index 0000000000000000000000000000000000000000..bba87cea3f24d44c0635ba43605782b3033f3478 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/Participatorio.xsl @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + TODO: Describe this XSL file + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:import href="../dri2xhtml-alt/dri2xhtml.xsl"/> + <xsl:import href="lib/xsl/core/global-variables.xsl"/> + <xsl:import href="lib/xsl/core/page-structure.xsl"/> + <xsl:import href="lib/xsl/core/navigation.xsl"/> + <xsl:import href="lib/xsl/core/elements.xsl"/> + <xsl:import href="lib/xsl/core/forms.xsl"/> + <xsl:import href="lib/xsl/core/attribute-handlers.xsl"/> + <xsl:import href="lib/xsl/core/utils.xsl"/> + <xsl:import href="lib/xsl/aspect/general/choice-authority-control.xsl"/> + <xsl:import href="lib/xsl/aspect/administrative/administrative.xsl"/> + <xsl:import href="lib/xsl/aspect/artifactbrowser/item-list.xsl"/> + <xsl:import href="lib/xsl/aspect/artifactbrowser/item-view.xsl"/> + <xsl:import href="lib/xsl/aspect/artifactbrowser/community-list.xsl"/> + <xsl:import href="lib/xsl/aspect/artifactbrowser/collection-list.xsl"/> + <xsl:output indent="yes"/> + + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/@mirelogo-small.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/@mirelogo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..777bf343dd6879b525597877255e25dd9e5ce773 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/@mirelogo-small.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Crystal_Clear_action_lock3_64px.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Crystal_Clear_action_lock3_64px.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1412bb93b23a885ae97ce3a1f509ebda62f2f5 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Crystal_Clear_action_lock3_64px.png differ diff --git a/dspace-xmlui/src/main/webapp/themes/Mirage/images/Logo_SG_SNJ.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Logo_SG_SNJ.png similarity index 100% rename from dspace-xmlui/src/main/webapp/themes/Mirage/images/Logo_SG_SNJ.png rename to dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Logo_SG_SNJ.png diff --git a/dspace-xmlui/src/main/webapp/themes/Mirage/images/logo_participatorio.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Logo_participatorio.png similarity index 100% rename from dspace-xmlui/src/main/webapp/themes/Mirage/images/logo_participatorio.png rename to dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Logo_participatorio.png diff --git a/dspace-xmlui/src/main/webapp/themes/Mirage/images/logo_participatorio_2.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Logo_participatorio_2.png similarity index 100% rename from dspace-xmlui/src/main/webapp/themes/Mirage/images/logo_participatorio_2.png rename to dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/Logo_participatorio_2.png diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/apple-touch-icon.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb944d4236dd56db15dbf8abb30f61b09ff79038 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/apple-touch-icon.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/arrow_down_ffffff_16x16.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/arrow_down_ffffff_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..213e364252df54dcc571c33e94145adafec7c9ad Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/arrow_down_ffffff_16x16.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/arrow_up_ffffff_16x16.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/arrow_up_ffffff_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..2d9ce05f87760356a3553b76327a22083bef0967 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/arrow_up_ffffff_16x16.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-errortriangle.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-errortriangle.gif new file mode 100644 index 0000000000000000000000000000000000000000..77ecac66969b515012f75bda1d7b690d478015ae Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-errortriangle.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-lightning.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-lightning.gif new file mode 100644 index 0000000000000000000000000000000000000000..5f4582668679437fba6ad34276756e282f092163 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-lightning.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-warntriangle.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-warntriangle.gif new file mode 100644 index 0000000000000000000000000000000000000000..03f658fd18ec14f5f6218bdf9d08248c29134392 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/2-warntriangle.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-circleslash.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-circleslash.gif new file mode 100644 index 0000000000000000000000000000000000000000..c834095ba81096e161a428b5f3feb7b21c0ed72b Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-circleslash.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-flag.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-flag.gif new file mode 100644 index 0000000000000000000000000000000000000000..35857f994003c7bf2b15de407f28f5079b30041b Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-flag.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-thumb1.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-thumb1.gif new file mode 100644 index 0000000000000000000000000000000000000000..8fec573875f5f0c0f87cd30bf7cc6823cbd2450a Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-thumb1.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-thumb2.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-thumb2.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee6aea8f2184abe04685ba5e9afb5ede09080f73 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/3-thumb2.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/4-question.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/4-question.gif new file mode 100644 index 0000000000000000000000000000000000000000..7b20d616f67eda899aaf3234a2cee87fb52746a3 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/4-question.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/4-star.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/4-star.gif new file mode 100644 index 0000000000000000000000000000000000000000..da6654c3fcc22c6522821652b113107b6ccbe023 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/4-star.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/5-pinion.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/5-pinion.gif new file mode 100644 index 0000000000000000000000000000000000000000..e48a5e035e4735cb70a8c9a1734d6a874b57de31 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/5-pinion.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/5-star.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/5-star.gif new file mode 100644 index 0000000000000000000000000000000000000000..55e8b079a353ac5ea326a9ec878b5ca003ba9964 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/5-star.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-greencheck.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-greencheck.gif new file mode 100644 index 0000000000000000000000000000000000000000..91f949b40ce4afe8c1f64d8d879e54bb6bc24bb9 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-greencheck.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-star.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-star.gif new file mode 100644 index 0000000000000000000000000000000000000000..de8f2fa587c77fd346c9322a67fef6c27f423a55 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-star.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-thumb1.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-thumb1.gif new file mode 100644 index 0000000000000000000000000000000000000000..3233f650bd69272ef00c864f42f9b35415b0ed66 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-thumb1.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-thumb2.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-thumb2.gif new file mode 100644 index 0000000000000000000000000000000000000000..7fdc37091acda8899440a364889d54e99e385983 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/6-thumb2.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/bug.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/bug.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5fb90ec6ee08f53947e0266a87b03f75893446 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/bug.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/readme.txt b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/readme.txt new file mode 100644 index 0000000000000000000000000000000000000000..c91e09d0bea413afd572f9700d36f7bec34f3f40 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/confidence/readme.txt @@ -0,0 +1,53 @@ +==== + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ +==== +16x16 Free Application Icons + +This icon set is free for use in personal and commercial projects. + +License Agreement + +By purchasing icons from Aha-Soft, You (the purchaser) +agree to the terms of this agreement, as detailed below. + +You may use the icons from Aha-Soft in commercial and +personal design projects, software or Internet products. +Icons can be displayed in documentation, help files, and +advertising materials. You are free to sell and distribute +products and projects using purchased icons without further +royalty fees. + +All icon files are provided 'as is'. Aha-Soft cannot be +held liable for any negative issues that may occur as a +result of using the icons. + +You agree that all ownership and copyright of the icons +remains the property of Aha-Soft. You may not resell, +distribute, lease, license or sub-license the icons or +modified icons (or a subset of the icons), to any third +party unless they are incorporated into your software or +design products. + +If you have any questions regarding copyright or licensing, +including whether another license is required for icon use +within products, please contact us here: www.aha-soft.com/support.htm + +Product page: http://www.small-icons.com/stock-icons/16x16-free-application-icons.htm + +Icon Design Service + +We can design custom icons for you. Please find the basic information +about ordering icons, pricing and the portfolio here: +www.aha-soft.com/customdev/design.htm + + +Notice +Web-site small-icons.com belongs to Aha-Soft. + +Support page: http://www.aha-soft.com/support.htm + +Copyright � 2009 Aha-Soft. All rights reserved. \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/invisible.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/invisible.gif new file mode 100644 index 0000000000000000000000000000000000000000..17d43908d5e11c5b86aee7d90287efdcc27877b2 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/invisible.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/lock24.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/lock24.png new file mode 100644 index 0000000000000000000000000000000000000000..89ebada2f32e22a93763fb904adccb7d9d2da16f Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/lock24.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/lookup-indicator.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/lookup-indicator.gif new file mode 100644 index 0000000000000000000000000000000000000000..3288d1035d70bb86517e2c233f1a904e41f06b29 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/lookup-indicator.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/suggest-indicator.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/suggest-indicator.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0bce1542342e912da81a2c260562df172f30d73 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/suggest-indicator.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/unlock24.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/unlock24.png new file mode 100644 index 0000000000000000000000000000000000000000..fae950dcd32f1da2c3b2f9e0ddb2abbf61c00e46 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/authority_control/unlock24.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/button_minus.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/button_minus.png new file mode 100644 index 0000000000000000000000000000000000000000..45ad7c36d863dd1dfea17841d594d44d8a8db649 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/button_minus.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/button_plus.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/button_plus.png new file mode 100644 index 0000000000000000000000000000000000000000..2da6ee744a8df82ed7a7ce5c4f2831874963c14f Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/button_plus.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/cc-ship.gif b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/cc-ship.gif new file mode 100644 index 0000000000000000000000000000000000000000..0f53bce152b0a68bffdaeee666f224637eb3feff Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/cc-ship.gif differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/check_606060_15x15.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/check_606060_15x15.png new file mode 100644 index 0000000000000000000000000000000000000000..8648de74b2edf7f76b2025ccec11d7d33f36fce5 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/check_606060_15x15.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_closed_222222.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_closed_222222.png new file mode 100644 index 0000000000000000000000000000000000000000..e7ab014d4a0157c873bbeea87f24ce58f0d5afea Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_closed_222222.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_doc_222222.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_doc_222222.png new file mode 100644 index 0000000000000000000000000000000000000000..5a6f9d61ccf699d9d5f7e5880f79de067af5f896 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_doc_222222.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_open_222222.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_open_222222.png new file mode 100644 index 0000000000000000000000000000000000000000..0912becd1303cf688dad0cf27871b9c212013738 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/controlledvocabulary/voc_open_222222.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/dspace-logo-only.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/dspace-logo-only.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9ea1dc3ec953bf5848a0e051a2c672f9fb906a Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/dspace-logo-only.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/favicon.ico b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..213423e15b685d1e2bf9d97b4f59edc045ec5939 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/favicon.ico differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/footer-banner.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/footer-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..eddebcdcc4f7a09fd39efebc2e7e453d4b307f16 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/footer-banner.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/footer-banners.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/footer-banners.png new file mode 100644 index 0000000000000000000000000000000000000000..6905f6588c63773b0c600b8c42704be2437815e1 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/footer-banners.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/gear_6D859C_25x25.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/gear_6D859C_25x25.png new file mode 100644 index 0000000000000000000000000000000000000000..089d864b45f346dbd5720cfba32a1d5abcf06773 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/gear_6D859C_25x25.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/gear_ffffff_25x25.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/gear_ffffff_25x25.png new file mode 100644 index 0000000000000000000000000000000000000000..97d7e566446e9d88cd2670de767d9d4ceeb2b036 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/gear_ffffff_25x25.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/information.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/information.png new file mode 100644 index 0000000000000000000000000000000000000000..12cd1aef900803abba99b26920337ec01ad5c267 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/information.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..e425e6e46ebdfe12ca1ef41e6bb245ca73c9b368 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_b6c8d9_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_b6c8d9_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..3cafcbe1d8bc4ef4c428bdc929684fac3ae36a11 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_b6c8d9_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_fff2f2_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_fff2f2_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..71faf2d122ee2cc94adac6f57afed11539acd84f Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_fff2f2_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_ffffff_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..72d4757363cd56508fb5c0c903a1d24a483cb5fe Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_100_ffffff_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_70_000000_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_70_000000_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..12e01c1042f2b7527539878dca460fd8f47f41c7 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_70_000000_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_75_1f3f5e_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_75_1f3f5e_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..c84652deb3cc11a4e47aaa7e9c8c88b90429faa4 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_75_1f3f5e_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_75_f0f2f5_40x100.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_75_f0f2f5_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..e1b2d11ec9717f2c717201dcb1c9768356b91238 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_flat_75_f0f2f5_40x100.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3d6346e00f246102f72f2e026ed0491988b394 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_glass_65_ffffff_1x400.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..8569c1bc9f4bf246dc663bca9d4b74971abbbc3b Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_2e83ff_256x240.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3c7790da5690cf66112921ad6f65d89a718d67 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_2e83ff_256x240.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_444444_256x240.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_444444_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd1eaffaae0f5fe30d8e86d2e54b990d2a1ccd0 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_444444_256x240.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_c22121_256x240.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_c22121_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..df725f9ed25e47acf29b9692a8fcf29664fa043a Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_c22121_256x240.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_ffffff_256x240.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..99c18f789a8da9698c4c95411833ab2d1c4d94b0 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/jquery_ui/ui-icons_ffffff_256x240.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/mime.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/mime.png new file mode 100644 index 0000000000000000000000000000000000000000..92668ab5ea1b0c317687432c0dc785b8c0b5a416 Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/mime.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/search_icon_ffffff_20x20.png b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/search_icon_ffffff_20x20.png new file mode 100644 index 0000000000000000000000000000000000000000..e652b5536e891d6c16fea1b255d59bfb7970869f Binary files /dev/null and b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/images/search_icon_ffffff_20x20.png differ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/HTML5Doctor_CSS_Reset.LICENSE b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/HTML5Doctor_CSS_Reset.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..02cee6172794d9d4a5b44ae3df8cd9ccbfe5196a --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/HTML5Doctor_CSS_Reset.LICENSE @@ -0,0 +1,6 @@ +HTML5Doctor CSS Reset Stylesheet (reset.css) is released in the public domain. +http://html5doctor.com/html-5-reset-stylesheet/ + +-- + +Copyright (C) 2010 Richard Clark, http://richclarkdesign.com/ diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/authority-control.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/authority-control.css new file mode 100644 index 0000000000000000000000000000000000000000..a02734f2ab9912f1cfd1f6419456d21f1e4def57 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/authority-control.css @@ -0,0 +1,88 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/** Additions for Authority Control elements **/ +/* for scriptaculous autocomplete */ +div.autocomplete { + display: none; +} + +div.autocomplete, ul.ui-menu { + position:absolute; + width:250px; + background-color:white; + border:1px solid #888; + margin:0; + padding:0; +} +div.autocomplete ul, ul.ui-menu { + list-style-type:none; + margin:0; + padding:0; +} +div.autocomplete ul li.selected { background-color: #ffb;} +div.autocomplete ul li, ul.ui-menu li { + list-style-type:none; + display:block; + margin:0; + padding:2px; +/* height:32px; */ + cursor:pointer; +} +div.autocomplete ul li span.value { display:none; } +ul.ui-menu li a { + display: block; +} +ul.ui-menu li a.ui-state-hover { + background-color: #ffb; +} +/* this magic gets the 16x16 icon to show up.. setting height/width didn't + do it, but adding padding actually made it show up. */ +img.ds-authority-confidence +{ width: 16px; height: 16px; margin: 0px 2px; padding: 0px; vertical-align: bottom; display: inline-block;} + +img.ds-authority-confidence.cf-unset + { background: transparent url(../../images/authority_control/confidence/bug.png); } +img.ds-authority-confidence.cf-novalue + /* { background: transparent } */ + { background: transparent url(../../images/authority_control/confidence/3-circleslash.gif); } +img.ds-authority-confidence.cf-rejected, +img.ds-authority-confidence.cf-failed + { background: transparent url(../../images/authority_control/confidence/2-errortriangle.gif); } +img.ds-authority-confidence.cf-notfound + { background: transparent url(../../images/authority_control/confidence/3-thumb2.gif); } +img.ds-authority-confidence.cf-ambiguous + { background: transparent url(../../images/authority_control/confidence/4-question.gif); } +img.ds-authority-confidence.cf-uncertain + { background: transparent url(../../images/authority_control/confidence/5-pinion.gif); } +img.ds-authority-confidence.cf-accepted + { background: transparent url(../../images/authority_control/confidence/6-thumb2.gif); } + +/* hide authority-value inputs in forms */ +input.ds-authority-value { display:none; } +/** XXX Change to this to get the authority value to show up for debugging: + input.ds-authority-value { display:inline; } +**/ + +/* ..except, show authority-value inputs in on the Item EditMetadata page */ +input.ds-authority-value.ds-authority-visible { display: inline; } + +/* for lock button */ +input.ds-authority-lock + { vertical-align: bottom; height: 24px; width: + 24px; background-repeat: no-repeat; background-color: transparent; } +input.ds-authority-lock.is-locked + { background-image: url(../../images/authority_control/lock24.png); } +input.ds-authority-lock.is-unlocked + { background-image: url(../../images/authority_control/unlock24.png); } + + +/* Example of authority display: this makes authors with an authority + value show up as red in the item summary view: */ +span.ds-dc_contributor_author-authority { color: #982521; } + +#aspect_general_ChoiceLookupTransformer_div_lookup select {height: auto;} diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/base.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/base.css new file mode 100644 index 0000000000000000000000000000000000000000..968e29c194b7d1645b542f58e6136e29a2704c68 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/base.css @@ -0,0 +1,81 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/* + * base.css + * + * minimal base styles + */ + + +/* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */ +body, select, input, textarea { color:#444; } + +/* www.aestheticallyloyal.com/public/optimize-legibility/ */ +h1,h2,h3,h4,h5,h6 { font-weight: bold; text-rendering: optimizeLegibility; } + +/* maxvoltar.com/archive/-webkit-font-smoothing */ +html { -webkit-font-smoothing: antialiased; } + + +/* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ +a:hover, a:active { outline: none; } + +a, a:active, a:visited { color:#607890; } +a:hover { color:#036; } + + +ul { margin-left:30px; } +ol { margin-left:30px; list-style-type: decimal; } + +small { font-size:85%; } +.bold, strong, th { font-weight: bold; } + +td, td img { vertical-align:top; } + +sub { vertical-align: sub; font-size: smaller; } +sup { vertical-align: super; font-size: smaller; } + +pre { + padding: 15px; + + /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ + white-space: pre; /* CSS2 */ + white-space: pre-wrap; /* CSS 2.1 */ + white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */ + word-wrap: break-word; /* IE */ +} + +/* align checkboxes, radios, text inputs with their label + by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */ +input[type="radio"] { vertical-align: text-bottom; } +input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; } +.ie6 input { vertical-align: text-bottom; } + +/* hand cursor on clickable input elements */ +label, input[type=button], input[type=submit], button { cursor: pointer; } + + +/* These selection declarations have to be separate. + No text-shadow: twitter.com/miketaylr/status/12228805301 */ +::-moz-selection{ background: #5e9fff; color:#fff; text-shadow: none; } +::selection { background:#5e9fff; color:#fff; text-shadow: none; } + +/* j.mp/webkit-tap-highlight-color */ +a:link { -webkit-tap-highlight-color: #5e9fff; } + + +/* always force a scrollbar in non-IE */ +html { overflow-y: scroll; } + +/* make buttons play nice in IE: + www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */ +button { width: auto; overflow: visible; } + +/* bicubic resizing for non-native sized IMG: + code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ +.ie7 img { -ms-interpolation-mode: bicubic; } \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/handheld.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/handheld.css new file mode 100644 index 0000000000000000000000000000000000000000..c96ee4860aa8bd9079da4e852846b5c6e0ae72fc --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/handheld.css @@ -0,0 +1,14 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ + +* { + float: none; /* Screens are not big enough to account for floats */ + font-size: 80%; /* Slightly reducing font size to reduce need to scroll */ + background: #fff; /* As much contrast as possible */ + color: #000; +} \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/helper.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/helper.css new file mode 100644 index 0000000000000000000000000000000000000000..46aff7aed6e70e5e364ccffda4f26fbc69b7e328 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/helper.css @@ -0,0 +1,35 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/* + * helper.css + * + * Non-semantic helper classes + */ + +/* for image replacement */ +.ir { display:block; text-indent:-999em; overflow:hidden; background-repeat: no-repeat; } + +/* Hide for both screenreaders and browsers + css-discuss.incutio.com/wiki/Screenreader_Visibility */ +.hidden { display:none; visibility:hidden; } + +/* Hide only visually, but have it available for screenreaders + www.webaim.org/techniques/css/invisiblecontent/ + Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */ +.visuallyhidden { position:absolute !important; + clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ + clip: rect(1px, 1px, 1px, 1px); } + +/* Hide visually and from screenreaders, but maintain layout */ +.invisible { visibility: hidden; } + +/* >> The Magnificent CLEARFIX << */ +.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.clearfix { display: inline-block; } +* html .clearfix { height: 1%; } /* Hides from IE-mac \*/ +.clearfix { display: block; } \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/jquery-ui-1.8.15.custom.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/jquery-ui-1.8.15.custom.css new file mode 100644 index 0000000000000000000000000000000000000000..b5cc06c025ace708dc18a38874050f1985d3f8e9 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/jquery-ui-1.8.15.custom.css @@ -0,0 +1,568 @@ +/* + * jQuery UI CSS Framework 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ctl=themeroller&ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=0&bgColorHeader=f0f2f5&bgTextureHeader=01_flat.png&bgImgOpacityHeader=75&borderColorHeader=d8e8eb&fcHeader=444444&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=100&borderColorContent=9cacba&fcContent=444444&iconColorContent=444444&bgColorDefault=B6C8D9&bgTextureDefault=01_flat.png&bgImgOpacityDefault=100&borderColorDefault=9cacba&fcDefault=444444&iconColorDefault=444444&bgColorHover=1f3f5e&bgTextureHover=01_flat.png&bgImgOpacityHover=75&borderColorHover=1f3f5e&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=9cacba&fcActive=444444&iconColorActive=444444&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fff2f2&bgTextureError=01_flat.png&bgImgOpacityError=100&borderColorError=c22121&fcError=c22121&iconColorError=c22121&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=75&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=70&opacityShadow=0&thicknessShadow=0px&offsetTopShadow=12px&offsetLeftShadow=8px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #9cacba; background: #ffffff url(../../images/jquery_ui/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x; color: #444444; } +.ui-widget-content a { color: #444444; } +.ui-widget-header { border: 1px solid #d8e8eb; background: #f0f2f5 url(../../images/jquery_ui/ui-bg_flat_75_f0f2f5_40x100.png) 50% 50% repeat-x; color: #444444; font-weight: bold; } +.ui-widget-header a { color: #444444; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #9cacba; background: #b6c8d9 url(../../images/jquery_ui/ui-bg_flat_100_b6c8d9_40x100.png) 50% 50% repeat-x; font-weight: normal; color: #444444; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #444444; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #1f3f5e; background: #1f3f5e url(../../images/jquery_ui/ui-bg_flat_75_1f3f5e_40x100.png) 50% 50% repeat-x; font-weight: normal; color: #ffffff; } +.ui-state-hover a, .ui-state-hover a:hover { color: #ffffff; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #9cacba; background: #ffffff url(../../images/jquery_ui/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #444444; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #444444; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(../../images/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #c22121; background: #fff2f2 url(../../images/jquery_ui/ui-bg_flat_100_fff2f2_40x100.png) 50% 50% repeat-x; color: #c22121; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #c22121; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #c22121; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(../../images/jquery_ui/ui-icons_444444_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(../../images/jquery_ui/ui-icons_444444_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(../../images/jquery_ui/ui-icons_444444_256x240.png); } +.ui-state-default .ui-icon { background-image: url(../../images/jquery_ui/ui-icons_444444_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(../../images/jquery_ui/ui-icons_ffffff_256x240.png); } +.ui-state-active .ui-icon {background-image: url(../../images/jquery_ui/ui-icons_444444_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(../../images/jquery_ui/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(../../images/jquery_ui/ui-icons_c22121_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 0; -webkit-border-top-left-radius: 0; -khtml-border-top-left-radius: 0; border-top-left-radius: 0; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 0; -webkit-border-top-right-radius: 0; -khtml-border-top-right-radius: 0; border-top-right-radius: 0; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 0; -webkit-border-bottom-left-radius: 0; -khtml-border-bottom-left-radius: 0; border-bottom-left-radius: 0; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 0; -webkit-border-bottom-right-radius: 0; -khtml-border-bottom-right-radius: 0; border-bottom-right-radius: 0; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(../../images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .75;filter:Alpha(Opacity=75); } +.ui-widget-shadow { margin: 12px 0 0 8px; padding: 0px; background: #000000 url(../../images/jquery_ui/ui-bg_flat_70_000000_40x100.png) 50% 50% repeat-x; opacity: 0;filter:Alpha(Opacity=0); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* + * jQuery UI Resizable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.15 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/media.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/media.css new file mode 100644 index 0000000000000000000000000000000000000000..bb5a42ef22922650acba0aea64e5a9b1c4d9b518 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/media.css @@ -0,0 +1,29 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/* + * Media queries for responsive design + */ + +@media all and (orientation:portrait) { + /* Style adjustments for portrait mode goes here */ + +} + +@media all and (orientation:landscape) { + /* Style adjustments for landscape mode goes here */ + +} + +/* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome) + Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */ +@media screen and (max-device-width: 480px) { + + + /* Prevent iOS, WinMobile from adjusting font size */ + html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } +} \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/print.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/print.css new file mode 100644 index 0000000000000000000000000000000000000000..96eada22a28cc40df173958051a416928940dbcc --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/print.css @@ -0,0 +1,34 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/* + * print.css + * + * print styles + */ +* { background: transparent !important; color: #444 !important; text-shadow: none; } + +a, a:visited { color: #444 !important; text-decoration: underline; } + +a:after { content: " (" attr(href) ")"; } + +abbr:after { content: " (" attr(title) ")"; } + +.ir a:after { content: ""; } /* Don't show links for images */ + +pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } + +img { page-break-inside: avoid; } + +@page { margin: 0.5cm; } + +p, h2, h3 { orphans: 3; widows: 3; } + +h2, h3{ page-break-after: avoid; } + +#no-js-warning-wrapper{ display: none; visibility: hidden; } + diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/reset.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/reset.css new file mode 100644 index 0000000000000000000000000000000000000000..ff36bc85329337ff4896a1af51d36cc58c6fb849 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/reset.css @@ -0,0 +1,87 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/* + reset.css +*/ + + + +/* + html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline) + v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark + html5doctor.com/html-5-reset-stylesheet/ +*/ +html, body, div, span, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +abbr, address, cite, code, +del, dfn, em, img, ins, kbd, q, samp, +small, strong, sub, sup, var, +b, i, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, figure, footer, header, +hgroup, menu, nav, section, menu, +time, mark, audio, video { + margin:0; + padding:0; + border:0; + outline:0; + font-size:100%; + vertical-align:baseline; + background:transparent; +} + +article, aside, figure, footer, header, +hgroup, nav, section { display:block; } + +nav ul { list-style:none; } + +blockquote, q { quotes:none; } + +blockquote:before, blockquote:after, +q:before, q:after { content:''; content:none; } + +a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; } + +ins { background-color:#ff9; color:#000; text-decoration:none; } + +mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; } + +del { text-decoration: line-through; } + +abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; } + +/* tables still need cellspacing="0" in the markup */ +table { border-collapse:collapse; border-spacing:0; } + +hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; } + +input, select { vertical-align:middle; } + + +/* +fonts.css from the YUI Library: developer.yahoo.com/yui/ + Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages + +There are three custom edits: + * remove arial, helvetica from explicit font stack + * make the line-height relative and unit-less + * remove the pre, code styles +*/ +body { font:13px sans-serif; *font-size:small; *font:x-small; line-height:1.22; } + +table { font-size:inherit; font:100%; } + +select, input, textarea { font:99% sans-serif; } + + +/* normalize monospace sizing + * en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome + */ +pre, code, kbd, samp { font-family: monospace, sans-serif; } \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..f81b86f4ae2d7ccbfc30011dd12af6fb1fa07263 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/style.css @@ -0,0 +1,1384 @@ +/** + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +/* + * style.css + * + * Primary Styles + */ + +/*Font size percentages based on the tables at developer.yahoo.com/yui/fonts/ */ +h1 { + font-size: 182%; + color: #1F3F5E; + text-align: justify; +} + +h2{ + font-size: 123.1%; +} + +h3 { + font-size: 116%; + +} + +h4 { + font-size: 108%; +} + +h5, h6 { + font-size: 100%; +} + +/*fix for firefox in os x, where selects get the incorrect +height if it's not explicitly set this shouldn't be noticeable in +other browsers*/ +select { + height: 20px; +} + +select.multiple { + height: auto; +} + +#ds-header-wrapper { + background-color: #1F3F5E; + color: white; + min-width: 950px; +} + +#ds-header-logo-link { + text-decoration: none; + cursor: pointer; +} + +#ds-header-logo { + float:left; + width: 500px; + height: 185px; + margin-top: 10px; + margin-right: 15px; + background: url('../../images/Logo_participatorio_2.png'); + background-repeat: no-repeat; + background-color: transparent; +} + +#ds-header-logo-text { + font-size: 400%; + color: white; + line-height: 70px; + font-weight: normal; + vertical-align: middle; + float: left; +} + +#ds-user-box { + right: 0; + top: 10px; + position: absolute; + color: white; +} + +#ds-user-box a{ + color: white; +} + +#ds-trail-wrapper { + background-color: #b6c8d9; + margin: 0; + padding: 0; + border-top: 1px solid #9cacba; + border-bottom: 1px solid #9cacba; + min-width: 950px; +} + +#ds-trail { + list-style: none; + line-height: 138.5%; + margin: 0; + padding: 3px 0; +} + +#ds-trail li { + display: inline; + color: #1F3F5E; + margin-right: 5px; +} + +#ds-trail a { + color: #1F3F5E; +} + +#no-js-warning, +#ds-trail, +#ds-header, +#ds-footer, +#ds-content { + width: 950px; + margin: auto; + position: relative; +} + +/*ie6 uses quirks mode for strict xhtml pages, and in quirks mode margin: auto; doesn't center things*/ +.ie6 #no-js-warning-wrapper, +.ie6 #ds-trail-wrapper, +.ie6 #ds-header-wrapper, +.ie6 #ds-footer-wrapper, +.ie6 #ds-content-wrapper { + text-align: center; +} + +.ie6 #ds-trail, +.ie6 #ds-header, +.ie6 #ds-footer, +.ie6 #ds-content { + margin: 0; + text-align: left; +} + +#ds-footer-wrapper { + margin-top: 40px; +} + +#ds-footer { + border-top: 1px solid #9CACBA; + padding-top: 10px; + font-size: 93%; + line-height: 1.6em; +} + +#ds-footer-left { + float: left; +} + +#ds-footer-right { + float:right; +} + +#ds-footer-right span.theme-by{ + display: inline-block; + vertical-align: top; +} + +#ds-footer-logo-link { + text-decoration:none; + line-height: 40px; + cursor: pointer; +} + +#ds-footer-logo { + display: inline-block; + background: url('../../images/@mirelogo-small.png'); + background-repeat: no-repeat; + width: 79px; + height: 40px; +} + +#ds-footer-links { + clear: left; +} + +.ie6 #ds-footer-links { + display: inline; +} + +#ds-footer-banner{ + height: 109px; + width: 990px; + background:url('../../images/footer-banners.png'); +} + + + +/*make transparent PNGs invisible in IE6 until PNG-fix is applied*/ +.ie6 #ds-header-logo, +.ie6 #ds-footer-logo { + visibility: hidden; +} + + +#ds-body { + float: left; + width: 675px; + padding-top: 10px; +} + +#ds-options-wrapper { + float: right; + width: 249px; + padding-top:10px; +} + +#ds-options { + padding: 0; +} + +h1.ds-option-set-head { + margin-top: 20px; + background-color: #f0f2f5; + padding: 3px 10px; + border: 1px solid #d8e8eb; + border-bottom: none; + font-size: 108%; +} + +#ds-search-option-head{ + margin-top: 0; +} + +div.ds-option-set { + border: 1px solid #d8e8eb; + border-top: none; +} + +div.ds-option-set ul { + list-style: none; + margin-left: 10px; + padding-top: 5px; + padding-bottom: 5px; +} + +div.ds-option-set .ds-sublist-head { + font-weight: normal; + font-size: 100%; +} + +div.ds-option-set ul.sublist { + margin-left: 20px; + padding-top: 0; + padding-bottom: 0; +} + +div#ds-feed-option li +{ + padding-top: 4px; +} + +div#ds-feed-option a +{ + padding: 0px 0px 2px 20px; +} + +#ds-search-option { + padding: 10px; +} + +#ds-search-form { + margin-bottom: 10px; +} + +#ds-search-form input.ds-text-field{ + width: 169px; +} + +#ds-search-form input.ds-button-field { + margin-left: 6px; +} + +#ds-search-form input.ds-text-field, +#ds-search-form input.ds-button-field{ + margin-bottom: 10px; +} + +p { + margin-bottom: 10px; +} + +#aspect_eperson_EditProfile_list_form, +.submission fieldset.ds-form-list, +.administrative fieldset.ds-form-list { + margin-bottom: 25px; +} + +.primary { + margin-top: 10px; + margin-bottom: 30px; +} + +ol { + margin: 0; + list-style: none; +} + +th, +td { + padding: 5px; + vertical-align: middle; +} + +.ds-button-field, +#aspect_eperson_StartRegistration_list_registration-progress li { + background-color: #6d859c; + border: 1px solid #1F3F5E; + padding: 2px 5px; + color: #FFFFFF; + font-weight: bold; + cursor: pointer; +} + +.ds-button-field[disabled="disabled"], +.ds-button-field.disabled, +li.button.disabled input { + opacity: 0.35; + cursor: auto; +} + +#aspect_eperson_StartRegistration_list_registration-progress li { + cursor: default; +} + +#aspect_eperson_StartRegistration_list_registration-progress li.arrow { + background-color: inherit; + border: none; + color: inherit; + font-weight: normal; +} + +.ie6 #aspect_eperson_StartRegistration_list_registration-progress li.arrow, +.ie7 #aspect_eperson_StartRegistration_list_registration-progress li.arrow { + background-color: #FFFFFF; + color: #444444; +} + +.ie6 #aspect_eperson_StartRegistration_list_registration-progress li.arrow { + padding-top: 5px; +} + +ul.ds-progress-list { + margin: 0 0 10px 0; + padding: 2px 0; + text-align: center; +} + +ul.ds-progress-list li { + font-weight: bold; + overflow: hidden; + display: inline; + padding: 0; + margin: 0; + max-width: 400px; +} + +ul.ds-progress-list li.button { + padding: 0; +} + +ul.ds-progress-list li.button input.ds-button-field { + font-size: 77%; +} + +.ie6 ul.ds-progress-list li.button input.ds-button-field, +.ie7 ul.ds-progress-list li.button input.ds-button-field { + padding-left: 0; + padding-right: 0; +} + +ul.ds-progress-list li.current input.ds-button-field, +#aspect_eperson_StartRegistration_list_registration-progress li.current { + background-color: #499c73; + border: 1px solid #1f5e3f; +} + +ul.ds-progress-list li.disabled input.ds-button-field +#aspect_eperson_StartRegistration_list_registration-progress li.disabled { + background-color: #F0F2F5; + border: 1px solid #D8E8EB; + color: #444444; + cursor: default; +} + +.ie6 .disabled, +.ie6 li.disabled input, +.ie7 .ds-button-field.disabled, +.ie7 li.button.disabled input, +.ie8 .ds-button-field.disabled, +.ie8 li.button.disabled input { + filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 50); + zoom: 1; + cursor: auto; +} + + +ul.ds-progress-list li.arrow { + border: none; + background: none; + font-size: 116%; + font-weight: normal; + margin-left: 3px; + margin-right: 3px; +} + +.ie6 ul.ds-progress-list li.arrow { + height: 25px; + width: 25px; + margin: 0; +} + +textarea.ds-textarea-field, +input.ds-text-field, +input.ds-file-field, +input.ds-button-field, +input.ds-password-field { + margin-bottom: 5px; + margin-top: 5px; + font-size: 93%; +} + +textarea.ds-textarea-field, +input.ds-text-field, +input.ds-password-field { + padding: 3px; + border: 1px solid #AAAAAA; +} + +.ie6 input.ds-text-field, +.ie6 input.ds-password-field { + font-size: 85%; + height: 22px; +} + +.submission .ds-form-list input.ds-text-field, +.administrative .ds-form-list input.ds-text-field, +textarea.ds-textarea-field { + width: 500px; +} + +table textarea.ds-textarea-field { + width: 400px; +} + +#aspect_administrative_item_EditItemMetadataForm_field_value { + width: 570px; +} + +#aspect_administrative_registries_EditMetadataSchema_list_edit-schema-new-field-form .ds-text-field, +#aspect_administrative_item_EditItemMetadataForm_field_language, +.ds-composite-component input.ds-text-field { + width: auto; +} + +textarea.ds-textarea-field:focus, +input.ds-text-field:focus, +input.input.ds-password-field:focus { + border-color: #5F9DE4; +} + +/* + * Show a blue glow around a focused text field + * only target browsers that support rgba colors and boxshadows + * see http://www.modernizr.com/docs/ + */ +.rgba.boxshadow textarea.ds-textarea-field:focus, +.rgba.boxshadow input.ds-text-field:focus, +.rgba.boxshadow input.ds-password-field:focus { + -moz-box-shadow:0 0 8px rgba(95, 158, 212, 0.5); + -webkit-box-shadow:0 0 8px rgba(95, 158, 212, 0.5); + box-shadow:0 0 8px rgba(95, 158, 212, 0.5); + border-color:rgba(95, 158, 212, 0.75); + outline:medium none; +} + +span.error { + clear: both; + display: block; + color: #c22121; + font-size: 0.9em; + margin-top: 3px; +} + +textarea.ds-textarea-field.error, +input.ds-text-field.error, +input.ds-password-field.error { + border-color: #c22121; + background-color: #fff2f2; +} + +.rgba.boxshadow textarea.ds-textarea-field.error:focus, +.rgba.boxshadow input.ds-text-field.error:focus, +.rgba.boxshadow input.ds-password-field.error:focus { + -moz-box-shadow:0 0 8px rgba(194, 33, 33, 0.5); + -webkit-box-shadow:0 0 8px rgba(194, 33, 33, 0.5); + box-shadow:0 0 8px rgba(194, 33, 33, 0.5); + border-color:rgba(194, 33, 33, 0.75) !important; + outline:medium none; +} + + +.ds-form-list { + margin-top: 15px; +} + +.submission h2, +.ds-form-list legend{ + font-size: 182%; + margin-bottom: 15px; + color: #1F3F5E; +} + +.ds-form-item legend { + font-size: 100%; + margin:0; + color: inherit; +} + +fieldset ol { + margin: 0; +} + +li.ds-form-item { + list-style: none; + margin-bottom: 35px; + vertical-align: middle !important; + position: relative; + clear: left; +} + +li.ds-form-item.last { + margin-bottom: 0; +} + +li.ds-form-item .ds-form-label{ + font-weight: bold; + font-size: 123.1%; +} + +li.ds-form-item label.ds-composite-component{ + display: block; + float: left; + font-size: 93%; + padding:0 8px 0 0; +} + +li.ds-form-item label.ds-composite-component input.ds-text-field{ + font-size: 100%; + width: 242px; +} + +li.ds-form-item .ds-select-field { + margin-top: 5px; +} + +.ds-add-button, +label.ds-composite-component .ds-select-field { + margin-top: 6px; + margin-bottom: 6px; +} + +li.ds-form-item label.ds-composite-component.last{ + padding:0; +} + +.ds-add-button { + vertical-align: top; + margin-left: 8px; +} + + +.ds-form-content input.ds-button-field { + font-size: 93%; +} + +select#aspect_submission_submit_SelectCollectionStep_field_handle { + max-width: 350px; +} + +#aspect_submission_StepTransformer_field_dc_date_issued_year, +#aspect_submission_StepTransformer_field_dc_date_issued_day { + width: 50px; +} + +#aspect_submission_StepTransformer_field_dc_identifier_value { + width: 130px; + margin-bottom: 0; +} + +span.composite-help, +span.field-help { + display: block; + font-size: 93%; + margin-top: 3px; + width: 506px; + text-align: justify; +} + +.ds-checkbox-field input, +.ds-radio-field input { + margin-left: 0; +} + +.ds-checkbox-field label, +.ds-radio-field label { + margin-right: 3px; +} +/*hide the double label for checkboxes & radio buttons*/ +.ds-checkbox-field legend, +.ds-radio-field legend { + display: none; +} + +.ds-previous-values { + margin-top: 10px; + clear: both; +} + +#aspect_submission_Submissions_div_submissions .ds-static-div, +.submission .ds-form-sublist ol { + background-color: #fafafa; + border: 1px solid #ebebeb; + margin-top: 3px; + margin-bottom: 30px; + padding: 10px; +} + +#aspect_submission_Submissions_div_submissions table, +#aspect_submission_Submissions_div_submissions table tr, +#aspect_submission_Submissions_div_submissions table td, +#aspect_submission_Submissions_div_submissions table th { + background-color: #FFFFFF; + border: 1px solid #9CACBA; +} + +#aspect_submission_Submissions_div_submissions table tr.ds-table-header-row, +#aspect_submission_Submissions_div_submissions table tr.ds-table-header-row th { + background-color: #B6C8D9; + border: 1px solid #9CACBA; + +} + +.submission .ds-form-sublist li.ds-form-item { + margin-bottom: 5px; +} + +.submission .ds-form-sublist .ds-form-label { + font-weight: bold; +} + + +.administrative.tabbed ul.horizontal { + list-style: none; + margin: 15px 0 0; + border-bottom: 1px solid #9cacba; +} + +.administrative.tabbed ul.horizontal li{ + float: left; + border: 1px solid #9cacba; + padding: 5px; + margin-bottom: -1px; + margin-right: 7px; + border-bottom: none; +} + +.administrative.tabbed ul.horizontal li a{ + text-decoration: none; + color: #444444; +} + +.administrative.tabbed ul.horizontal li.active-tab{ + background-color: #fafafa; + z-index: 1; + font-weight: bold; +} + +.pane { + padding: 10px; + clear: both; + background-color: #fafafa; + border: 1px solid #9cacba; + margin-bottom: 25px; + margin-top: 0; +} + +.pane .ds-form-list { + margin-top: 0; +} + +.administrative.tabbed .pane { + border-top: none; +} + +.pagination, +.pagination-masked { + padding: 7px; + background-color: #fafafa; + border: 1px solid #ebebeb; + line-height: 1em; + vertical-align:middle; +} + +.pagination-links { + list-style: none; + float: right; + margin: 0; +} + +.pagination-links li { + display: inline; + padding-left: 2px; + padding-right: 2px; +} + +.current-page-link { + font-weight: bold; + color: #1F3F5E; +} + +.current-page-link a{ + color: #1F3F5E; +} + +.pagination-info { + float: left; + margin:0; +} + +.pagination-masked.top { + margin-top: 5px; +} + +.ds-artifact-list { + list-style: none; + margin: 0; + line-height: 153.9%; +} + +.file-wrapper, +.ds-artifact-item { + padding-top: 15px; + padding-bottom: 15px; +} + +.ds-artifact-item.collection, +.ds-artifact-item.community { + padding-top: 1px; + padding-bottom: 1px; +} + +.community .artifact-title a { + font-weight: bold; +} + +.collection .artifact-title a { + font-weight: normal; +} + +#aspect_artifactbrowser_CommunityBrowser_div_comunity-browser .short-description, #aspect_discovery_SiteRecentSubmissions_div_site-home .short-description { + display: none; +} + +#aspect_artifactbrowser_SimpleSearch_div_search-results li, #aspect_discovery_SimpleSearch_div_search-results li, #aspect_artifactbrowser_AdvancedSearch_div_search-results li { + padding-top: 15px; + padding-bottom: 15px; +} + +#aspect_artifactbrowser_SimpleSearch_div_search-results ul, #aspect_discovery_SimpleSearch_div_search-results ul, #aspect_artifactbrowser_AdvancedSearch_div_search-results ul { + margin-bottom: 25px; +} + +.artifact-title { + font-size: 123.1%; +} + +.result-query, +.artifact-info { + color: gray; +} + +.artifact-abstract { + text-align: justify; +} + +ul.alphabet { + list-style: none; + margin: 0; +} + +ul.alphabet li { + display:inline; +} + +#aspect_eperson_PasswordLogin_list_password-login .ds-form-item { + float: left; + margin: 0; + margin-right: 25px; +} + +#aspect_eperson_PasswordLogin_list_password-login .ds-form-item a { + margin-left: 20px; +} + +#aspect_eperson_PasswordLogin_list_password-login .ds-form-item.last { + clear: left; +} + + +#aspect_eperson_PasswordLogin_list_password-login .ds-form-item.last .ds-form-label{ + display: none; +} + +td select.ds-select-field { + margin-left: 5px; +} + +form.search, +div.discoverySearchBox +{ + background-color: #fafafa; + border: 1px solid #ebebeb; + padding: 10px; + margin-bottom: 15px; +} + +form.search label, +div.discoverySearchBox label +{ + font-weight: bold; +} + +form.search p.ds-paragraph.button-list, +div.discoverySearchBox p.ds-paragraph.button-list +{ + text-align: center; + margin: 0; +} + +form.search fieldset, +div.discoverySearchBox fieldset { + margin: 0; +} + +form.search .ds-form-item, +div.discoverySearchBox .ds-form-item +{ + margin: 0; + padding-bottom: 5px; +} + +form.search .ds-form-item select, +div.discoverySearchBox .ds-form-item select +{ + margin-top: 0; +} + +form.search label.ds-composite-component .ds-select-field, +div.discoverySearchBox label.ds-composite-component .ds-select-field +{ + margin-top: 6px; +} + +form.search .ds-form-item label, +div.discoverySearchBox .ds-form-item label +{ + font-size: 100%; +} + +form.search .ds-form-content, +div.discoverySearchBox .ds-form-content +{ + display: inline; +} + +form.search table input.ds-text-field, +div.discoverySearchBox table input.ds-text-field +{ + margin: 0; +} + +form.search .field-help, +div.discoverySearchBox .field-help +{ + margin: 3px 0; +} + +.collection .search, +.community .search { + margin-top: 25px; +} + +#aspect_discovery_CollectionSearch_p_search-query, +#aspect_discovery_CommunitySearch_p_search-query{ + margin-bottom:0; +} + +.result-query { + margin-bottom: 30px; +} + +#aspect_administrative_registries_EditMetadataSchema_table_metadata-schema-edit-existing-fields, +#aspect_administrative_registries_MetadataRegistryMain_table_metadata-registry-main-table, +#aspect_administrative_registries_FormatRegistryMain_table_bitstream-format-registry, +#aspect_submission_Submissions_table_unfinished-submissions, +#aspect_submission_Submissions_table_submissions-inprogress, +#aspect_submission_Submissions_table_completed-submissions, +table.detailtable { + margin-top: 10px; + margin-bottom: 10px; + border-collapse: collapse; +} + +#aspect_administrative_registries_EditMetadataSchema_table_metadata-schema-edit-existing-fields tr, +#aspect_administrative_registries_MetadataRegistryMain_table_metadata-registry-main-table tr, +#aspect_administrative_registries_FormatRegistryMain_table_bitstream-format-registry tr, +#aspect_submission_Submissions_table_unfinished-submissions tr, +#aspect_submission_Submissions_table_submissions-inprogress tr, +#aspect_submission_Submissions_table_completed-submissions tr, +table.detailtable tr { + line-height: 1.6em; + border: 1px solid #ebebeb; +} + +#aspect_administrative_registries_EditMetadataSchema_table_metadata-schema-edit-existing-fields tr.even, +#aspect_administrative_registries_MetadataRegistryMain_table_metadata-registry-main-table tr.even, +#aspect_administrative_registries_FormatRegistryMain_table_bitstream-format-registry tr.even, +#aspect_submission_Submissions_table_unfinished-submissions tr.even, +#aspect_submission_Submissions_table_submissions-inprogress tr.even, +#aspect_submission_Submissions_table_completed-submissions tr.even, +table.detailtable tr.even { + background-color: #fafafa; +} + +#aspect_administrative_registries_EditMetadataSchema_table_metadata-schema-edit-existing-fields td, +#aspect_administrative_registries_MetadataRegistryMain_table_metadata-registry-main-table td, +#aspect_administrative_registries_FormatRegistryMain_table_bitstream-format-registry td, +#aspect_submission_Submissions_table_unfinished-submissions td, +#aspect_submission_Submissions_table_submissions-inprogress td, +#aspect_submission_Submissions_table_completed-submissions td, +table.detailtable td { + padding: 5px 10px; + text-align: justify; + border: 1px solid #ebebeb; + vertical-align: top; +} + +#aspect_administrative_registries_EditMetadataSchema_table_metadata-schema-edit-existing-fields tr.ds-table-header-row, +#aspect_administrative_registries_MetadataRegistryMain_table_metadata-registry-main-table tr.ds-table-header-row, +#aspect_administrative_registries_FormatRegistryMain_table_bitstream-format-registry tr.ds-table-header-row, +#aspect_submission_Submissions_table_unfinished-submissions tr.ds-table-header-row, +#aspect_submission_Submissions_table_submissions-inprogress tr.ds-table-header-row, +#aspect_submission_Submissions_table_completed-submissions tr.ds-table-header-row { + border: none; +} + + +table.detailtable td.label-cell { + font-weight: bold; + text-align: left; + width: 100px; +} + +div.item-summary-view-metadata h1, +div.item-summary-view-metadata h2 { + line-height: normal; +} + +div.item-summary-view-metadata { + text-align: justify; + line-height: 161.6%; + margin-bottom: 30px; +} + +div.simple-item-view-authors { + font-size: 123.1%; + font-weight: bold; + border-bottom:1px solid #D8E8EB; + padding-bottom: 2px; + margin-bottom: 20px; + text-align: justify; +} + +div.simple-item-view-authors span{ + text-align: justify; +} + +#aspect_artifactbrowser_ItemViewer_div_item-view h2, +div.item-summary-view-metadata p.item-view-toggle-bottom, +div.simple-item-view-description { + margin-top: 20px; +} + +#aspect_artifactbrowser_ItemViewer_div_item-view h2, +div.simple-item-view-description h3{ + border-bottom:1px solid #D8E8EB; + margin-bottom: 3px; +} + +#aspect_artifactbrowser_ItemViewer_div_item-view h2 { + margin-bottom: 10px; +} + +div.spacer{ + height: 15px; +} + +.thumbnail-wrapper, +.file-metadata, +.file-link { + float: left; + margin-right: 15px; +} + +.item-metadata { + float: left; +} + +.file-metadata { + width: 300px; +} + +.file-metadata span, +.item-metadata span { + float: left; +} + +.item-metadata span.content span { + float: none; +} + +.file-metadata span.bold, +.item-metadata span.bold { + width: 80px; + clear: left; + text-align: right; + margin-right: 7px; +} + +#ds-system-wide-alert, +.notice { + padding: 10px; + margin: 10px 0; + border: 1px solid #bfc221; + background-color: #fffff2; +} + +.notice.success +{ + border-color: #21c221; + background-color: #f2fff2; +} + +#ds-system-wide-alert, +.notice.failure +{ + border-color: #c22121; + background-color: #fff2f2; +} + +#ds-system-wide-alert p { + margin: 0; +} + +#aspect_artifactbrowser_CommunityViewer_div_community-home h2, +#aspect_artifactbrowser_CollectionViewer_div_collection-home h2 { + margin-top: 30px; + border-bottom:1px solid #D8E8EB; + margin-bottom: 3px; +} + +.ds-logo-wrapper { + display: block; +} + +#aspect_administrative_item_FindItemForm_list_find-item-form .ds-form-item { + margin:0; +} + +#aspect_administrative_registries_EditMetadataSchema_div_edit-schema-new-field .ds-form-item.last { + margin-top: -25px; +} + +#no-js-warning { + margin-top: 15px; + margin-bottom: 10px; + text-align: center; +} + +form.discover-search-box{ + margin-bottom: 10px; +} + + +form.discover-sort-box select{ + margin: 0 4px; +} + +.hidden { + display:none; + visibility:hidden; +} + +.icon-button{ + padding:4px; + cursor: pointer; + margin: 2px; + background-color: #6D859C; + border: 1px solid #1F3F5E; + text-indent: -1000px; + width: 30px; + height: 30px; + display:block; + /*Required for IE*/ + font-size: 0; + line-height: 0; +} + +.icon-button.arrowUp{ + background-image: url(../../images/arrow_up_ffffff_16x16.png); + background-repeat: no-repeat; + background-position: center center; +} + +.icon-button.arrowDown{ + background-image: url(../../images/arrow_down_ffffff_16x16.png); + background-repeat: no-repeat; + background-position: center center; +} + +/* FOR CC License */ +span.floatleft { + border:none; + float:right; + display:inline; +} + +/* FOR CC PAGE to GROUP ITEMS horizontally */ +ul.horizontal li span.bold a { color: black; } + +/* group items horizontally in a list */ + +ul.horizontalVanilla +{ +font-weight: bold; +list-style-type: none; +padding: 0px; +padding-left: 0px; +padding-bottom: 15px; +border-left: 1px solid white; +border-right: 1px solid white; +margin: 10px -1px 5px -1px; +width: inherit; +} + +ul.horizontalVanilla li +{ +float: left; +height: 100%; +background-color: rgb(255, 255, 255); +margin: 2px 2px 0px 2px; +/* border: 1px solid rgb(240, 240, 210); */ +} + +/* Controlled vocabulary support css START*/ +ul.vocabulary { + margin-left: 0; +} + +ul.vocabulary, +ul.vocabulary ul, +ul.vocabulary li +{ + list-style: none; +} + +ul.vocabulary div.vocabulary-node-icon{ + cursor: pointer; + width: 15px; + height: 12px; + display: inline-block; +} + +ul.vocabulary div.vocabulary-node-icon.vocabulary-doc{ + background-image: url(../../images/controlledvocabulary/voc_doc_222222.png); +} + +ul.vocabulary div.vocabulary-node-icon.vocabulary-open{ + background-image: url(../../images/controlledvocabulary/voc_open_222222.png); +} + +ul.vocabulary div.vocabulary-node-icon.vocabulary-closed{ + background-image: url(../../images/controlledvocabulary/voc_closed_222222.png); + background-repeat: no-repeat; +} + +div.vocabulary-container li.error{ + color: #c22121; +} +/* Controlled vocabulary support css END*/ + +#aspect_administrative_authorization_EditPolicyForm_field_start_date{ + width: 100px; +} +#aspect_administrative_authorization_EditPolicyForm_field_end_date{ + width: 100px; +} +#aspect_administrative_authorization_EditItemPolicies_table_policies-confirm-delete tr, +#aspect_administrative_authorization_EditItemPolicies_table_policies-confirm-delete td +{ + border: 1px solid lightgray; +} + + +#aspect_administrative_authorization_AdvacedAuthorizationsForm_field_end_date{ + width: 100px; +} +#aspect_administrative_authorization_AdvacedAuthorizationsForm_field_start_date{ + width: 100px; +} +#aspect_submission_StepTransformer_field_embargo_until_date{ + width: 100px; +} + +#aspect_administrative_item_AddBitstreamForm_field_embargo_until_date{ + width: 100px; +} + +#aspect_administrative_item_EditBitstreamForm_field_embargo_until_date{ + width: 100px; +} + +#aspect_submission_StepTransformer_table_policies tr, +#aspect_submission_StepTransformer_table_policies td +{ + border: 1px solid lightgray; +} + +table.detailtable { + background-color: #D8E8EB; +} + +table.detailtable th{ + background-color: #F0F2F5; + word-wrap: normal; +} + +table.detailtable td{ + background-color: #FFFFFF; + text-align: right; +} + + +span.highlight{ + font-weight: bold; +} + +div.gear-icon{ + background-image: url('../../images/gear_6D859C_25x25.png'); +} + +ul.gear-selection li.gear-option-selected{ + background: url('../../images/check_606060_15x15.png') no-repeat 3px center; +} + +input#aspect_discovery_SimpleSearch_field_query{ + width: 565px; +} + +input.search-icon{ + background-image: url('../../images/search_icon_ffffff_20x20.png'); + background-repeat: no-repeat; + background-position: center center; + text-indent: -1000px; + /*Css props below are required for IE*/ + font-size: 0; + display:block; + line-height: 0; +} + +div#aspect_discovery_SimpleSearch_div_search p.pagination-info{ + display: none; +} + +div#aspect_discovery_SimpleSearch_div_search .pagination-links{ + float: left; +} + +table.discovery-filters{ + width: 100%; + background-color: #FFFFFF; +} + +table.discovery-filters tr{ + border-top: 1px solid #EBEBEB; +} +table.discovery-filters td{ + padding: 0; +} + +table.discovery-filters td.selection{ + width: 1%; +} + +table.discovery-filters th.new-filter-header{ + text-align: left; + padding-top: 20px; +} + + +table.discovery-filters td.discovery-filter-input-cell { + padding-left: 3px; +} + + +table.discovery-filters tr.apply-filter{ + background-color: #FAFAFA; +} + +table.discovery-filters tr.apply-filter input{ + width: 65px; + height: 25px; + margin-left: auto; + margin-right: auto; + font-size: 108%; + display: block; + margin-top: 10px; +} + + +table.discovery-filters td.filter-controls{ + width: 50px; +} + +table.discovery-filters input.filter-control { + margin-left: 5px; + text-indent: -1000px; + background-repeat: no-repeat; + background-position: center center; + height: 17px; + width: 17px; + float: left; + background-color: transparent; + border: none; + /*Css props below are required for IE*/ + font-size: 0; + display:block; + line-height: 0; +} + +table.discovery-filters input.filter-control.filter-remove{ + margin-left: 7px; + background-image: url('../../images/button_minus.png'); +} + +table.discovery-filters input.filter-control.filter-add{ + background-image: url('../../images/button_plus.png'); +} + +table.discovery-filters tr.search-filter.filler +{ + background-color: #FAFAFA; + height: 25px; +} + +table.discovery-filters th.new-filter-header +{ + padding-top: 5px; +} + + +.searchTime{ + color: #999999; +} diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/yui.LICENSE b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/yui.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..7e24edaf7d4e8126dd1172759287decade45331f --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/css/yui.LICENSE @@ -0,0 +1,15 @@ +YUI Library is used under the terms of the BSD License +http://yuilibrary.com/license/ + +--- + +Copyright (c) 2010, Yahoo! Inc. +All rights reserved. + +Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +- Neither the name of Yahoo! Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Yahoo! Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/DD_belatedPNG.LICENSE b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/DD_belatedPNG.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..9a66484c8fe70779b86ba3e9a7f200eab468475c --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/DD_belatedPNG.LICENSE @@ -0,0 +1,24 @@ +DD_belatedPNG Javascript library is used under the terms of the MIT License +http://dillerdesign.com/experiment/DD_belatedPNG/#license + +-- + +Copyright (c) 2008 Drew Diller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/DD_belatedPNG_0.0.8a.js b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/DD_belatedPNG_0.0.8a.js new file mode 100644 index 0000000000000000000000000000000000000000..31dd24924c53c790530e62b13f7f60d47790771e --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/DD_belatedPNG_0.0.8a.js @@ -0,0 +1,329 @@ +/** +* DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>. +* Author: Drew Diller +* Email: drew.diller@gmail.com +* URL: http://www.dillerdesign.com/experiment/DD_belatedPNG/ +* Version: 0.0.8a +* Licensed under the MIT License: http://dillerdesign.com/experiment/DD_belatedPNG/#license +* +* Example usage: +* DD_belatedPNG.fix('.png_bg'); // argument is a CSS selector +* DD_belatedPNG.fixPng( someNode ); // argument is an HTMLDomElement +**/ + +/* +PLEASE READ: +Absolutely everything in this script is SILLY. I know this. IE's rendering of certain pixels doesn't make sense, so neither does this code! +*/ + +var DD_belatedPNG = { + ns: 'DD_belatedPNG', + imgSize: {}, + delay: 10, + nodesFixed: 0, + createVmlNameSpace: function () { /* enable VML */ + if (document.namespaces && !document.namespaces[this.ns]) { + document.namespaces.add(this.ns, 'urn:schemas-microsoft-com:vml'); + } + }, + createVmlStyleSheet: function () { /* style VML, enable behaviors */ + /* + Just in case lots of other developers have added + lots of other stylesheets using document.createStyleSheet + and hit the 31-limit mark, let's not use that method! + further reading: http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx + */ + var screenStyleSheet, printStyleSheet; + screenStyleSheet = document.createElement('style'); + screenStyleSheet.setAttribute('media', 'screen'); + document.documentElement.firstChild.insertBefore(screenStyleSheet, document.documentElement.firstChild.firstChild); + if (screenStyleSheet.styleSheet) { + screenStyleSheet = screenStyleSheet.styleSheet; + screenStyleSheet.addRule(this.ns + '\\:*', '{behavior:url(#default#VML)}'); + screenStyleSheet.addRule(this.ns + '\\:shape', 'position:absolute;'); + screenStyleSheet.addRule('img.' + this.ns + '_sizeFinder', 'behavior:none; border:none; position:absolute; z-index:-1; top:-10000px; visibility:hidden;'); /* large negative top value for avoiding vertical scrollbars for large images, suggested by James O'Brien, http://www.thanatopsic.org/hendrik/ */ + this.screenStyleSheet = screenStyleSheet; + + /* Add a print-media stylesheet, for preventing VML artifacts from showing up in print (including preview). */ + /* Thanks to R�mi Pr�vost for automating this! */ + printStyleSheet = document.createElement('style'); + printStyleSheet.setAttribute('media', 'print'); + document.documentElement.firstChild.insertBefore(printStyleSheet, document.documentElement.firstChild.firstChild); + printStyleSheet = printStyleSheet.styleSheet; + printStyleSheet.addRule(this.ns + '\\:*', '{display: none !important;}'); + printStyleSheet.addRule('img.' + this.ns + '_sizeFinder', '{display: none !important;}'); + } + }, + readPropertyChange: function () { + var el, display, v; + el = event.srcElement; + if (!el.vmlInitiated) { + return; + } + if (event.propertyName.search('background') != -1 || event.propertyName.search('border') != -1) { + DD_belatedPNG.applyVML(el); + } + if (event.propertyName == 'style.display') { + display = (el.currentStyle.display == 'none') ? 'none' : 'block'; + for (v in el.vml) { + if (el.vml.hasOwnProperty(v)) { + el.vml[v].shape.style.display = display; + } + } + } + if (event.propertyName.search('filter') != -1) { + DD_belatedPNG.vmlOpacity(el); + } + }, + vmlOpacity: function (el) { + if (el.currentStyle.filter.search('lpha') != -1) { + var trans = el.currentStyle.filter; + trans = parseInt(trans.substring(trans.lastIndexOf('=')+1, trans.lastIndexOf(')')), 10)/100; + el.vml.color.shape.style.filter = el.currentStyle.filter; /* complete guesswork */ + el.vml.image.fill.opacity = trans; /* complete guesswork */ + } + }, + handlePseudoHover: function (el) { + setTimeout(function () { /* wouldn't work as intended without setTimeout */ + DD_belatedPNG.applyVML(el); + }, 1); + }, + /** + * This is the method to use in a document. + * @param {String} selector - REQUIRED - a CSS selector, such as '#doc .container' + **/ + fix: function (selector) { + if (this.screenStyleSheet) { + var selectors, i; + selectors = selector.split(','); /* multiple selectors supported, no need for multiple calls to this anymore */ + for (i=0; i<selectors.length; i++) { + this.screenStyleSheet.addRule(selectors[i], 'behavior:expression(DD_belatedPNG.fixPng(this))'); /* seems to execute the function without adding it to the stylesheet - interesting... */ + } + } + }, + applyVML: function (el) { + el.runtimeStyle.cssText = ''; + this.vmlFill(el); + this.vmlOffsets(el); + this.vmlOpacity(el); + if (el.isImg) { + this.copyImageBorders(el); + } + }, + attachHandlers: function (el) { + var self, handlers, handler, moreForAs, a, h; + self = this; + handlers = {resize: 'vmlOffsets', move: 'vmlOffsets'}; + if (el.nodeName == 'A') { + moreForAs = {mouseleave: 'handlePseudoHover', mouseenter: 'handlePseudoHover', focus: 'handlePseudoHover', blur: 'handlePseudoHover'}; + for (a in moreForAs) { + if (moreForAs.hasOwnProperty(a)) { + handlers[a] = moreForAs[a]; + } + } + } + for (h in handlers) { + if (handlers.hasOwnProperty(h)) { + handler = function () { + self[handlers[h]](el); + }; + el.attachEvent('on' + h, handler); + } + } + el.attachEvent('onpropertychange', this.readPropertyChange); + }, + giveLayout: function (el) { + el.style.zoom = 1; + if (el.currentStyle.position == 'static') { + el.style.position = 'relative'; + } + }, + copyImageBorders: function (el) { + var styles, s; + styles = {'borderStyle':true, 'borderWidth':true, 'borderColor':true}; + for (s in styles) { + if (styles.hasOwnProperty(s)) { + el.vml.color.shape.style[s] = el.currentStyle[s]; + } + } + }, + vmlFill: function (el) { + if (!el.currentStyle) { + return; + } else { + var elStyle, noImg, lib, v, img, imgLoaded; + elStyle = el.currentStyle; + } + for (v in el.vml) { + if (el.vml.hasOwnProperty(v)) { + el.vml[v].shape.style.zIndex = elStyle.zIndex; + } + } + el.runtimeStyle.backgroundColor = ''; + el.runtimeStyle.backgroundImage = ''; + noImg = true; + if (elStyle.backgroundImage != 'none' || el.isImg) { + if (!el.isImg) { + el.vmlBg = elStyle.backgroundImage; + el.vmlBg = el.vmlBg.substr(5, el.vmlBg.lastIndexOf('")')-5); + } + else { + el.vmlBg = el.src; + } + lib = this; + if (!lib.imgSize[el.vmlBg]) { /* determine size of loaded image */ + img = document.createElement('img'); + lib.imgSize[el.vmlBg] = img; + img.className = lib.ns + '_sizeFinder'; + img.runtimeStyle.cssText = 'behavior:none; position:absolute; left:-10000px; top:-10000px; border:none; margin:0; padding:0;'; /* make sure to set behavior to none to prevent accidental matching of the helper elements! */ + imgLoaded = function () { + this.width = this.offsetWidth; /* weird cache-busting requirement! */ + this.height = this.offsetHeight; + lib.vmlOffsets(el); + }; + img.attachEvent('onload', imgLoaded); + img.src = el.vmlBg; + img.removeAttribute('width'); + img.removeAttribute('height'); + document.body.insertBefore(img, document.body.firstChild); + } + el.vml.image.fill.src = el.vmlBg; + noImg = false; + } + el.vml.image.fill.on = !noImg; + el.vml.image.fill.color = 'none'; + el.vml.color.shape.style.backgroundColor = elStyle.backgroundColor; + el.runtimeStyle.backgroundImage = 'none'; + el.runtimeStyle.backgroundColor = 'transparent'; + }, + /* IE can't figure out what do when the offsetLeft and the clientLeft add up to 1, and the VML ends up getting fuzzy... so we have to push/enlarge things by 1 pixel and then clip off the excess */ + vmlOffsets: function (el) { + var thisStyle, size, fudge, makeVisible, bg, bgR, dC, altC, b, c, v; + thisStyle = el.currentStyle; + size = {'W':el.clientWidth+1, 'H':el.clientHeight+1, 'w':this.imgSize[el.vmlBg].width, 'h':this.imgSize[el.vmlBg].height, 'L':el.offsetLeft, 'T':el.offsetTop, 'bLW':el.clientLeft, 'bTW':el.clientTop}; + fudge = (size.L + size.bLW == 1) ? 1 : 0; + /* vml shape, left, top, width, height, origin */ + makeVisible = function (vml, l, t, w, h, o) { + vml.coordsize = w+','+h; + vml.coordorigin = o+','+o; + vml.path = 'm0,0l'+w+',0l'+w+','+h+'l0,'+h+' xe'; + vml.style.width = w + 'px'; + vml.style.height = h + 'px'; + vml.style.left = l + 'px'; + vml.style.top = t + 'px'; + }; + makeVisible(el.vml.color.shape, (size.L + (el.isImg ? 0 : size.bLW)), (size.T + (el.isImg ? 0 : size.bTW)), (size.W-1), (size.H-1), 0); + makeVisible(el.vml.image.shape, (size.L + size.bLW), (size.T + size.bTW), (size.W), (size.H), 1 ); + bg = {'X':0, 'Y':0}; + if (el.isImg) { + bg.X = parseInt(thisStyle.paddingLeft, 10) + 1; + bg.Y = parseInt(thisStyle.paddingTop, 10) + 1; + } + else { + for (b in bg) { + if (bg.hasOwnProperty(b)) { + this.figurePercentage(bg, size, b, thisStyle['backgroundPosition'+b]); + } + } + } + el.vml.image.fill.position = (bg.X/size.W) + ',' + (bg.Y/size.H); + bgR = thisStyle.backgroundRepeat; + dC = {'T':1, 'R':size.W+fudge, 'B':size.H, 'L':1+fudge}; /* these are defaults for repeat of any kind */ + altC = { 'X': {'b1': 'L', 'b2': 'R', 'd': 'W'}, 'Y': {'b1': 'T', 'b2': 'B', 'd': 'H'} }; + if (bgR != 'repeat' || el.isImg) { + c = {'T':(bg.Y), 'R':(bg.X+size.w), 'B':(bg.Y+size.h), 'L':(bg.X)}; /* these are defaults for no-repeat - clips down to the image location */ + if (bgR.search('repeat-') != -1) { /* now let's revert to dC for repeat-x or repeat-y */ + v = bgR.split('repeat-')[1].toUpperCase(); + c[altC[v].b1] = 1; + c[altC[v].b2] = size[altC[v].d]; + } + if (c.B > size.H) { + c.B = size.H; + } + el.vml.image.shape.style.clip = 'rect('+c.T+'px '+(c.R+fudge)+'px '+c.B+'px '+(c.L+fudge)+'px)'; + } + else { + el.vml.image.shape.style.clip = 'rect('+dC.T+'px '+dC.R+'px '+dC.B+'px '+dC.L+'px)'; + } + }, + figurePercentage: function (bg, size, axis, position) { + var horizontal, fraction; + fraction = true; + horizontal = (axis == 'X'); + switch(position) { + case 'left': + case 'top': + bg[axis] = 0; + break; + case 'center': + bg[axis] = 0.5; + break; + case 'right': + case 'bottom': + bg[axis] = 1; + break; + default: + if (position.search('%') != -1) { + bg[axis] = parseInt(position, 10) / 100; + } + else { + fraction = false; + } + } + bg[axis] = Math.ceil( fraction ? ( (size[horizontal?'W': 'H'] * bg[axis]) - (size[horizontal?'w': 'h'] * bg[axis]) ) : parseInt(position, 10) ); + if (bg[axis] % 2 === 0) { + bg[axis]++; + } + return bg[axis]; + }, + fixPng: function (el) { + el.style.behavior = 'none'; + var lib, els, nodeStr, v, e; + if (el.nodeName == 'BODY' || el.nodeName == 'TD' || el.nodeName == 'TR') { /* elements not supported yet */ + return; + } + el.isImg = false; + if (el.nodeName == 'IMG') { + if(el.src.toLowerCase().search(/\.png(\?\d+)?$/) != -1) { + el.isImg = true; + el.style.visibility = 'hidden'; + } + else { + return; + } + } + else if (el.currentStyle.backgroundImage.toLowerCase().search('.png') == -1) { + return; + } + lib = DD_belatedPNG; + el.vml = {color: {}, image: {}}; + els = {shape: {}, fill: {}}; + for (v in el.vml) { + if (el.vml.hasOwnProperty(v)) { + for (e in els) { + if (els.hasOwnProperty(e)) { + nodeStr = lib.ns + ':' + e; + el.vml[v][e] = document.createElement(nodeStr); + } + } + el.vml[v].shape.stroked = false; + el.vml[v].shape.appendChild(el.vml[v].fill); + el.parentNode.insertBefore(el.vml[v].shape, el); + } + } + el.vml.image.shape.fillcolor = 'none'; /* Don't show blank white shapeangle when waiting for image to load. */ + /* If the height and width attributes are set, then scale to size, if not, display as per usual */ + if (el.height && el.width){el.vml.image.fill.type = 'frame';} else {el.vml.image.fill.type = 'tile';} + el.vml.color.fill.on = false; /* Actually going to apply vml element's style.backgroundColor, so hide the whiteness. */ + lib.attachHandlers(el); + lib.giveLayout(el); + lib.giveLayout(el.offsetParent); + el.vmlInitiated = true; + lib.applyVML(el); /* Render! */ + } +}; +try { + document.execCommand("BackgroundImageCache", false, true); /* TredoSoft Multiple IE doesn't like this, so try{} it */ +} catch(r) {} +DD_belatedPNG.createVmlNameSpace(); +DD_belatedPNG.createVmlStyleSheet(); \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/choice-support.js b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/choice-support.js new file mode 100644 index 0000000000000000000000000000000000000000..dae4db539422e0c2de7b71f4718ee18be72349fa --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/choice-support.js @@ -0,0 +1,562 @@ +/* + * The contents of this file are subject to the license and copyright + * detailed in the LICENSE and NOTICE files at the root of the source + * tree and available online at + * + * http://www.dspace.org/license/ + */ +// Client-side scripting to support DSpace Choice Control + +// IMPORTANT NOTE: +// This version of choice-support.js has been rewritten to use jQuery +// instead of prototype & scriptaculous. The goal was not to change the +// way it works in any way, just to get the prototype dependency out. +// @Author Art Lowel (art.lowel at atmire.com) + +// Entry points: +// 1. DSpaceAutocomplete -- add autocomplete (suggest) to an input field +// +// 2. DSpaceChoiceLookup -- create popup window with authority choices +// +// @Author: Larry Stone <lcs@hulmail.harvard.edu> +// $Revision $ + +// -------------------- support for Autocomplete (Suggest) + +// Autocomplete utility: +// Arguments: +// formID -- ID attribute of form tag +// args properties: +// metadataField -- metadata field e.g. dc_contributor_author +// inputName -- input field name for text input, or base of "Name" pair +// authorityName -- input field name in which to set authority +// containerID -- ID attribute of DIV to hold the menu objects +// indicatorID -- ID attribute of element to use as a "loading" indicator +// confidenceIndicatorID -- ID of element on which to set confidence +// confidenceName - NAME of confidence input (not ID) +// contextPath -- URL path prefix (i.e. webapp contextPath) for DSpace. +// collection -- db ID of dspace collection to serve as context +// isClosed -- true if authority value is required, false = non-auth allowed +// XXX Can't really enforce "isClosed=true" with autocomplete, user can type anything +// +// NOTE: Successful autocomplete always sets confidence to 'accepted' since +// authority value (if any) *was* chosen interactively by a human. +function DSpaceSetupAutocomplete(formID, args) { + + $(function() { + if (args.authorityName == null) + args.authorityName = dspace_makeFieldInput(args.inputName, '_authority'); + var form = $('#' + formID)[0]; + var inputID = form.elements[args.inputName].id; + + var authorityID = null; + if (form.elements[args.authorityName] != null) + authorityID = form.elements[args.authorityName].id; + + // AJAX menu source, can add &query=TEXT + var choiceURL = args.contextPath + "/choices/" + args.metadataField; + var collID = args.collection == null ? -1 : args.collection; + choiceURL += '?collection=' + collID; + + var ac = $('#' + inputID); + ac.autocomplete({ + source: function(request, response) { + var reqUrl = choiceURL; + if(request && request.term) { + reqUrl += "&query=" + request.term; + } + $.get(reqUrl, function(xmldata) { + var options = []; + var authorities = []; + $(xmldata).find('Choice').each(function() { + // get value + var value = $(this).attr('value') ? $(this).attr('value') : null; + // get label, if empty set it to value + var label = $(this).text() ? $(this).text() : value; + // if value was empty but label was provided, set value to label + if(!value) { + value = label; + } + // if at this point either value or label == null, this means none of both were set and we shouldn't add it to the list of options + if (label != null) { + options.push({ + label: label, + value: value + }); + authorities['label: ' + label + ', value: ' + value] = $(this).attr('authority') ? $(this).attr('authority') : value; + } + }); + ac.data('authorities',authorities); + response(options); + }); + }, + select: function(event, ui) { + // NOTE: lookup element late because it might not be in DOM + // at the time we evaluate the function.. +// var authInput = document.getElementById(authorityID); +// var authValue = li == null ? "" : li.getAttribute("authority"); + var authInput = $('#' + authorityID); + if(authInput.length > 0) { + authInput = authInput[0]; + } + else { + authInput = null; + } + var authorities = ac.data('authorities'); + var authValue = authorities['label: ' + ui.item.label + ', value: ' + ui.item.value]; + if (authInput != null) { + authInput.value = authValue; + // update confidence input's value too if available. + if (args.confidenceName != null) { + var confInput = authInput.form.elements[args.confidenceName]; + if (confInput != null) + confInput.value = 'accepted'; + } + } + // make indicator blank if no authority value + DSpaceUpdateConfidence(document, args.confidenceIndicatorID, + authValue == null || authValue == '' ? 'blank' : 'accepted'); + } + }); + }); +} + +// -------------------- support for Lookup Popup + +// Create popup window with authority choices for value of an input field. +// This is intended to be called by onClick of a "Lookup" or "Add" button. +function DSpaceChoiceLookup(url, field, formID, valueInput, authInput, + confIndicatorID, collectionID, isName, isRepeating) { + // fill in parameters for URL of popup window + url += '?field=' + field + '&formID=' + formID + '&valueInput=' + valueInput + + '&authorityInput=' + authInput + '&collection=' + collectionID + + '&isName=' + isName + '&isRepeating=' + isRepeating + '&confIndicatorID=' + confIndicatorID + + '&limit=50'; //limit to 50 results at once (make configurable?) + + // primary input field - for positioning popup. + var inputFieldName = isName ? dspace_makeFieldInput(valueInput, '_last') : valueInput; + var inputField = $('input[name = ' + inputFieldName + ']'); + // sometimes a textarea is used, in which case the previous jQuery search delivered no results... + if(inputField.length == 0) { + // so search for a textarea + inputField = $('textarea[name = ' + inputFieldName + ']'); + } + var cOffset = 0; + if (inputField != null) + cOffset = inputField.offset(); + var width = 600; // XXX guesses! these should be params, or configured.. + var height = 470; + var left; + var top; + if (window.screenX == null) { + left = window.screenLeft + cOffset.left - (width / 2); + top = window.screenTop + cOffset.top - (height / 2); + } else { + left = window.screenX + cOffset.left - (width / 2); + top = window.screenY + cOffset.top - (height / 2); + } + if (left < 0) left = 0; + if (top < 0) top = 0; + var pw = window.open(url, 'ignoreme', + 'width=' + width + ',height=' + height + ',left=' + left + ',top=' + top + + ',toolbar=no,menubar=no,location=no,status=no,resizable'); + if (window.focus) pw.focus(); + return false; +} + +// Run this as the Lookup page is loaded to initialize DOM objects, load choices +function DSpaceChoicesSetup(form) { + // find the "LEGEND" in fieldset, which acts as page title, + var legend = $('#aspect_general_ChoiceLookupTransformer_list_choicesList :header:first'); + //save the template as a jQuery data field + legend.data('template', legend.html()); + legend.html("Loading..."); + DSpaceChoicesLoad(form); +} + + +// Populate the "select" (in popup window) with options from ajax request +// stash some parameters as properties of the "select" so we can add to +// the last start index to query for next set of results. +function DSpaceChoicesLoad(form) { + var field = $('*[name = paramField]').val(); + var value = $('*[name = paramValue]').val(); + if (!value) + value = ''; + var start = $('*[name = paramStart]').val(); + var limit = $('*[name = paramLimit]').val(); + var formID = $('*[name = paramFormID]').val(); + var collID = $('*[name = paramCollection]').val(); + var isName = $('*[name = paramIsName]').val() == 'true'; + var isRepeating = $('*[name = paramIsRepeating]').val() == 'true'; + var isClosed = $('*[name = paramIsClosed]').val() == 'true'; + var contextPath = $('*[name = contextPath]').val(); + var fail = $('*[name = paramFail]').val(); + var valueInput = $('*[name = paramValueInput]').val(); + var nonAuthority = ""; + var pNAInput = $('*[name = paramNonAuthority]'); + if (pNAInput.length > 0) + nonAuthority = pNAInput.val(); + + // get value from form inputs in opener if not explicitly supplied + if (value.length == 0) { + // This bit of javascript is accessing the form that opened the popup window, + // so that we can grab the value the user entered before pressing the "Lookup & Add" button + var of = $(window.opener.document).find('#' + formID); + if (isName) + value = makePersonName(of.find('*[name = ' + dspace_makeFieldInput(valueInput, '_last') + ']').val(), + of.find('*[name = ' + dspace_makeFieldInput(valueInput, '_first') + ']').val()); + else + value = of.find('*[name = ' + valueInput + ']').val(); + + // if this is a repeating input, clear the source value so that e.g. + // clicking "Next" on a submit-describe page will not *add* the proposed + // lookup text as a metadata value: + if (isRepeating) { + if (isName) { + of.find('*[name = ' + dspace_makeFieldInput(valueInput, '_last') + ']').val(''); + of.find('*[name = ' + dspace_makeFieldInput(valueInput, '_first') + ']').val(''); + } + else + of.find('*[name = ' + valueInput + ']').val(null); + } + + // Save passed-in value to hidden 'paramValue' field in the popup window + // (This will allow the user to get "more results" for the same query, + // if results are on more than one page.) + $('*[name = paramValue]').val(value); + } + + // start spinner + var indicator = $('#lookup_indicator_id'); + indicator.show('fast'); + + $(window).ajaxError(function(e, xhr, settings, exception) { + window.alert(fail + " Exception=" + e); + if (indicator != null) indicator.style.display = "none"; + }); + + // AJAX to send off the query to the "/choices" URL, and + // then parse the response based on whether it was successful or error occurred + // NOTE: you can send this same query manually to see result sample. + // Just enter the URL & pass all data values on query string. + $.ajax({ + url: contextPath + "/choices/" + field, + type: "GET", + data: {query: value, collection: collID, + start: start, limit: limit}, + error: function() { + window.alert(fail + " HTTP error resonse"); + if (indicator != null) indicator.style.display = "none"; + }, + success: function(data) { + var Choices = $(data).find('Choices'); + var err = Choices.attr('error'); + if (err != null && err == 'true') + window.alert(fail + " Server indicates error in response."); + var opts = Choices.find('Choice'); + + // update range message and update 'more' button + var oldStart = 1 * Choices.attr('start'); + var nextStart = oldStart + opts.length; + var lastTotal = Choices.attr('total'); + var resultMore = Choices.attr('more'); + //if no more results to display, then disable the "more" button + if(resultMore==null || resultMore == 'false') + $('*[name = more]').attr('disabled', 'true'); + else //otherwise, enable the "more" button + $('*[name = more]').removeAttr('disabled'); + // save next starting index to hidden field + $('*[name = paramStart]').val(nextStart); + + // clear select first + var select = $('select[name = chooser]:first'); + select.find('option:not(:last)').remove(); + var lastOption = select.find('option:last'); + + var selectedByValue = -1; // select by value match + var selectedByChoices = -1; // Choice says its selected + $.each(opts, function(index) { +// debugger; + var current = $(this); + if (current.attr('value') == value) + selectedByValue = index; + if(current.attr('selected') != undefined) + selectedByChoices = index; + + var newOption = $('<option value="' + current.attr('value') + '">' + current.text() + '</option>'); + newOption.data('authority', current.attr('authority')); + + if (lastOption.length > 0) + lastOption.insertBefore(newOption); + else + select.append(newOption); + }); + + + // add non-authority option if needed. + if (!isClosed) { + select.append(new Option(dspace_formatMessage(nonAuthority, value), value), null); + } + var defaultSelected = -1; + if (selectedByChoices >= 0) + defaultSelected = selectedByChoices; + else if (selectedByValue >= 0) + defaultSelected = selectedByValue; + else if (select[0].options.length == 1) + defaultSelected = 0; + + // load default-selected value + if (defaultSelected >= 0) { + select[0].options[defaultSelected].defaultSelected = true; + var so = select[0].options[defaultSelected]; + if (isName) { + $('*[name = text1]').val(lastNameOf(so.value)); + $('*[name = text2]').val(firstNameOf(so.value)); + } + else + $('*[name = text1]').val(so.value); + } + + // turn off spinner + indicator.hide('fast'); + + //If no results, make sure to display "0 to 0 of 0" + var startNum = (nextStart==0 ? 0 : oldStart+1); + //Fill out the counter values in the "Results x to y of z" line + var legend = $('#aspect_general_ChoiceLookupTransformer_list_choicesList :header:first'); + legend.html(dspace_formatMessage(legend.data('template'), + startNum, nextStart, lastTotal, value)); + } + }); +} + +// handler for change event on choice selector - load new values +function DSpaceChoicesSelectOnChange() { + // "this" is the window, + + var form = $('#aspect_general_ChoiceLookupTransformer_div_lookup'); + var select = form.find('*[name = chooser]'); + + var isName = form.find('*[name = paramIsName]').val() == 'true'; + + var selectedValue = select.val(); + + if (isName) { + form.find('*[name = text1]').val(lastNameOf(selectedValue)); + form.find('*[name = text2]').val(firstNameOf(selectedValue)); + } + else + form.find('*[name = text1]').val(selectedValue); +} + +// handler for lookup popup's accept (or add) button +// stuff values back to calling page, force an add if necessary, and close. +function DSpaceChoicesAcceptOnClick() { + var select = $('*[name = chooser]'); + var isName = $('*[name = paramIsName]').val() == 'true'; + var isRepeating = $('*[name = paramIsRepeating]').val() == 'true'; + var valueInput = $('*[name = paramValueInput]').val(); + var authorityInput = $('*[name = paramAuthorityInput]').val(); + var formID = $('*[name = paramFormID]').val(); + var confIndicatorID = $('*[name = paramConfIndicatorID]').length = 0 ? null : $('*[name = paramConfIndicatorID]').val(); + + // default the authority input if not supplied. + if (authorityInput.length == 0) + authorityInput = dspace_makeFieldInput(valueInput, '_authority'); + + // always stuff text fields back into caller's value input(s) + if (valueInput.length > 0) { + var of = $(window.opener.document).find('#' + formID); + if (isName) { + of.find('*[name = ' + dspace_makeFieldInput(valueInput, '_last') + ']').val($('*[name = text1]').val()); + of.find('*[name = ' + dspace_makeFieldInput(valueInput, '_first') + ']').val($('*[name = text2]').val()); + } + else + of.find('*[name = ' + valueInput + ']').val($('*[name = text1]').val()); + + if (authorityInput.length > 0 && of.find('*[name = ' + authorityInput + ']').length > 0) { + // conf input is auth input, substitute '_confidence' for '_authority' + // if conf fieldname is FIELD_confidence_NUMBER, then '_authority_' => '_confidence_' + var confInput = ""; + + var ci = authorityInput.lastIndexOf("_authority_"); + if (ci < 0) + confInput = authorityInput.substring(0, authorityInput.length - 10) + '_confidence'; + else + confInput = authorityInput.substring(0, ci) + "_confidence_" + authorityInput.substring(ci + 11); + // DEBUG: + // window.alert('Setting fields auth="'+authorityInput+'", conf="'+confInput+'"'); + + var authValue = null; + var selectedOption = select.find(':selected'); + if (selectedOption.length >= 0 && selectedOption.data('authority') != null) { + of.find('*[name = ' + authorityInput + ']').val(selectedOption.data('authority')); + } + of.find('*[name = ' + confInput + ']').val('accepted'); + // make indicator blank if no authority value + DSpaceUpdateConfidence(window.opener.document, confIndicatorID, + authValue == null || authValue == '' ? 'blank' : 'accepted'); + } + + // force the submit button -- if there is an "add" + if (isRepeating) { + var add = of.find('*[name = submit_' + valueInput + '_add]'); + if (add.length > 0) + add.click(); + else + alert('Sanity check: Cannot find button named "submit_' + valueInput + '_add"'); + } + } + window.close(); + return false; +} + +// handler for lookup popup's more button +function DSpaceChoicesMoreOnClick() { + //reload the window -- this should return the next results set + location.reload(); +} + +// handler for lookup popup's cancel button +function DSpaceChoicesCancelOnClick() { + window.close(); + return false; +} + +// -------------------- Utilities + +// DSpace person-name conventions, see DCPersonName +function makePersonName(lastName, firstName) { + return (firstName == null || firstName.length == 0) ? lastName : + lastName + ", " + firstName; +} + +// DSpace person-name conventions, see DCPersonName +function firstNameOf(personName) { + var comma = personName.indexOf(","); + return (comma < 0) ? "" : stringTrim(personName.substring(comma + 1)); +} + +// DSpace person-name conventions, see DCPersonName +function lastNameOf(personName) { + var comma = personName.indexOf(","); + return stringTrim((comma < 0) ? personName : personName.substring(0, comma)); +} + +// replicate java String.trim() +function stringTrim(str) { + var start = 0; + var end = str.length; + for (; str.charAt(start) == ' ' && start < end; ++start) ; + for (; end > start && str.charAt(end - 1) == ' '; --end) ; + return str.slice(start, end); +} + +// format utility - replace @1@, @2@ etc with args 1, 2, 3.. +// NOTE params MUST be monotonically increasing +// NOTE we can't use "{1}" like the i18n catalog because it elides them!! +// ...UNLESS maybe it were to be fixed not to when no params... +function dspace_formatMessage() { + var template = dspace_formatMessage.arguments[0]; + var i; + for (i = 1; i < arguments.length; ++i) { + var pattern = '@' + i + '@'; + if (template.search(pattern) >= 0) + { + var value = dspace_formatMessage.arguments[i]; + if (value == undefined) + value = ''; + template = template.replace(pattern, value); + } + } + return template; +} + +// utility to make sub-field name of input field, e.g. _last, _first, _auth.. +// if name ends with _1, _2 etc, put sub-name BEFORE the number +function dspace_makeFieldInput(name, sub) { + var i = name.search("_[0-9]+$"); + if (i < 0) + return name + sub; + else + return name.substr(0, i) + sub + name.substr(i); +} + +// update the class value of confidence-indicating element +function DSpaceUpdateConfidence(doc, confIndicatorID, newValue) { + // sanity checks - need valid ID and a real DOM object + if (confIndicatorID == null || confIndicatorID == "") + return; + var confElt = doc.getElementById(confIndicatorID); + if (confElt == null) + return; + + // add or update CSS class with new confidence value, e.g. "cf-accepted". + if (confElt.className == null) + confElt.className = "cf-" + newValue; + else { + var classes = confElt.className.split(" "); + var newClasses = ""; + var found = false; + for (var i = 0; i < classes.length; ++i) { + if (classes[i].match('^cf-[a-zA-Z0-9]+$')) { + newClasses += "cf-" + newValue + " "; + found = true; + } + else + newClasses += classes[i] + " "; + } + if (!found) + newClasses += "cf-" + newValue + " "; + confElt.className = newClasses; + } +} + +// respond to "onchanged" event on authority input field +// set confidence to 'accepted' if authority was changed by user. +function DSpaceAuthorityOnChange(self, confValueID, confIndicatorID) { + var confidence = 'accepted'; + if (confValueID != null && confValueID != '') { + var confValueField = document.getElementById(confValueID); + if (confValueField != null) + confValueField.value = confidence; + } + DSpaceUpdateConfidence(document, confIndicatorID, confidence); + return false; +} + +// respond to click on the authority-value lock button in Edit Item Metadata: +// "button" is bound to the image input for the lock button, "this" +function DSpaceToggleAuthorityLock(button, authInputID) { + // sanity checks - need valid ID and a real DOM object + if (authInputID == null || authInputID == '') + return false; + var authInput = document.getElementById(authInputID); + if (authInput == null) + return false; + + // look for is-locked or is-unlocked in class list: + var classes = button.className.split(' '); + var newClass = ''; + var newLocked = false; + var found = false; + for (var i = 0; i < classes.length; ++i) { + if (classes[i] == 'is-locked') { + newLocked = false; + found = true; + } + else if (classes[i] == 'is-unlocked') { + newLocked = true; + found = true; + } + else + newClass += classes[i] + ' '; + } + if (!found) + return false; + // toggle the image, and set readability + button.className = newClass + (newLocked ? 'is-locked' : 'is-unlocked') + ' '; + authInput.readOnly = newLocked; + return false; +} diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/jquery-ui-1.8.15.custom.min.js b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/jquery-ui-1.8.15.custom.min.js new file mode 100644 index 0000000000000000000000000000000000000000..fbcceae8c3f31132a610eae01bfe702885f5e1d0 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/jquery-ui-1.8.15.custom.min.js @@ -0,0 +1,790 @@ +/*! + * jQuery UI 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.15", +keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= +this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, +"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": +"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, +outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, +"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& +a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&& +c.ui.isOverAxis(b,e,i)}})}})(jQuery); +;/*! + * jQuery UI Widget 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)b(d).triggerHandler("remove");k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h, +a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.charAt(0)==="_")return h; +e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options, +this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")}, +widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this}, +enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery); +;/*! + * jQuery UI Mouse 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b){b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent= +a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,e=a.which==1,f=typeof this.options.cancel=="string"?b(a.target).closest(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!== +false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(d){return c._mouseMove(d)};this._mouseUpDelegate=function(d){return c._mouseUp(d)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(b.browser.msie&& +!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= +false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, +left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= +k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= +m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= +d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= +a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), +g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;this.helper= +this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); +this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, +_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= +false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, +10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| +!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& +a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= +this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), +10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), +10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, +(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= +"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), +10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ +this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& +!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left; +if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/ +b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version< +526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b, +c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.15"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert}); +h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval= +false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true); +this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top; +c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&& +this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity= +a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!= +"x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left< +c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()- +c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this, +width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&& +o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t= +p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&& +(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"), +10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery); +;/* + * jQuery UI Droppable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Droppables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.mouse.js + * jquery.ui.draggable.js + */ +(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this); +a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&& +this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass); +this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g= +d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop", +a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.15"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height; +switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>= +i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!= +"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem|| +a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},dragStart:function(a,b){a.element.parentsUntil("body").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c= +!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parentsUntil("body").unbind("scroll.droppable"); +a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery); +;/* + * jQuery UI Resizable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element, +_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); +var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= +false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); +this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= +{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; +if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, +_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, +{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: +Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width= +b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&& +a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= +null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)|| +0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ +a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ +c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); +b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.15"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), +10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- +f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? +e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= +e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; +var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: +a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- +d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, +f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= +e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= +d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting"); +a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&& +!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d= +e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.15"})})(jQuery); +;/* + * jQuery UI Sortable 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Sortables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== +"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& +!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, +left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top< +b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()- +b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this, +a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers|| +this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection(); +var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)}, +_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element), +this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&& +this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= +this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= +d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| +0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", +a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- +f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b= +this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width== +""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top= +this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a= +{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"), +10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"? +document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"), +10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b= +this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&& +this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset(); +var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- +this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g- +this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0], +this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]= +"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove", +f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, +this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", +a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()}, +_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.15"})})(jQuery); +;/* + * jQuery UI Accordion 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), +e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| +e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.15", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close(); +this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label|| +b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this; +d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, +this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery); +;/* + * jQuery UI Button 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b){var h,i,j,g,l=function(){var a=b(this).find(":ui-button");setTimeout(function(){a.button("refresh")},1)},k=function(a){var c=a.name,e=a.form,f=b([]);if(c)f=e?b(e).find("[name='"+c+"']"):b("[name='"+c+"']",a.ownerDocument).filter(function(){return!this.form});return f};b.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",l);if(typeof this.options.disabled!== +"boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var a=this,c=this.options,e=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!e?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){b(this).addClass("ui-state-hover"); +this===h&&b(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||b(this).removeClass(f)}).bind("click.button",function(d){if(c.disabled){d.preventDefault();d.stopImmediatePropagation()}});this.element.bind("focus.button",function(){a.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){a.buttonElement.removeClass("ui-state-focus")});if(e){this.element.bind("change.button",function(){g||a.refresh()});this.buttonElement.bind("mousedown.button",function(d){if(!c.disabled){g= +false;i=d.pageX;j=d.pageY}}).bind("mouseup.button",function(d){if(!c.disabled)if(i!==d.pageX||j!==d.pageY)g=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).toggleClass("ui-state-active");a.buttonElement.attr("aria-pressed",a.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).addClass("ui-state-active");a.buttonElement.attr("aria-pressed","true"); +var d=a.element[0];k(d).not(d).map(function(){return b(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;b(this).addClass("ui-state-active");h=this;b(document).one("mouseup",function(){h=null})}).bind("mouseup.button",function(){if(c.disabled)return false;b(this).removeClass("ui-state-active")}).bind("keydown.button",function(d){if(c.disabled)return false;if(d.keyCode==b.ui.keyCode.SPACE|| +d.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")}).bind("keyup.button",function(){b(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(d){d.keyCode===b.ui.keyCode.SPACE&&b(this).click()})}this._setOption("disabled",c.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type=== +"radio"){var a=this.element.parents().filter(":last"),c="label[for="+this.element.attr("id")+"]";this.buttonElement=a.find(c);if(!this.buttonElement.length){a=a.length?a.siblings():this.element.siblings();this.buttonElement=a.filter(c);if(!this.buttonElement.length)this.buttonElement=a.find(c)}this.element.addClass("ui-helper-hidden-accessible");(a=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",a)}else this.buttonElement=this.element}, +widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title"); +b.Widget.prototype.destroy.call(this)},_setOption:function(a,c){b.Widget.prototype._setOption.apply(this,arguments);if(a==="disabled")c?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var a=this.element.is(":disabled");a!==this.options.disabled&&this._setOption("disabled",a);if(this.type==="radio")k(this.element[0]).each(function(){b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed", +"true"):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var a=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"), +c=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>");e.secondary&&a.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>");if(!this.options.text){d.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")=== +"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); +b.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, +position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; +d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, +function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", +handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, +originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", +f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): +[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); +if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): +e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= +this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- +b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.15",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), +height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); +b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a= +a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery); +;/* + * jQuery UI Slider 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+ +this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>"); +this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", +g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? +(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- +m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); +return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; +this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c}); +a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value= +this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a): +this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation(); +this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a]; +return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- +g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.15"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading…</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= +d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); +this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ +g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", +function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; +this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= +-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; +d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= +d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, +e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); +j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); +if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, +this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, +load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, +"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.15"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&& +a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery); +;/* + * jQuery UI Datepicker 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker + * + * Depends: + * jquery.ui.core.js + */ +(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass= +"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su", +"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10", +minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout", +function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); +b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.15"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, +setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, +"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", +function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== +"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): +d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, +b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= +1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ +2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= +a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, +"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== +a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"? +d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e); +this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl"); +b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target, +a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c= +a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b, +"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode); +return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", +a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");H(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos= +d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b, +c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=true;d.effects&& +d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("."+ +this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&& +a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth(): +0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a), +"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst= +null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, +_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): +0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? +"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); +this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a, +"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b== +"")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=o(p);p=new RegExp("^\\d{1,"+ +(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+ +q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q< +b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y", +RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&& +a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5),3); +break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c= +false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c, +e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a, +"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g, +d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear; +b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a));if(c=this._get(a,"onSelect")){e=this._formatDate(a);c.apply(a.input?a.input[0]:null,[e,a])}},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()== +""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?new Date(9999, +9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, +g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+ +B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O= +"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&& +x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()== +P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?" ":L?'<span class="ui-state-default">'+ +r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>': +"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&& +(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, +e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ +(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? +a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, +e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, +"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; +if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== +"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.15";window["DP_jQuery_"+B]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.15"})})(jQuery); +;/* + * jQuery UI Effects 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", +"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, +0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, +211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, +d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; +f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, +[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.15",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b= +0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}); +c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c, +a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments); +a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%", +"pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d* +((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/= +e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/= +e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/ +h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5* +h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c, +e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery); +;/* + * jQuery UI Effects Blind 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Blind + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a, +g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Bounce 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Bounce + * + * Depends: + * jquery.effects.core.js + */ +(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/ +3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a); +b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery); +;/* + * jQuery UI Effects Clip 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Clip + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position, +c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Drop 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Drop + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e== +"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Explode 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Explode + * + * Depends: + * jquery.effects.core.js + */ +(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f= +0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], +10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration, +a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery); +;/* + * jQuery UI Effects Scale 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Scale + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a, +b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity= +1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"], +p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}}; +if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a); +a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from); +child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a, +n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Shake 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Shake + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]= +(h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery); +;/* + * jQuery UI Effects Slide 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Slide + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e); +var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Transfer 1.8.15 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Transfer + * + * Depends: + * jquery.effects.core.js + */ +(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/jquery-ui.LICENSE b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/jquery-ui.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..e1f050a705d745eec851f123881f3300334741d1 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/jquery-ui.LICENSE @@ -0,0 +1,26 @@ +jQuery UI is used under the terms of the MIT License +http://jquery.org/license/ + +--- + +Copyright 2012 jQuery Foundation and other contributors +http://jquery.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/modernizr-1.7.min.js b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/modernizr-1.7.min.js new file mode 100644 index 0000000000000000000000000000000000000000..5a068716a2596e2963aa9b08c0b4e53fa5ef9620 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/modernizr-1.7.min.js @@ -0,0 +1,2 @@ +// Modernizr v1.7 www.modernizr.com +window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b<c;b++)t[a[b]]=!!(a[b]in l);return t}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)l.setAttribute("type",f=a[d]),e=l.type!=="text",e&&(l.value=m,l.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&l.style.WebkitAppearance!==c?(g.appendChild(l),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(l,null).WebkitAppearance!=="textfield"&&l.offsetHeight!==0,g.removeChild(l)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=l.checkValidity&&l.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(l),g.offsetWidth,e=l.value!=m,g.removeChild(l)):e=l.value!=m)),s[a[d]]=!!e;return s}("search tel url email datetime date month week time datetime-local number range color".split(" "))}function F(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+" "+p.join(c+" ")+c).split(" ");return!!E(d,b)}function E(a,b){for(var d in a)if(k[a[d]]!==c&&(!b||b(a[d],j)))return!0}function D(a,b){return(""+a).indexOf(b)!==-1}function C(a,b){return typeof a===b}function B(a,b){return A(o.join(a+";")+(b||""))}function A(a){k.cssText=a}var d="1.7",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName("head")[0],i="modernizr",j=b.createElement(i),k=j.style,l=b.createElement("input"),m=":)",n=Object.prototype.toString,o=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),q={svg:"http://www.w3.org/2000/svg"},r={},s={},t={},u=[],v,w=function(a){var c=b.createElement("style"),d=b.createElement("div"),e;c.textContent=a+"{#modernizr{height:3px}}",h.appendChild(c),d.id="modernizr",g.appendChild(d),e=d.offsetHeight===3,c.parentNode.removeChild(c),d.parentNode.removeChild(d);return!!e},x=function(){function d(d,e){e=e||b.createElement(a[d]||"div");var f=(d="on"+d)in e;f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=C(e[d],"function"),C(e[d],c)||(e[d]=c),e.removeAttribute(d))),e=null;return f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),y=({}).hasOwnProperty,z;C(y,c)||C(y.call,c)?z=function(a,b){return b in a&&C(a.constructor.prototype[b],c)}:z=function(a,b){return y.call(a,b)},r.flexbox=function(){function c(a,b,c,d){a.style.cssText=o.join(b+":"+c+";")+(d||"")}function a(a,b,c,d){b+=":",a.style.cssText=(b+o.join(c+";"+b)).slice(0,-b.length)+(d||"")}var d=b.createElement("div"),e=b.createElement("div");a(d,"display","box","width:42px;padding:0;"),c(e,"box-flex","1","width:10px;"),d.appendChild(e),g.appendChild(d);var f=e.offsetWidth===42;d.removeChild(e),g.removeChild(d);return f},r.canvas=function(){var a=b.createElement("canvas");return a.getContext&&a.getContext("2d")},r.canvastext=function(){return e.canvas&&C(b.createElement("canvas").getContext("2d").fillText,"function")},r.webgl=function(){return!!a.WebGLRenderingContext},r.touch=function(){return"ontouchstart"in a||w("@media ("+o.join("touch-enabled),(")+"modernizr)")},r.geolocation=function(){return!!navigator.geolocation},r.postmessage=function(){return!!a.postMessage},r.websqldatabase=function(){var b=!!a.openDatabase;return b},r.indexedDB=function(){for(var b=-1,c=p.length;++b<c;){var d=p[b].toLowerCase();if(a[d+"_indexedDB"]||a[d+"IndexedDB"])return!0}return!1},r.hashchange=function(){return x("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="<svg/>";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="<elem></elem>";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c<d)e=a[c],(b=e.media||b)!="screen"&&f.push(p(e.imports,b),e.cssText);return f.join("")}function o(a){var b=-1;while(++b<e)a.createElement(d[b])}var c="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",d=c.split("|"),e=d.length,f=new RegExp("(^|\\s)("+c+")","gi"),g=new RegExp("<(/*)("+c+")","gi"),h=new RegExp("(^|[^\\n]*?\\s)("+c+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),i=b.createDocumentFragment(),j=b.documentElement,k=j.firstChild,l=b.createElement("body"),m=b.createElement("style"),n;o(b),o(i),k.insertBefore(m,k.firstChild),m.media="print",a.attachEvent("onbeforeprint",function(){var a=-1,c=p(b.styleSheets,"all"),k=[],o;n=n||b.body;while((o=h.exec(c))!=null)k.push((o[1]+o[2]+o[3]).replace(f,"$1.iepp_$2")+o[4]);m.styleSheet.cssText=k.join("\n");while(++a<e){var q=b.getElementsByTagName(d[a]),r=q.length,s=-1;while(++s<r)q[s].className.indexOf("iepp_")<0&&(q[s].className+=" iepp_"+d[a])}i.appendChild(n),j.appendChild(l),l.className=n.className,l.innerHTML=n.innerHTML.replace(g,"<$1font")}),a.attachEvent("onafterprint",function(){l.innerHTML="",j.removeChild(l),j.appendChild(n),m.styleSheet.cssText=""})}(a,b),e._enableHTML5=f,e._version=d,g.className=g.className.replace(/\bno-js\b/,"")+" js "+u.join(" ");return e}(this,this.document) diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/modernizr.LICENSE b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/modernizr.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..4de3c2e4df4e1e96dc8de82cdcb5e13bdf91b010 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/js/modernizr.LICENSE @@ -0,0 +1,24 @@ +Modernizer is used under the terms of the MIT License +http://modernizr.com/license/ + +--- + +Copyright (c) Faruk Ates, Paul Irish, Alex Sexton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/HTML5Boilerplate.LICENSE b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/HTML5Boilerplate.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..00d2e135a7ee7b81c27fed80ddf6ee341c8d6752 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/HTML5Boilerplate.LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to <http://unlicense.org/> \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/administrative/administrative.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/administrative/administrative.xsl new file mode 100644 index 0000000000000000000000000000000000000000..2e627a834d71e159a0ec11cf7273ac7fe229e467 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/administrative/administrative.xsl @@ -0,0 +1,131 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Modifications to the rendering of elements in the administrative aspect. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <!--Add the class 'tabbed' to the form for administrative pages containing tabs and wrap the tab content with a div with class 'pane', + the rest is just a copy of the default interactive div template--> + <xsl:template match="dri:div[contains(@rend, 'administrative') and dri:list[@rend = 'horizontal']]"> + <xsl:apply-templates select="dri:head"/> + <xsl:apply-templates select="@pagination"> + <xsl:with-param name="position">top</xsl:with-param> + </xsl:apply-templates> + <form> + <xsl:call-template name="standardAttributes"> + <xsl:with-param name="class">ds-interactive-div tabbed</xsl:with-param> + </xsl:call-template> + <xsl:attribute name="action"><xsl:value-of select="@action"/></xsl:attribute> + <xsl:attribute name="method"><xsl:value-of select="@method"/></xsl:attribute> + <xsl:if test="@method='multipart'"> + <xsl:attribute name="method">post</xsl:attribute> + <xsl:attribute name="enctype">multipart/form-data</xsl:attribute> + </xsl:if> + <xsl:attribute name="onsubmit">javascript:tSubmit(this);</xsl:attribute> + <!--For Item Submission process, disable ability to submit a form by pressing 'Enter'--> + <xsl:if test="starts-with(@n,'submit')"> + <xsl:attribute name="onkeydown">javascript:return disableEnterKey(event);</xsl:attribute> + </xsl:if> + <xsl:apply-templates select="dri:list[@rend = 'horizontal']"/> + <div class="pane"> + <xsl:apply-templates select="*[not(name()='head' or @rend = 'horizontal')]"/> + </div> + + </form> + <!-- JS to scroll form to DIV parent of "Add" button if jump-to --> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='page'][@qualifier='jumpTo']"> + <script type="text/javascript"> + <xsl:text>var button = document.getElementById('</xsl:text> + <xsl:value-of select="translate(@id,'.','_')"/> + <xsl:text>').elements['</xsl:text> + <xsl:value-of select="concat('submit_',/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='page'][@qualifier='jumpTo'],'_add')"/> + <xsl:text>'];</xsl:text> + <xsl:text> + if (button != null) { + var n = button.parentNode; + for (; n != null; n = n.parentNode) { + if (n.tagName == 'DIV') { + n.scrollIntoView(false); + break; + } + } + } + </xsl:text> + </script> + </xsl:if> + <xsl:apply-templates select="@pagination"> + <xsl:with-param name="position">bottom</xsl:with-param> + </xsl:apply-templates> + </xsl:template> + + + <!--the tabs are floating, so give the ul the class 'clearfix' to ensure it has a height--> + <xsl:template match="dri:div[contains(@rend, 'administrative')]/dri:list[@rend = 'horizontal']"> + <xsl:apply-templates select="dri:head"/> + <ul> + <xsl:call-template name="standardAttributes"> + <xsl:with-param name="class">ds-simple-list clearfix</xsl:with-param> + </xsl:call-template> + <xsl:apply-templates select="*[not(name()='head')]" mode="nested"/> + </ul> + </xsl:template> + + <!--give the active tab the class 'active-tab'--> + <xsl:template match="dri:div[contains(@rend, 'administrative')]/dri:list[@rend = 'horizontal']/dri:item[dri:hi[@rend = 'bold']]" mode="nested"> + <li class="active-tab"> + <xsl:apply-templates /> + </li> + </xsl:template> + + <!--Template for the bitstream reordering--> + <xsl:template match="dri:cell[starts-with(@id, 'aspect.administrative.item.EditItemBitstreamsForm.cell.bitstream_order_')]" priority="2"> + <td> + <xsl:call-template name="standardAttributes"/> + <xsl:apply-templates select="*[not(@type='button')]" /> + <!--A div that will indicate the old & the new order--> + <div> + <span> + <!--Give this one an ID so that the javascript can change his value--> + <xsl:attribute name="id"> + <xsl:value-of select="dri:field/@id"/> + <xsl:text>_new</xsl:text> + </xsl:attribute> + <xsl:value-of select="dri:field/dri:value"/> + </span> + <xsl:text> (</xsl:text> + <i18n:text>xmlui.administrative.item.EditItemBitstreamsForm.previous_order</i18n:text> + <xsl:value-of select="dri:field/dri:value"/> + <xsl:text>)</xsl:text> + </div> + </td> + <td> + <xsl:apply-templates select="dri:field[@type='button']"/> + </td> + </xsl:template> + +</xsl:stylesheet> \ No newline at end of file diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/collection-list.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/collection-list.xsl new file mode 100644 index 0000000000000000000000000000000000000000..560b6d5a270e908771079adbe44cd7db28c97888 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/collection-list.xsl @@ -0,0 +1,106 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Rendering of a list of collections (e.g. on a community homepage, + or on the community-list page) + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet + xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:ore="http://www.openarchives.org/ore/terms/" + xmlns:oreatom="http://www.openarchives.org/ore/atom/" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:encoder="xalan://java.net.URLEncoder" + xmlns:util="org.dspace.app.xmlui.utils.XSLUtils" + xmlns:confman="org.dspace.core.ConfigurationManager" + exclude-result-prefixes="xalan encoder i18n dri mets dim xlink xsl util confman"> + + <xsl:output indent="yes"/> + + <!-- A collection rendered in the summaryList pattern. Encountered on the community-list page --> + <xsl:template name="collectionSummaryList-DIM"> + <xsl:variable name="data" select="./mets:dmdSec/mets:mdWrap/mets:xmlData/dim:dim"/> + <div class="artifact-description"> + <div class="artifact-title"> + <a href="{@OBJID}"> + <span class="Z3988"> + <xsl:choose> + <xsl:when test="string-length($data/dim:field[@element='title'][1]) > 0"> + <xsl:value-of select="$data/dim:field[@element='title'][1]"/> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </xsl:otherwise> + </xsl:choose> + </span> + </a> + <!--Display community strengths (item counts) if they exist--> + <xsl:if test="string-length($data/dim:field[@element='format'][@qualifier='extent'][1]) > 0"> + <xsl:text> [</xsl:text> + <xsl:value-of select="$data/dim:field[@element='format'][@qualifier='extent'][1]"/> + <xsl:text>]</xsl:text> + </xsl:if> + </div> + <xsl:variable name="abstract" select="$data/dim:field[@element = 'description' and @qualifier='abstract']/node()"/> + <xsl:if test="$abstract and string-length($abstract[1]) > 0"> + <div class="artifact-info"> + <span class="short-description"> + <xsl:value-of select="util:shortenString($abstract, 220, 10)"/> + </span> + </div> + </xsl:if> + </div> + </xsl:template> + + <!-- A collection rendered in the detailList pattern. Encountered on the item view page as + the "this item is part of these collections" list --> + <xsl:template name="collectionDetailList-DIM"> + <xsl:variable name="data" select="./mets:dmdSec/mets:mdWrap/mets:xmlData/dim:dim"/> + <a href="{@OBJID}"> + <xsl:choose> + <xsl:when test="string-length($data/dim:field[@element='title'][1]) > 0"> + <xsl:value-of select="$data/dim:field[@element='title'][1]"/> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </xsl:otherwise> + </xsl:choose> + </a> + <!--Display collection strengths (item counts) if they exist--> + <xsl:if test="string-length($data/dim:field[@element='format'][@qualifier='extent'][1]) > 0"> + <xsl:text> [</xsl:text> + <xsl:value-of select="$data/dim:field[@element='format'][@qualifier='extent'][1]"/> + <xsl:text>]</xsl:text> + </xsl:if> + <br/> + <xsl:choose> + <xsl:when test="$data/dim:field[@element='description' and @qualifier='abstract']"> + <xsl:copy-of select="$data/dim:field[@element='description' and @qualifier='abstract']/node()"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$data/dim:field[@element='description'][1]/node()"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/community-list.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/community-list.xsl new file mode 100644 index 0000000000000000000000000000000000000000..e24f48dc4eef3864b0734e608db37cfc0ed64cce --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/community-list.xsl @@ -0,0 +1,108 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Rendering of a list of communities (e.g. on a community homepage, + or on the community-list page) + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet + xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:ore="http://www.openarchives.org/ore/terms/" + xmlns:oreatom="http://www.openarchives.org/ore/atom/" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:encoder="xalan://java.net.URLEncoder" + xmlns:util="org.dspace.app.xmlui.utils.XSLUtils" + xmlns:confman="org.dspace.core.ConfigurationManager" + exclude-result-prefixes="xalan encoder i18n dri mets dim xlink xsl util confman"> + + <xsl:output indent="yes"/> + + <!-- A community rendered in the summaryList pattern. Encountered on the community-list and on + on the front page. --> + <xsl:template name="communitySummaryList-DIM"> + <xsl:variable name="data" select="./mets:dmdSec/mets:mdWrap/mets:xmlData/dim:dim"/> + <div class="artifact-description"> + <div class="artifact-title"> + <a href="{@OBJID}"> + <span class="Z3988"> + <xsl:choose> + <xsl:when test="string-length($data/dim:field[@element='title'][1]) > 0"> + <xsl:value-of select="$data/dim:field[@element='title'][1]"/> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </xsl:otherwise> + </xsl:choose> + </span> + </a> + <!--Display community strengths (item counts) if they exist--> + <xsl:if test="string-length($data/dim:field[@element='format'][@qualifier='extent'][1]) > 0"> + <xsl:text> [</xsl:text> + <xsl:value-of select="$data/dim:field[@element='format'][@qualifier='extent'][1]"/> + <xsl:text>]</xsl:text> + </xsl:if> + </div> + <xsl:variable name="abstract" select="$data/dim:field[@element = 'description' and @qualifier='abstract']/node()"/> + <xsl:if test="$abstract and string-length($abstract[1]) > 0"> + <div class="artifact-info"> + <span class="short-description"> + <xsl:value-of select="util:shortenString($abstract, 220, 10)"/> + </span> + </div> + </xsl:if> + </div> + </xsl:template> + + <!-- A community rendered in the detailList pattern. Not currently used. --> + <xsl:template name="communityDetailList-DIM"> + <xsl:variable name="data" select="./mets:dmdSec/mets:mdWrap/mets:xmlData/dim:dim"/> + <span class="bold"> + <a href="{@OBJID}"> + <xsl:choose> + <xsl:when test="string-length($data/dim:field[@element='title'][1]) > 0"> + <xsl:value-of select="$data/dim:field[@element='title'][1]"/> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </xsl:otherwise> + </xsl:choose> + </a> + <!--Display community strengths (item counts) if they exist--> + <xsl:if test="string-length($data/dim:field[@element='format'][@qualifier='extent'][1]) > 0"> + <xsl:text> [</xsl:text> + <xsl:value-of select="$data/dim:field[@element='format'][@qualifier='extent'][1]"/> + <xsl:text>]</xsl:text> + </xsl:if> + <br/> + <xsl:choose> + <xsl:when test="$data/dim:field[@element='description' and @qualifier='abstract']"> + <xsl:copy-of select="$data/dim:field[@element='description' and @qualifier='abstract']/node()"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$data/dim:field[@element='description'][1]/node()"/> + </xsl:otherwise> + </xsl:choose> + </span> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/item-list.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/item-list.xsl new file mode 100644 index 0000000000000000000000000000000000000000..d39d4485234b4f5bcd6728713f17dc3baf48c002 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/item-list.xsl @@ -0,0 +1,268 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Rendering of a list of items (e.g. in a search or + browse results page) + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet + xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:ore="http://www.openarchives.org/ore/terms/" + xmlns:oreatom="http://www.openarchives.org/ore/atom/" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:encoder="xalan://java.net.URLEncoder" + xmlns:util="org.dspace.app.xmlui.utils.XSLUtils" + xmlns:confman="org.dspace.core.ConfigurationManager" + exclude-result-prefixes="xalan encoder i18n dri mets dim xlink xsl util confman"> + + <xsl:output indent="yes"/> + + <!--these templates are modfied to support the 2 different item list views that + can be configured with the property 'xmlui.theme.mirage.item-list.emphasis' in dspace.cfg--> + + <xsl:template name="itemSummaryList-DIM"> + <xsl:variable name="itemWithdrawn" select="./mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']/mets:xmlData/dim:dim/@withdrawn" /> + + <xsl:variable name="href"> + <xsl:choose> + <xsl:when test="$itemWithdrawn"> + <xsl:value-of select="@OBJEDIT"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@OBJID"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="emphasis" select="confman:getProperty('xmlui.theme.mirage.item-list.emphasis')"/> + <xsl:choose> + <xsl:when test="'file' = $emphasis"> + + + <div class="item-wrapper clearfix"> + <xsl:apply-templates select="./mets:fileSec" mode="artifact-preview"><xsl:with-param name="href" select="$href"/></xsl:apply-templates> + <xsl:apply-templates select="./mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']/mets:xmlData/dim:dim" + mode="itemSummaryList-DIM-file"><xsl:with-param name="href" select="$href"/></xsl:apply-templates> + </div> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="./mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']/mets:xmlData/dim:dim" + mode="itemSummaryList-DIM-metadata"><xsl:with-param name="href" select="$href"/></xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!--handles the rendering of a single item in a list in file mode--> + <xsl:template match="dim:dim" mode="itemSummaryList-DIM-file"> + <xsl:param name="href"/> + <xsl:variable name="metadataWidth" select="675 - $thumbnail.maxwidth - 30"/> + <div class="item-metadata" style="width: {$metadataWidth}px;"> + <span class="bold"><i18n:text>xmlui.dri2xhtml.pioneer.title</i18n:text><xsl:text>:</xsl:text></span> + <span class="content" style="width: {$metadataWidth - 110}px;"> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:value-of select="$href"/> + </xsl:attribute> + <xsl:choose> + <xsl:when test="dim:field[@element='title']"> + <xsl:value-of select="dim:field[@element='title'][1]/node()"/> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + </span> + <span class="Z3988"> + <xsl:attribute name="title"> + <xsl:call-template name="renderCOinS"/> + </xsl:attribute> +  <!-- non-breaking space to force separating the end tag --> + </span> + <span class="bold"><i18n:text>xmlui.dri2xhtml.pioneer.author</i18n:text><xsl:text>:</xsl:text></span> + <span class="content" style="width: {$metadataWidth - 110}px;"> + <xsl:choose> + <xsl:when test="dim:field[@element='contributor'][@qualifier='author']"> + <xsl:for-each select="dim:field[@element='contributor'][@qualifier='author']"> + <span> + <xsl:if test="@authority"> + <xsl:attribute name="class"> + <xsl:text>ds-dc_contributor_author-authority</xsl:text> + </xsl:attribute> + </xsl:if> + <xsl:copy-of select="node()"/> + </span> + <xsl:if test="count(following-sibling::dim:field[@element='contributor'][@qualifier='author']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:when test="dim:field[@element='creator']"> + <xsl:for-each select="dim:field[@element='creator']"> + <xsl:copy-of select="node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='creator']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:when test="dim:field[@element='contributor']"> + <xsl:for-each select="dim:field[@element='contributor']"> + <xsl:copy-of select="node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='contributor']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-author</i18n:text> + </xsl:otherwise> + </xsl:choose> + </span> + <xsl:if test="dim:field[@element='date' and @qualifier='issued'] or dim:field[@element='publisher']"> + <span class="bold"><i18n:text>xmlui.dri2xhtml.pioneer.date</i18n:text><xsl:text>:</xsl:text></span> + <span class="content" style="width: {$metadataWidth - 110}px;"> + <xsl:value-of + select="substring(dim:field[@element='date' and @qualifier='issued']/node(),1,10)"/> + </span> + </xsl:if> + </div> + </xsl:template> + + <!--handles the rendering of a single item in a list in metadata mode--> + <xsl:template match="dim:dim" mode="itemSummaryList-DIM-metadata"> + <xsl:param name="href"/> + <div class="artifact-description"> + <div class="artifact-title"> + <xsl:element name="a"> + <xsl:attribute name="href"> + <xsl:value-of select="$href"/> + </xsl:attribute> + <xsl:choose> + <xsl:when test="dim:field[@element='title']"> + <xsl:value-of select="dim:field[@element='title'][1]/node()"/> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </xsl:otherwise> + </xsl:choose> + </xsl:element> + <span class="Z3988"> + <xsl:attribute name="title"> + <xsl:call-template name="renderCOinS"/> + </xsl:attribute> +  <!-- non-breaking space to force separating the end tag --> + </span> + </div> + <div class="artifact-info"> + <span class="author"> + <xsl:choose> + <xsl:when test="dim:field[@element='contributor'][@qualifier='author']"> + <xsl:for-each select="dim:field[@element='contributor'][@qualifier='author']"> + <span> + <xsl:if test="@authority"> + <xsl:attribute name="class"><xsl:text>ds-dc_contributor_author-authority</xsl:text></xsl:attribute> + </xsl:if> + <xsl:copy-of select="node()"/> + </span> + <xsl:if test="count(following-sibling::dim:field[@element='contributor'][@qualifier='author']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:when test="dim:field[@element='creator']"> + <xsl:for-each select="dim:field[@element='creator']"> + <xsl:copy-of select="node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='creator']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:when test="dim:field[@element='contributor']"> + <xsl:for-each select="dim:field[@element='contributor']"> + <xsl:copy-of select="node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='contributor']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-author</i18n:text> + </xsl:otherwise> + </xsl:choose> + </span> + <xsl:text> </xsl:text> + <xsl:if test="dim:field[@element='date' and @qualifier='issued'] or dim:field[@element='publisher']"> + <span class="publisher-date"> + <xsl:text>(</xsl:text> + <xsl:if test="dim:field[@element='publisher']"> + <span class="publisher"> + <xsl:copy-of select="dim:field[@element='publisher']/node()"/> + </span> + <xsl:text>, </xsl:text> + </xsl:if> + <span class="date"> + <xsl:value-of select="substring(dim:field[@element='date' and @qualifier='issued']/node(),1,10)"/> + </span> + <xsl:text>)</xsl:text> + </span> + </xsl:if> + </div> + <xsl:if test="dim:field[@element = 'description' and @qualifier='abstract']"> + <xsl:variable name="abstract" select="dim:field[@element = 'description' and @qualifier='abstract']/node()"/> + <div class="artifact-abstract"> + <xsl:value-of select="util:shortenString($abstract, 220, 10)"/> + </div> + </xsl:if> + </div> + </xsl:template> + + <xsl:template name="itemDetailList-DIM"> + <xsl:call-template name="itemSummaryList-DIM"/> + </xsl:template> + + + <xsl:template match="mets:fileSec" mode="artifact-preview"> + <xsl:param name="href"/> + <div class="thumbnail-wrapper"> + <div class="artifact-preview"> + <a class="image-link" href="{$href}"> + <xsl:choose> + <xsl:when test="mets:fileGrp[@USE='THUMBNAIL']"> + <img alt="Thumbnail"> + <xsl:attribute name="src"> + <xsl:value-of + select="mets:fileGrp[@USE='THUMBNAIL']/mets:file/mets:FLocat[@LOCTYPE='URL']/@xlink:href"/> + </xsl:attribute> + </img> + </xsl:when> + <xsl:otherwise> + <img alt="Icon" src="{concat($theme-path, '/images/mime.png')}" style="height: {$thumbnail.maxheight}px;"/> + </xsl:otherwise> + </xsl:choose> + </a> + </div> + </div> + </xsl:template> + + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/item-view.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/item-view.xsl new file mode 100644 index 0000000000000000000000000000000000000000..36fe11641265c6655f97217014ed890adb69d1ea --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/artifactbrowser/item-view.xsl @@ -0,0 +1,539 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Rendering specific to the item display page. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet + xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:ore="http://www.openarchives.org/ore/terms/" + xmlns:oreatom="http://www.openarchives.org/ore/atom/" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:xalan="http://xml.apache.org/xalan" + xmlns:encoder="xalan://java.net.URLEncoder" + xmlns:util="org.dspace.app.xmlui.utils.XSLUtils" + xmlns:jstring="java.lang.String" + xmlns:rights="http://cosimo.stanford.edu/sdr/metsrights/" + exclude-result-prefixes="xalan encoder i18n dri mets dim xlink xsl util jstring rights"> + + <xsl:output indent="yes"/> + + <xsl:template name="itemSummaryView-DIM"> + <!-- Generate the info about the item from the metadata section --> + <xsl:apply-templates select="./mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']/mets:xmlData/dim:dim" + mode="itemSummaryView-DIM"/> + + <xsl:copy-of select="$SFXLink" /> + <!-- Generate the bitstream information from the file section --> + <xsl:choose> + <xsl:when test="./mets:fileSec/mets:fileGrp[@USE='CONTENT' or @USE='ORIGINAL']/mets:file"> + <xsl:apply-templates select="./mets:fileSec/mets:fileGrp[@USE='CONTENT' or @USE='ORIGINAL']"> + <xsl:with-param name="context" select="."/> + <xsl:with-param name="primaryBitstream" select="./mets:structMap[@TYPE='LOGICAL']/mets:div[@TYPE='DSpace Item']/mets:fptr/@FILEID"/> + </xsl:apply-templates> + </xsl:when> + <!-- Special case for handling ORE resource maps stored as DSpace bitstreams --> + <xsl:when test="./mets:fileSec/mets:fileGrp[@USE='ORE']"> + <xsl:apply-templates select="./mets:fileSec/mets:fileGrp[@USE='ORE']"/> + </xsl:when> + <xsl:otherwise> + <h2><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-head</i18n:text></h2> + <table class="ds-table file-list"> + <tr class="ds-table-header-row"> + <th><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-file</i18n:text></th> + <th><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-size</i18n:text></th> + <th><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-format</i18n:text></th> + <th><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-view</i18n:text></th> + </tr> + <tr> + <td colspan="4"> + <p><i18n:text>xmlui.dri2xhtml.METS-1.0.item-no-files</i18n:text></p> + </td> + </tr> + </table> + </xsl:otherwise> + </xsl:choose> + + <!-- Generate the Creative Commons license information from the file section (DSpace deposit license hidden by default)--> + <xsl:apply-templates select="./mets:fileSec/mets:fileGrp[@USE='CC-LICENSE']"/> + + </xsl:template> + + + <xsl:template match="dim:dim" mode="itemSummaryView-DIM"> + <div class="item-summary-view-metadata"> + <xsl:call-template name="itemSummaryView-DIM-fields"/> + </div> + </xsl:template> + + <xsl:template name="itemSummaryView-DIM-fields"> + <xsl:param name="clause" select="'1'"/> + <xsl:param name="phase" select="'even'"/> + <xsl:variable name="otherPhase"> + <xsl:choose> + <xsl:when test="$phase = 'even'"> + <xsl:text>odd</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>even</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <xsl:choose> + <!-- Title row --> + <xsl:when test="$clause = 1"> + + <xsl:choose> + <xsl:when test="count(dim:field[@element='title'][not(@qualifier)]) > 1"> + <!-- display first title as h1 --> + <h1> + <xsl:value-of select="dim:field[@element='title'][not(@qualifier)][1]/node()"/> + </h1> + <div class="simple-item-view-other"> + <span class="bold"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-title</i18n:text>:</span> + <span> + <xsl:for-each select="dim:field[@element='title'][not(@qualifier)]"> + <xsl:value-of select="./node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='title'][not(@qualifier)]) != 0"> + <xsl:text>; </xsl:text> + <br/> + </xsl:if> + </xsl:for-each> + </span> + </div> + </xsl:when> + <xsl:when test="count(dim:field[@element='title'][not(@qualifier)]) = 1"> + <h1> + <xsl:value-of select="dim:field[@element='title'][not(@qualifier)][1]/node()"/> + </h1> + </xsl:when> + <xsl:otherwise> + <h1> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-title</i18n:text> + </h1> + </xsl:otherwise> + </xsl:choose> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$otherPhase"/> + </xsl:call-template> + </xsl:when> + + <!-- Author(s) row --> + <xsl:when test="$clause = 2 and (dim:field[@element='contributor'][@qualifier='author'] or dim:field[@element='creator'] or dim:field[@element='contributor'])"> + <div class="simple-item-view-authors"> + <xsl:choose> + <xsl:when test="dim:field[@element='contributor'][@qualifier='author']"> + <xsl:for-each select="dim:field[@element='contributor'][@qualifier='author']"> + <span> + <xsl:if test="@authority"> + <xsl:attribute name="class"><xsl:text>ds-dc_contributor_author-authority</xsl:text></xsl:attribute> + </xsl:if> + <xsl:copy-of select="node()"/> + </span> + <xsl:if test="count(following-sibling::dim:field[@element='contributor'][@qualifier='author']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:when test="dim:field[@element='creator']"> + <xsl:for-each select="dim:field[@element='creator']"> + <xsl:copy-of select="node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='creator']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:when test="dim:field[@element='contributor']"> + <xsl:for-each select="dim:field[@element='contributor']"> + <xsl:copy-of select="node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='contributor']) != 0"> + <xsl:text>; </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.METS-1.0.no-author</i18n:text> + </xsl:otherwise> + </xsl:choose> + </div> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$otherPhase"/> + </xsl:call-template> + </xsl:when> + + <!-- identifier.uri row --> + <xsl:when test="$clause = 3 and (dim:field[@element='identifier' and @qualifier='uri'])"> + <div class="simple-item-view-other"> + <span class="bold"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-uri</i18n:text>:</span> + <span> + <xsl:for-each select="dim:field[@element='identifier' and @qualifier='uri']"> + <a> + <xsl:attribute name="href"> + <xsl:copy-of select="./node()"/> + </xsl:attribute> + <xsl:copy-of select="./node()"/> + </a> + <xsl:if test="count(following-sibling::dim:field[@element='identifier' and @qualifier='uri']) != 0"> + <br/> + </xsl:if> + </xsl:for-each> + </span> + </div> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$otherPhase"/> + </xsl:call-template> + </xsl:when> + + <!-- date.issued row --> + <xsl:when test="$clause = 4 and (dim:field[@element='date' and @qualifier='issued'])"> + <div class="simple-item-view-other"> + <span class="bold"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-date</i18n:text>:</span> + <span> + <xsl:for-each select="dim:field[@element='date' and @qualifier='issued']"> + <xsl:copy-of select="substring(./node(),1,10)"/> + <xsl:if test="count(following-sibling::dim:field[@element='date' and @qualifier='issued']) != 0"> + <br/> + </xsl:if> + </xsl:for-each> + </span> + </div> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$otherPhase"/> + </xsl:call-template> + </xsl:when> + + <!-- Abstract row --> + <xsl:when test="$clause = 5 and (dim:field[@element='description' and @qualifier='abstract' and descendant::text()])"> + <div class="simple-item-view-description"> + <h3><i18n:text>xmlui.dri2xhtml.METS-1.0.item-abstract</i18n:text>:</h3> + <div> + <xsl:if test="count(dim:field[@element='description' and @qualifier='abstract']) > 1"> + <div class="spacer"> </div> + </xsl:if> + <xsl:for-each select="dim:field[@element='description' and @qualifier='abstract']"> + <xsl:choose> + <xsl:when test="node()"> + <xsl:copy-of select="node()"/> + </xsl:when> + <xsl:otherwise> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="count(following-sibling::dim:field[@element='description' and @qualifier='abstract']) != 0"> + <div class="spacer"> </div> + </xsl:if> + </xsl:for-each> + <xsl:if test="count(dim:field[@element='description' and @qualifier='abstract']) > 1"> + <div class="spacer"> </div> + </xsl:if> + </div> + </div> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$otherPhase"/> + </xsl:call-template> + </xsl:when> + + <!-- Description row --> + <xsl:when test="$clause = 6 and (dim:field[@element='description' and not(@qualifier)])"> + <div class="simple-item-view-description"> + <h3 class="bold"><i18n:text>xmlui.dri2xhtml.METS-1.0.item-description</i18n:text>:</h3> + <div> + <xsl:if test="count(dim:field[@element='description' and not(@qualifier)]) > 1 and not(count(dim:field[@element='description' and @qualifier='abstract']) > 1)"> + <div class="spacer"> </div> + </xsl:if> + <xsl:for-each select="dim:field[@element='description' and not(@qualifier)]"> + <xsl:copy-of select="./node()"/> + <xsl:if test="count(following-sibling::dim:field[@element='description' and not(@qualifier)]) != 0"> + <div class="spacer"> </div> + </xsl:if> + </xsl:for-each> + <xsl:if test="count(dim:field[@element='description' and not(@qualifier)]) > 1"> + <div class="spacer"> </div> + </xsl:if> + </div> + </div> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$otherPhase"/> + </xsl:call-template> + </xsl:when> + + <xsl:when test="$clause = 7 and $ds_item_view_toggle_url != ''"> + <p class="ds-paragraph item-view-toggle item-view-toggle-bottom"> + <a> + <xsl:attribute name="href"><xsl:value-of select="$ds_item_view_toggle_url"/></xsl:attribute> + <i18n:text>xmlui.ArtifactBrowser.ItemViewer.show_full</i18n:text> + </a> + </p> + </xsl:when> + + <!-- recurse without changing phase if we didn't output anything --> + <xsl:otherwise> + <!-- IMPORTANT: This test should be updated if clauses are added! --> + <xsl:if test="$clause < 8"> + <xsl:call-template name="itemSummaryView-DIM-fields"> + <xsl:with-param name="clause" select="($clause + 1)"/> + <xsl:with-param name="phase" select="$phase"/> + </xsl:call-template> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + + <!-- Generate the Creative Commons license information from the file section (DSpace deposit license hidden by default) --> + <xsl:apply-templates select="mets:fileSec/mets:fileGrp[@USE='CC-LICENSE']"/> + </xsl:template> + + + <xsl:template match="dim:dim" mode="itemDetailView-DIM"> + <table class="ds-includeSet-table detailtable"> + <xsl:apply-templates mode="itemDetailView-DIM"/> + </table> + <span class="Z3988"> + <xsl:attribute name="title"> + <xsl:call-template name="renderCOinS"/> + </xsl:attribute> +  <!-- non-breaking space to force separating the end tag --> + </span> + <xsl:copy-of select="$SFXLink" /> + </xsl:template> + + <xsl:template match="dim:field" mode="itemDetailView-DIM"> + <tr> + <xsl:attribute name="class"> + <xsl:text>ds-table-row </xsl:text> + <xsl:if test="(position() div 2 mod 2 = 0)">even </xsl:if> + <xsl:if test="(position() div 2 mod 2 = 1)">odd </xsl:if> + </xsl:attribute> + <td class="label-cell"> + <xsl:value-of select="./@mdschema"/> + <xsl:text>.</xsl:text> + <xsl:value-of select="./@element"/> + <xsl:if test="./@qualifier"> + <xsl:text>.</xsl:text> + <xsl:value-of select="./@qualifier"/> + </xsl:if> + </td> + <td> + <xsl:copy-of select="./node()"/> + <xsl:if test="./@authority and ./@confidence"> + <xsl:call-template name="authorityConfidenceIcon"> + <xsl:with-param name="confidence" select="./@confidence"/> + </xsl:call-template> + </xsl:if> + </td> + <td><xsl:value-of select="./@language"/></td> + </tr> + </xsl:template> + + <!-- don't render the item-view-toggle automatically in the summary view, only when it gets called --> + <xsl:template match="dri:p[contains(@rend , 'item-view-toggle') and + (preceding-sibling::dri:referenceSet[@type = 'summaryView'] or following-sibling::dri:referenceSet[@type = 'summaryView'])]"> + </xsl:template> + + <!-- don't render the head on the item view page --> + <xsl:template match="dri:div[@n='item-view']/dri:head" priority="5"> + </xsl:template> + + <xsl:template match="mets:fileGrp[@USE='CONTENT']"> + <xsl:param name="context"/> + <xsl:param name="primaryBitstream" select="-1"/> + + <h2><i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-head</i18n:text></h2> + <div class="file-list"> + <xsl:choose> + <!-- If one exists and it's of text/html MIME type, only display the primary bitstream --> + <xsl:when test="mets:file[@ID=$primaryBitstream]/@MIMETYPE='text/html'"> + <xsl:apply-templates select="mets:file[@ID=$primaryBitstream]"> + <xsl:with-param name="context" select="$context"/> + </xsl:apply-templates> + </xsl:when> + <!-- Otherwise, iterate over and display all of them --> + <xsl:otherwise> + <xsl:apply-templates select="mets:file"> + <!--Do not sort any more bitstream order can be changed--> + <!--<xsl:sort data-type="number" select="boolean(./@ID=$primaryBitstream)" order="descending" />--> + <!--<xsl:sort select="mets:FLocat[@LOCTYPE='URL']/@xlink:title"/>--> + <xsl:with-param name="context" select="$context"/> + </xsl:apply-templates> + </xsl:otherwise> + </xsl:choose> + </div> + </xsl:template> + + <xsl:template match="mets:file"> + <xsl:param name="context" select="."/> + <div class="file-wrapper clearfix"> + <div class="thumbnail-wrapper"> + <a class="image-link"> + <xsl:attribute name="href"> + <xsl:value-of select="mets:FLocat[@LOCTYPE='URL']/@xlink:href"/> + </xsl:attribute> + <xsl:choose> + <xsl:when test="$context/mets:fileSec/mets:fileGrp[@USE='THUMBNAIL']/ + mets:file[@GROUPID=current()/@GROUPID]"> + <img alt="Thumbnail"> + <xsl:attribute name="src"> + <xsl:value-of select="$context/mets:fileSec/mets:fileGrp[@USE='THUMBNAIL']/ + mets:file[@GROUPID=current()/@GROUPID]/mets:FLocat[@LOCTYPE='URL']/@xlink:href"/> + </xsl:attribute> + </img> + </xsl:when> + <xsl:otherwise> + <img alt="Icon" src="{concat($theme-path, '/images/mime.png')}" style="height: {$thumbnail.maxheight}px;"/> + </xsl:otherwise> + </xsl:choose> + </a> + </div> + <div class="file-metadata" style="height: {$thumbnail.maxheight}px;"> + <div> + <span class="bold"> + <i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-name</i18n:text> + <xsl:text>:</xsl:text> + </span> + <span> + <xsl:attribute name="title"><xsl:value-of select="mets:FLocat[@LOCTYPE='URL']/@xlink:title"/></xsl:attribute> + <xsl:value-of select="util:shortenString(mets:FLocat[@LOCTYPE='URL']/@xlink:title, 17, 5)"/> + </span> + </div> + <!-- File size always comes in bytes and thus needs conversion --> + <div> + <span class="bold"> + <i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-size</i18n:text> + <xsl:text>:</xsl:text> + </span> + <span> + <xsl:choose> + <xsl:when test="@SIZE < 1024"> + <xsl:value-of select="@SIZE"/> + <i18n:text>xmlui.dri2xhtml.METS-1.0.size-bytes</i18n:text> + </xsl:when> + <xsl:when test="@SIZE < 1024 * 1024"> + <xsl:value-of select="substring(string(@SIZE div 1024),1,5)"/> + <i18n:text>xmlui.dri2xhtml.METS-1.0.size-kilobytes</i18n:text> + </xsl:when> + <xsl:when test="@SIZE < 1024 * 1024 * 1024"> + <xsl:value-of select="substring(string(@SIZE div (1024 * 1024)),1,5)"/> + <i18n:text>xmlui.dri2xhtml.METS-1.0.size-megabytes</i18n:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="substring(string(@SIZE div (1024 * 1024 * 1024)),1,5)"/> + <i18n:text>xmlui.dri2xhtml.METS-1.0.size-gigabytes</i18n:text> + </xsl:otherwise> + </xsl:choose> + </span> + </div> + <!-- Lookup File Type description in local messages.xml based on MIME Type. + In the original DSpace, this would get resolved to an application via + the Bitstream Registry, but we are constrained by the capabilities of METS + and can't really pass that info through. --> + <div> + <span class="bold"> + <i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-format</i18n:text> + <xsl:text>:</xsl:text> + </span> + <span> + <xsl:call-template name="getFileTypeDesc"> + <xsl:with-param name="mimetype"> + <xsl:value-of select="substring-before(@MIMETYPE,'/')"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="substring-after(@MIMETYPE,'/')"/> + </xsl:with-param> + </xsl:call-template> + </span> + </div> + <!----> + <!-- Display the contents of 'Description' only if bitstream contains a description --> + <xsl:if test="mets:FLocat[@LOCTYPE='URL']/@xlink:label != ''"> + <div> + <span class="bold"> + <i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-description</i18n:text> + <xsl:text>:</xsl:text> + </span> + <span> + <xsl:attribute name="title"><xsl:value-of select="mets:FLocat[@LOCTYPE='URL']/@xlink:label"/></xsl:attribute> + <!--<xsl:value-of select="mets:FLocat[@LOCTYPE='URL']/@xlink:label"/>--> + <xsl:value-of select="util:shortenString(mets:FLocat[@LOCTYPE='URL']/@xlink:label, 17, 5)"/> + </span> + </div> + </xsl:if> + </div> + <div class="file-link" style="height: {$thumbnail.maxheight}px;"> + <xsl:choose> + <xsl:when test="@ADMID"> + <xsl:call-template name="display-rights"/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="view-open"/> + </xsl:otherwise> + </xsl:choose> + </div> + </div> + </xsl:template> + + <xsl:template name="view-open"> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="mets:FLocat[@LOCTYPE='URL']/@xlink:href"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.METS-1.0.item-files-viewOpen</i18n:text> + </a> + </xsl:template> + + <xsl:template name="display-rights"> + <xsl:variable name="file_id" select="jstring:replaceAll(jstring:replaceAll(string(@ADMID), '_METSRIGHTS', ''), 'rightsMD_', '')"/> + <xsl:variable name="rights_declaration" select="../../../mets:amdSec/mets:rightsMD[@ID = concat('rightsMD_', $file_id, '_METSRIGHTS')]/mets:mdWrap/mets:xmlData/rights:RightsDeclarationMD"/> + <xsl:variable name="rights_context" select="$rights_declaration/rights:Context"/> + <xsl:variable name="users"> + <xsl:for-each select="$rights_declaration/*"> + <xsl:value-of select="rights:UserName"/> + <xsl:choose> + <xsl:when test="rights:UserName/@USERTYPE = 'GROUP'"> + <xsl:text> (group)</xsl:text> + </xsl:when> + <xsl:when test="rights:UserName/@USERTYPE = 'INDIVIDUAL'"> + <xsl:text> (individual)</xsl:text> + </xsl:when> + </xsl:choose> + <xsl:if test="position() != last()">, </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:choose> + <xsl:when test="not ($rights_context/@CONTEXTCLASS = 'GENERAL PUBLIC') and ($rights_context/rights:Permissions/@DISPLAY = 'true')"> + <a href="{mets:FLocat[@LOCTYPE='URL']/@xlink:href}"> + <img width="64" height="64" src="{concat($theme-path,'/images/Crystal_Clear_action_lock3_64px.png')}" title="Read access available for {$users}"/> + <!-- icon source: http://commons.wikimedia.org/wiki/File:Crystal_Clear_action_lock3.png --> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="view-open"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/general/choice-authority-control.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/general/choice-authority-control.xsl new file mode 100644 index 0000000000000000000000000000000000000000..cb5db51ce0da55f62e1d17983eec5640a02353b5 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/aspect/general/choice-authority-control.xsl @@ -0,0 +1,410 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Rendering of the authority control related pages. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <!-- =============================================================== --> + <!-- - - - - - New templates for Choice/Authority control - - - - - --> + + <!-- choose 'hidden' for invisible auth, 'text' lets CSS control it. --> + <xsl:variable name="authorityInputType" select="'text'"/> + + <!-- add button to invoke Choices lookup popup.. assume + - that the context is a dri:field, where dri:params/@choices is true. + --> + <xsl:template name="addLookupButton"> + <xsl:param name="isName" select="'missing value'"/> + <!-- optional param if you want to send authority value to diff field --> + <xsl:param name="authorityInput" select="concat(@n,'_authority')"/> + <!-- optional param for confidence indicator ID --> + <xsl:param name="confIndicator" select="''"/> + <input type="button" name="{concat('lookup_',@n)}" class="ds-button-field ds-add-button" > + <xsl:attribute name="value"> + <xsl:text>Lookup</xsl:text> + <xsl:if test="contains(dri:params/@operations,'add')"> + <xsl:text> & Add</xsl:text> + </xsl:if> + </xsl:attribute> + <xsl:attribute name="onClick"> + <xsl:text>javascript:DSpaceChoiceLookup('</xsl:text> + <!-- URL --> + <xsl:value-of select="concat($context-path,'/admin/lookup')"/> + <xsl:text>', '</xsl:text> + <!-- field --> + <xsl:value-of select="dri:params/@choices"/> + <xsl:text>', '</xsl:text> + <!-- formID --> + <xsl:value-of select="translate(ancestor::dri:div[@interactive='yes']/@id,'.','_')"/> + <xsl:text>', '</xsl:text> + <!-- valueInput --> + <xsl:value-of select="@n"/> + <xsl:text>', '</xsl:text> + <!-- authorityInput, name of field to get authority --> + <xsl:value-of select="$authorityInput"/> + <xsl:text>', '</xsl:text> + <!-- Confidence Indicator's ID so lookup can frob it --> + <xsl:value-of select="$confIndicator"/> + <xsl:text>', </xsl:text> + <!-- Collection ID for context --> + <xsl:choose> + <xsl:when test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='choice'][@qualifier='collection']"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='choice'][@qualifier='collection']"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>-1</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:text>, </xsl:text> + <!-- isName --> + <xsl:value-of select="$isName"/> + <xsl:text>, </xsl:text> + <!-- isRepating --> + <xsl:value-of select="boolean(contains(dri:params/@operations,'add'))"/> + <xsl:text>);</xsl:text> + </xsl:attribute> + </input> + </xsl:template> + + <!-- Fragment to display an authority confidence icon. + - Insert an invisible 1x1 image which gets "covered" by background + - image as dictated by the CSS, so icons are easily adjusted in CSS. + - "confidence" param is confidence _value_, i.e. symbolic name + --> + <xsl:template name="authorityConfidenceIcon"> + <!-- default confidence value won't show any image. --> + <xsl:param name="confidence" select="'blank'"/> + <xsl:param name="id" select="''"/> + <xsl:variable name="lcConfidence" select="translate($confidence,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/> + <img i18n:attr="title"> + <xsl:if test="string-length($id) > 0"> + <xsl:attribute name="id"> + <xsl:value-of select="$id"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="src"> + <xsl:value-of select="concat($theme-path,'/images/authority_control/invisible.gif')"/> + </xsl:attribute> + <xsl:attribute name="class"> + <xsl:text>ds-authority-confidence </xsl:text> + <xsl:choose> + <xsl:when test="string-length($lcConfidence) > 0"> + <xsl:value-of select="concat('cf-',$lcConfidence,' ')"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>cf-blank </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:attribute name="title"> + <xsl:text>xmlui.authority.confidence.description.cf_</xsl:text> + <xsl:value-of select="$lcConfidence"/> + </xsl:attribute> + </img> + </xsl:template> + + <!-- Fragment to include an authority confidence hidden input + - assumes @n is the name of the field. + - param is confidence _value_, i.e. integer 0-6 + --> + <xsl:template name="authorityConfidenceInput"> + <xsl:param name="confidence"/> + <xsl:param name="name"/> + <input class="ds-authority-confidence-input" type="hidden"> + <xsl:attribute name="name"> + <xsl:value-of select="$name"/> + </xsl:attribute> + <xsl:attribute name="value"> + <xsl:value-of select="$confidence"/> + </xsl:attribute> + </input> + </xsl:template> + + + <!-- insert fields needed by Scriptaculous autocomplete --> + <xsl:template name="addAuthorityAutocompleteWidgets"> + <!-- "spinner" indicator to signal "loading", managed by autocompleter --> + <!-- put it next to input field --> + <span style="display:none;"> + <xsl:attribute name="id"> + <xsl:value-of select="concat(translate(@id,'.','_'),'_indicator')"/> + </xsl:attribute> + <img alt="Loading..."> + <xsl:attribute name="src"> + <xsl:value-of select="concat($theme-path,'/images/authority_control/suggest-indicator.gif')"/> + </xsl:attribute> + </img> + </span> + <!-- This is the anchor for autocomplete popup, div id="..._container" --> + <!-- put it below input field, give ID to autocomplete below --> + <div class="autocomplete"> + <xsl:attribute name="id"> + <xsl:value-of select="concat(translate(@id,'.','_'),'_container')"/> + </xsl:attribute> + <xsl:text> </xsl:text> + </div> + </xsl:template> + + <!-- adds autocomplete fields and setup script to "normal" submit input --> + <xsl:template name="addAuthorityAutocomplete"> + <xsl:param name="confidenceIndicatorID" select="''"/> + <xsl:param name="confidenceName" select="''"/> + <xsl:call-template name="addAuthorityAutocompleteWidgets"/> + <xsl:call-template name="autocompleteSetup"> + <xsl:with-param name="formID" select="translate(ancestor::dri:div[@interactive='yes']/@id,'.','_')"/> + <xsl:with-param name="metadataField" select="@n"/> + <xsl:with-param name="inputName" select="@n"/> + <xsl:with-param name="authorityName" select="concat(@n,'_authority')"/> + <xsl:with-param name="containerID" select="concat(translate(@id,'.','_'),'_container')"/> + <xsl:with-param name="indicatorID" select="concat(translate(@id,'.','_'),'_indicator')"/> + <xsl:with-param name="isClosed" select="contains(dri:params/@choicesClosed,'true')"/> + <xsl:with-param name="confidenceIndicatorID" select="$confidenceIndicatorID"/> + <xsl:with-param name="confidenceName" select="$confidenceName"/> + <xsl:with-param name="collectionID"> + <xsl:choose> + <xsl:when test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='choice'][@qualifier='collection']"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='choice'][@qualifier='collection']"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>-1</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- generate the script that sets up autocomplete feature on input field --> + <!-- ..it has lots of params --> + <xsl:template name="autocompleteSetup"> + <xsl:param name="formID" select="'missing value'"/> + <xsl:param name="metadataField" select="'missing value'"/> + <xsl:param name="inputName" select="'missing value'"/> + <xsl:param name="authorityName" select="''"/> + <xsl:param name="containerID" select="'missing value'"/> + <xsl:param name="collectionID" select="'-1'"/> + <xsl:param name="indicatorID" select="'missing value'"/> + <xsl:param name="confidenceIndicatorID" select="''"/> + <xsl:param name="confidenceName" select="''"/> + <xsl:param name="isClosed" select="'false'"/> + <script type="text/javascript"> + <xsl:text>runAfterJSImports.add(function() {</xsl:text> + <xsl:text>$(document).ready(function() {</xsl:text> + <xsl:text>var gigo = DSpaceSetupAutocomplete('</xsl:text> + <xsl:value-of select="$formID"/> + <xsl:text>', { metadataField: '</xsl:text> + <xsl:value-of select="$metadataField"/> + <xsl:text>', isClosed: '</xsl:text> + <xsl:value-of select="$isClosed"/> + <xsl:text>', inputName: '</xsl:text> + <xsl:value-of select="$inputName"/> + <xsl:text>', authorityName: '</xsl:text> + <xsl:value-of select="$authorityName"/> + <xsl:text>', containerID: '</xsl:text> + <xsl:value-of select="$containerID"/> + <xsl:text>', indicatorID: '</xsl:text> + <xsl:value-of select="$indicatorID"/> + <xsl:text>', confidenceIndicatorID: '</xsl:text> + <xsl:value-of select="$confidenceIndicatorID"/> + <xsl:text>', confidenceName: '</xsl:text> + <xsl:value-of select="$confidenceName"/> + <xsl:text>', collection: </xsl:text> + <xsl:value-of select="$collectionID"/> + <xsl:text>, contextPath: '</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>'});</xsl:text> + <xsl:text>});</xsl:text> + <xsl:text>});</xsl:text> + </script> + </xsl:template> + + <!-- add the extra _authority{_n?} and _confidence input fields --> + <xsl:template name="authorityInputFields"> + <xsl:param name="name" select="''"/> + <xsl:param name="id" select="''"/> + <xsl:param name="position" select="''"/> + <xsl:param name="authValue" select="''"/> + <xsl:param name="confValue" select="''"/> + <xsl:param name="confIndicatorID" select="''"/> + <xsl:param name="unlockButton" select="''"/> + <xsl:param name="unlockHelp" select="''"/> + <xsl:variable name="authFieldID" select="concat(translate(@id,'.','_'),'_authority')"/> + <xsl:variable name="confFieldID" select="concat(translate(@id,'.','_'),'_confidence')"/> + <!-- the authority key value --> + <input> + <xsl:attribute name="class"> + <xsl:text>ds-authority-value </xsl:text> + <xsl:if test="$unlockButton"> + <xsl:text>ds-authority-visible </xsl:text> + </xsl:if> + </xsl:attribute> + <xsl:attribute name="type"><xsl:value-of select="$authorityInputType"/></xsl:attribute> + <xsl:attribute name="readonly"><xsl:text>readonly</xsl:text></xsl:attribute> + <xsl:attribute name="name"> + <xsl:value-of select="concat($name,'_authority')"/> + <xsl:if test="$position"> + <xsl:value-of select="concat('_', $position)"/> + </xsl:if> + </xsl:attribute> + <xsl:if test="$id"> + <xsl:attribute name="id"> + <xsl:value-of select="$authFieldID"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="value"> + <xsl:value-of select="$authValue"/> + </xsl:attribute> + <!-- this updates confidence after a manual change to authority value --> + <xsl:attribute name="onChange"> + <xsl:text>javascript: return DSpaceAuthorityOnChange(this, '</xsl:text> + <xsl:value-of select="$confFieldID"/> + <xsl:text>','</xsl:text> + <xsl:value-of select="$confIndicatorID"/> + <xsl:text>');</xsl:text> + </xsl:attribute> + </input> + <!-- optional "unlock" button on (visible) authority value field --> + <xsl:if test="$unlockButton"> + <input type="image" class="ds-authority-lock is-locked " value=""> + <xsl:attribute name="onClick"> + <xsl:text>javascript: return DSpaceToggleAuthorityLock(this, '</xsl:text> + <xsl:value-of select="$authFieldID"/> + <xsl:text>');</xsl:text> + </xsl:attribute> + <xsl:attribute name="src"> + <xsl:value-of select="concat($theme-path,'/images/authority_control/invisible.gif')"/> + </xsl:attribute> + <xsl:attribute name="i18n:attr">title</xsl:attribute> + <xsl:attribute name="title"> + <xsl:value-of select="$unlockHelp"/> + </xsl:attribute> + </input> + </xsl:if> + <input class="ds-authority-confidence-input" type="hidden"> + <xsl:attribute name="name"> + <xsl:value-of select="concat($name,'_confidence')"/> + <xsl:if test="$position"> + <xsl:value-of select="concat('_', $position)"/> + </xsl:if> + </xsl:attribute> + <xsl:if test="$id"> + <xsl:attribute name="id"> + <xsl:value-of select="$confFieldID"/> + </xsl:attribute> + </xsl:if> + <xsl:attribute name="value"> + <xsl:value-of select="$confValue"/> + </xsl:attribute> + </input> + </xsl:template> + + <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> + <!-- Special Transformations for Choice Authority lookup popup page --> + + <!-- indicator spinner --> + <xsl:template match="dri:item[@id='aspect.general.ChoiceLookupTransformer.item.select']/dri:figure"> + <img id="lookup_indicator_id" alt="Loading..." style="display:none;"> + <xsl:attribute name="src"> + <xsl:value-of select="concat($theme-path,'/images/authority_control/lookup-indicator.gif')"/> + </xsl:attribute> + </img> + </xsl:template> + + <!-- This inline JS must be added to the popup page for choice lookups --> + <xsl:template name="choiceLookupPopUpSetup"> + <script type="text/javascript"> + var form = document.getElementById('aspect_general_ChoiceLookupTransformer_div_lookup'); + DSpaceChoicesSetup(form); + </script> + </xsl:template> + + <!-- Special select widget for lookup popup --> + <xsl:template match="dri:field[@id='aspect.general.ChoiceLookupTransformer.field.chooser']"> + <div> + <select onChange="javascript:DSpaceChoicesSelectOnChange();"> + <xsl:call-template name="fieldAttributes"/> + <xsl:apply-templates/> + <xsl:comment>space filler because "unclosed" select annoys browsers</xsl:comment> + </select> + <img class="choices-lookup" id="lookup_indicator_id" alt="Loading..." style="display:none;"> + <xsl:attribute name="src"> + <xsl:value-of select="concat($theme-path,'/images/authority_control/lookup-indicator.gif')"/> + </xsl:attribute> + </img> + </div> + </xsl:template> + + <!-- Generate buttons with onClick attribute, since it is the easiest + - way to set a single event handler in a browser-independent manner. + --> + + <!-- choice popup "accept" button --> + <xsl:template match="dri:field[@id='aspect.general.ChoiceLookupTransformer.field.accept']"> + <xsl:call-template name="choiceLookupButton"> + <xsl:with-param name="onClick" select="'javascript:DSpaceChoicesAcceptOnClick();'"/> + </xsl:call-template> + </xsl:template> + + <!-- choice popup "more" button --> + <xsl:template match="dri:field[@id='aspect.general.ChoiceLookupTransformer.field.more']"> + <xsl:call-template name="choiceLookupButton"> + <xsl:with-param name="onClick" select="'javascript:DSpaceChoicesMoreOnClick();'"/> + </xsl:call-template> + </xsl:template> + + <!-- choice popup "cancel" button --> + <xsl:template match="dri:field[@id='aspect.general.ChoiceLookupTransformer.field.cancel']"> + <xsl:call-template name="choiceLookupButton"> + <xsl:with-param name="onClick" select="'javascript:DSpaceChoicesCancelOnClick();'"/> + </xsl:call-template> + </xsl:template> + + <!-- button markup: special handling needed because these must not be <input type=submit> --> + <xsl:template name="choiceLookupButton"> + <xsl:param name="onClick"/> + <input type="button" onClick="{$onClick}"> + <xsl:call-template name="fieldAttributes"/> + <xsl:attribute name="value"> + <xsl:choose> + <xsl:when test="./dri:value[@type='raw']"> + <xsl:value-of select="./dri:value[@type='raw']"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./dri:value[@type='default']"/> + </xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:if test="dri:value/i18n:text"> + <xsl:attribute name="i18n:attr">value</xsl:attribute> + </xsl:if> + <xsl:apply-templates /> + </input> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/attribute-handlers.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/attribute-handlers.xsl new file mode 100644 index 0000000000000000000000000000000000000000..678ecfbe48dddf9b2f501a7c2a77671fc56dbdcf --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/attribute-handlers.xsl @@ -0,0 +1,208 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Templates to cover the attribute calls. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <xsl:template match="@pagination"> + <xsl:param name="position"/> + <xsl:choose> + <xsl:when test=". = 'simple'"> + <div class="pagination clearfix {$position}"> + <p class="pagination-info"> + <i18n:translate> + <xsl:choose> + <xsl:when test="parent::node()/@itemsTotal = -1"> + <i18n:text>xmlui.dri2xhtml.structural.pagination-info.nototal</i18n:text> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.structural.pagination-info</i18n:text> + </xsl:otherwise> + </xsl:choose> + <i18n:param><xsl:value-of select="parent::node()/@firstItemIndex"/></i18n:param> + <i18n:param><xsl:value-of select="parent::node()/@lastItemIndex"/></i18n:param> + <i18n:param><xsl:value-of select="parent::node()/@itemsTotal"/></i18n:param> + </i18n:translate> + <!-- + <xsl:text>Now showing items </xsl:text> + <xsl:value-of select="parent::node()/@firstItemIndex"/> + <xsl:text>-</xsl:text> + <xsl:value-of select="parent::node()/@lastItemIndex"/> + <xsl:text> of </xsl:text> + <xsl:value-of select="parent::node()/@itemsTotal"/> + --> + </p> + <ul class="pagination-links"> + <li> + <xsl:if test="parent::node()/@previousPage"> + <a class="previous-page-link"> + <xsl:attribute name="href"> + <xsl:value-of select="parent::node()/@previousPage"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.pagination-previous</i18n:text> + </a> + </xsl:if> + </li> + <li> + <xsl:if test="parent::node()/@nextPage"> + <a class="next-page-link"> + <xsl:attribute name="href"> + <xsl:value-of select="parent::node()/@nextPage"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.pagination-next</i18n:text> + </a> + </xsl:if> + </li> + </ul> + </div> + </xsl:when> + <xsl:when test=". = 'masked'"> + <div class="pagination-masked clearfix {$position}"> + <p class="pagination-info"> + <i18n:translate> + <xsl:choose> + <xsl:when test="parent::node()/@itemsTotal = -1"> + <i18n:text>xmlui.dri2xhtml.structural.pagination-info.nototal</i18n:text> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.structural.pagination-info</i18n:text> + </xsl:otherwise> + </xsl:choose> + <i18n:param><xsl:value-of select="parent::node()/@firstItemIndex"/></i18n:param> + <i18n:param><xsl:value-of select="parent::node()/@lastItemIndex"/></i18n:param> + <i18n:param><xsl:value-of select="parent::node()/@itemsTotal"/></i18n:param> + </i18n:translate> + </p> + <ul class="pagination-links"> + <xsl:if test="not(parent::node()/@firstItemIndex = 0 or parent::node()/@firstItemIndex = 1)"> + <li> + <a class="previous-page-link"> + <xsl:attribute name="href"> + <xsl:value-of + select="substring-before(parent::node()/@pageURLMask,'{pageNum}')"/> + <xsl:value-of select="parent::node()/@currentPage - 1"/> + <xsl:value-of + select="substring-after(parent::node()/@pageURLMask,'{pageNum}')"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.pagination-previous</i18n:text> + </a> + </li> + </xsl:if> + <xsl:if test="(parent::node()/@currentPage - 4) > 0"> + <li class="first-page-link"> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="substring-before(parent::node()/@pageURLMask,'{pageNum}')"/> + <xsl:text>1</xsl:text> + <xsl:value-of select="substring-after(parent::node()/@pageURLMask,'{pageNum}')"/> + </xsl:attribute> + <xsl:text>1</xsl:text> + </a> + <xsl:text> . . . </xsl:text> + </li> + </xsl:if> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">-3</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">-2</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">-1</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">0</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">1</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">2</xsl:with-param> + </xsl:call-template> + <xsl:call-template name="offset-link"> + <xsl:with-param name="pageOffset">3</xsl:with-param> + </xsl:call-template> + <xsl:if test="(parent::node()/@currentPage + 4) <= (parent::node()/@pagesTotal)"> + <li> + <xsl:text>. . .</xsl:text> + </li> + <li class="last-page-link"> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="substring-before(parent::node()/@pageURLMask,'{pageNum}')"/> + <xsl:value-of select="parent::node()/@pagesTotal"/> + <xsl:value-of select="substring-after(parent::node()/@pageURLMask,'{pageNum}')"/> + </xsl:attribute> + <xsl:value-of select="parent::node()/@pagesTotal"/> + </a> + </li> + </xsl:if> + <xsl:if test="not(parent::node()/@lastItemIndex = parent::node()/@itemsTotal)"> + <li> + <a class="next-page-link"> + <xsl:attribute name="href"> + <xsl:value-of + select="substring-before(parent::node()/@pageURLMask,'{pageNum}')"/> + <xsl:value-of select="parent::node()/@currentPage + 1"/> + <xsl:value-of + select="substring-after(parent::node()/@pageURLMask,'{pageNum}')"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.pagination-next</i18n:text> + </a> + </li> + </xsl:if> + + </ul> + <xsl:if test="parent::node()/dri:div[@n = 'masked-page-control']"> + <xsl:apply-templates select="parent::node()/dri:div[@n='masked-page-control']/dri:div"> + <xsl:with-param name="position" select="$position"/> + </xsl:apply-templates> + </xsl:if> + </div> + </xsl:when> + </xsl:choose> + </xsl:template> + + <xsl:template match="dri:div[@n = 'masked-page-control']"> + <!--Do not render this division, this is handled by the xsl--> + </xsl:template> + + <xsl:template match="dri:div[@n ='search-controls-gear']"> + <xsl:param name="position"/> + <div> + <xsl:call-template name="standardAttributes"> + <xsl:with-param name="class"><xsl:value-of select="$position"/></xsl:with-param> + </xsl:call-template> + + <xsl:apply-templates/> + </div> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/elements.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/elements.xsl new file mode 100644 index 0000000000000000000000000000000000000000..971932a6049902c468b8c93a8ff850b966d4d9e7 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/elements.xsl @@ -0,0 +1,95 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Templates to cover the common dri elements. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <!--Removed the automatic font sizing for headers, because while I liked the idea, + in practice it's too unpredictable. + Also made all head's follow the same rule: count the number of ancestors that have + a head, that's the number after the 'h' in the tagname--> + <xsl:template name="renderHead"> + <xsl:param name="class"/> + <xsl:variable name="head_count" select="count(ancestor::dri:*[dri:head])"/> + <xsl:element name="h{$head_count}"> + <xsl:call-template name="standardAttributes"> + <xsl:with-param name="class" select="$class"/> + </xsl:call-template> + <xsl:apply-templates /> + </xsl:element> + </xsl:template> + + + <xsl:template match="dri:div/dri:head" priority="3"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-div-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- The second case is the header on tables, which always creates an HTML h3 element --> + <xsl:template match="dri:table/dri:head" priority="2"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-table-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <!-- The third case is the header on lists, which creates an HTML h3 element for top level lists and + and h4 elements for all sublists. --> + <xsl:template match="dri:list/dri:head" priority="2" mode="nested"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-list-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template match="dri:list/dri:list/dri:head" priority="3" mode="nested"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-sublist-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template match="dri:referenceSet/dri:head" priority="2"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-list-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template match="dri:options/dri:list/dri:head" priority="3"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-option-set-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + + <xsl:template match="dri:head" priority="1"> + <xsl:call-template name="renderHead"> + <xsl:with-param name="class">ds-head</xsl:with-param> + </xsl:call-template> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/forms.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/forms.xsl new file mode 100644 index 0000000000000000000000000000000000000000..01faa544858c4538fd4a1fefef052101143f84f9 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/forms.xsl @@ -0,0 +1,312 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Templates to cover the forms and forms fields. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <!--always give the last item the class 'last'--> + <xsl:template match="dri:list[@type='form']/dri:item" priority="3"> + <li> + <xsl:call-template name="standardAttributes"> + <xsl:with-param name="class"> + <xsl:text>ds-form-item </xsl:text> + <xsl:choose> + <!-- Makes sure that the dark always falls on the last item --> + <xsl:when test="count(../dri:item) mod 2 = 0"> + <xsl:if test="count(../dri:item) > 3"> + <xsl:if test="(count(preceding-sibling::dri:item) mod 2 = 0)">even </xsl:if> + <xsl:if test="(count(preceding-sibling::dri:item) mod 2 = 1)">odd </xsl:if> + </xsl:if> + </xsl:when> + <xsl:when test="count(../dri:item) mod 2 = 1"> + <xsl:if test="count(../dri:item) > 3"> + <xsl:if test="(count(preceding-sibling::dri:item) mod 2 = 1)">even </xsl:if> + <xsl:if test="(count(preceding-sibling::dri:item) mod 2 = 0)">odd </xsl:if> + </xsl:if> + </xsl:when> + </xsl:choose> + <!-- The last row is special--> + <xsl:if test="position()=last()">last </xsl:if> + <!-- The row is also tagged specially if it contains another "form" list --> + <xsl:if test="dri:list[@type='form']">sublist </xsl:if> + </xsl:with-param> + </xsl:call-template> + + <xsl:choose> + <xsl:when test="dri:field[@type='composite']"> + <xsl:call-template name="pick-label"/> + <xsl:apply-templates mode="formComposite"/> + </xsl:when> + <xsl:when test="dri:list[@type='form']"> + <xsl:apply-templates /> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="pick-label"/> + <div class="ds-form-content"> + <xsl:apply-templates /> + <!-- special name used in submission UI review page --> + <xsl:if test="@n = 'submit-review-field-with-authority'"> + <xsl:call-template name="authorityConfidenceIcon"> + <xsl:with-param name="confidence" select="substring-after(./@rend, 'cf-')"/> + </xsl:call-template> + </xsl:if> + </div> + </xsl:otherwise> + </xsl:choose> + </li> + </xsl:template> + + <!-- NON-instance composite fields (i.e. not repeatable) --> + <xsl:template match="dri:field[@type='composite']" mode="formComposite"> + <div class="ds-form-content"> + <xsl:apply-templates select="dri:help" mode="compositeComponent"/> + <xsl:variable name="confidenceIndicatorID" select="concat(translate(@id,'.','_'),'_confidence_indicator')"/> + <xsl:apply-templates select="dri:field" mode="compositeComponent"/> + <xsl:choose> + <xsl:when test="dri:params/@choicesPresentation = 'suggest'"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: Input field with "suggest" (autocomplete) choice behavior is not implemented for Composite (e.g. "name") fields.</xsl:text> + </xsl:message> + </xsl:when> + <!-- lookup popup includes its own Add button if necessary. --> + <xsl:when test="dri:params/@choicesPresentation = 'lookup'"> + <xsl:call-template name="addLookupButton"> + <xsl:with-param name="isName" select="'true'"/> + <xsl:with-param name="confIndicator" select="$confidenceIndicatorID"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + <xsl:if test="dri:params/@authorityControlled"> + <xsl:variable name="confValue" select="dri:field/dri:value[@type='authority'][1]/@confidence"/> + <xsl:call-template name="authorityConfidenceIcon"> + <xsl:with-param name="confidence" select="$confValue"/> + <xsl:with-param name="id" select="$confidenceIndicatorID"/> + </xsl:call-template> + <xsl:call-template name="authorityInputFields"> + <xsl:with-param name="name" select="@n"/> + <xsl:with-param name="authValue" select="dri:field/dri:value[@type='authority'][1]/text()"/> + <xsl:with-param name="confValue" select="$confValue"/> + </xsl:call-template> + </xsl:if> + <div class="spacer"> </div> + <xsl:apply-templates select="dri:field/dri:error" mode="compositeComponent"/> + <xsl:apply-templates select="dri:error" mode="compositeComponent"/> + </div> + </xsl:template> + + <!-- The handling of the special case of instanced composite fields under "form" lists --> + <xsl:template match="dri:field[@type='composite'][dri:field/dri:instance | dri:params/@operations]" mode="formComposite" priority="2"> + <xsl:variable name="confidenceIndicatorID" select="concat(translate(@id,'.','_'),'_confidence_indicator')"/> + <div class="ds-form-content"> + <xsl:apply-templates select="dri:help" mode="compositeComponent"/> + <xsl:apply-templates select="dri:field" mode="compositeComponent"/> + <xsl:if test="contains(dri:params/@operations,'add')"> + <!-- Add buttons should be named "submit_[field]_add" so that we can ignore errors from required fields when simply adding new values--> + <input type="submit" value="Add" name="{concat('submit_',@n,'_add')}" class="ds-button-field ds-add-button"> + <!-- Make invisible if we have choice-lookup operation that provides its own Add. --> + <xsl:if test="dri:params/@choicesPresentation = 'lookup'"> + <xsl:attribute name="style"> + <xsl:text>display:none;</xsl:text> + </xsl:attribute> + </xsl:if> + </input> + </xsl:if> + <!-- insert choice mechansim and/or Add button here --> + <xsl:choose> + <xsl:when test="dri:params/@choicesPresentation = 'suggest'"> + <xsl:message terminate="yes"> + <xsl:text>ERROR: Input field with "suggest" (autocomplete) choice behavior is not implemented for Composite (e.g. "name") fields.</xsl:text> + </xsl:message> + </xsl:when> + <!-- lookup popup includes its own Add button if necessary. --> + <xsl:when test="dri:params/@choicesPresentation = 'lookup'"> + <xsl:call-template name="addLookupButton"> + <xsl:with-param name="isName" select="'true'"/> + <xsl:with-param name="confIndicator" select="$confidenceIndicatorID"/> + </xsl:call-template> + </xsl:when> + </xsl:choose> + <!-- place to store authority value --> + <xsl:if test="dri:params/@authorityControlled"> + <xsl:call-template name="authorityConfidenceIcon"> + <xsl:with-param name="confidence" select="dri:value[@type='authority']/@confidence"/> + <xsl:with-param name="id" select="$confidenceIndicatorID"/> + </xsl:call-template> + <xsl:call-template name="authorityInputFields"> + <xsl:with-param name="name" select="@n"/> + <xsl:with-param name="authValue" select="dri:value[@type='authority']/text()"/> + <xsl:with-param name="confValue" select="dri:value[@type='authority']/@confidence"/> + </xsl:call-template> + </xsl:if> + <div class="spacer"> </div> + <xsl:apply-templates select="dri:field/dri:error" mode="compositeComponent"/> + <xsl:apply-templates select="dri:error" mode="compositeComponent"/> + <xsl:if test="dri:instance or dri:field/dri:instance"> + <div class="ds-previous-values"> + <xsl:call-template name="fieldIterator"> + <xsl:with-param name="position">1</xsl:with-param> + </xsl:call-template> + <xsl:if test="contains(dri:params/@operations,'delete') and (dri:instance or dri:field/dri:instance)"> + <!-- Delete buttons should be named "submit_[field]_delete" so that we can ignore errors from required fields when simply removing values--> + <input type="submit" value="Remove selected" name="{concat('submit_',@n,'_delete')}" class="ds-button-field ds-delete-button" /> + </xsl:if> + <xsl:for-each select="dri:field"> + <xsl:apply-templates select="dri:instance" mode="hiddenInterpreter"/> + </xsl:for-each> + </div> + </xsl:if> + </div> + </xsl:template> + + + + <!-- The handling of the field element is more complex. At the moment, the handling of input fields in the + DRI schema is very similar to HTML, utilizing the same controlled vocabulary in most cases. This makes + converting DRI fields to HTML inputs a straightforward, if a bit verbose, task. We are currently + looking at other ways of encoding forms, so this may change in the future. --> + <!-- The simple field case... not part of a complex field and does not contain instance values --> + <xsl:template match="dri:field"> + <xsl:variable name="test" select="not(@type='composite') and ancestor::dri:list[@type='form']"/> + <xsl:if test="$test"> + <xsl:apply-templates select="dri:help" mode="help"/> + </xsl:if> + <xsl:apply-templates select="." mode="normalField"/> + <xsl:if test="contains(dri:params/@operations,'add')"> + <!-- Add buttons should be named "submit_[field]_add" so that we can ignore errors from required fields when simply adding new values--> + <input type="submit" value="Add" name="{concat('submit_',@n,'_add')}" class="ds-button-field ds-add-button"> + <!-- Make invisible if we have choice-lookup popup that provides its own Add. --> + <xsl:if test="dri:params/@choicesPresentation = 'lookup'"> + <xsl:attribute name="style"> + <xsl:text>display:none;</xsl:text> + </xsl:attribute> + </xsl:if> + </input> + </xsl:if> + <xsl:if test="$test"> + <xsl:apply-templates select="dri:error" mode="error"/> + </xsl:if> + <xsl:if test="dri:instance"> + <div class="ds-previous-values"> + <!-- Iterate over the dri:instance elements contained in this field. The instances contain + stored values as either "interpreted", "raw", or "default" values. --> + <xsl:call-template name="simpleFieldIterator"> + <xsl:with-param name="position">1</xsl:with-param> + </xsl:call-template> + <!-- Conclude with a DELETE button if the delete operation is specified. This allows + removing one or more values stored for this field. --> + <xsl:if test="contains(dri:params/@operations,'delete') and dri:instance"> + <!-- Delete buttons should be named "submit_[field]_delete" so that we can ignore errors from required fields when simply removing values--> + <input type="submit" value="Remove selected" name="{concat('submit_',@n,'_delete')}" class="ds-button-field ds-delete-button" /> + </xsl:if> + <!-- Behind the scenes, add hidden fields for every instance set. This is to make sure that + the form still submits the information in those instances, even though they are no + longer encoded as HTML fields. The DRI Reference should contain the exact attributes + the hidden fields should have in order for this to work properly. --> + <xsl:apply-templates select="dri:instance" mode="hiddenInterpreter"/> + </div> + </xsl:if> + </xsl:template> + + <!--modified to differentiate beween selects with and without attribute 'multiple'--> + <xsl:template name="fieldAttributes"> + <xsl:call-template name="standardAttributes"> + <xsl:with-param name="class"> + <xsl:text>ds-</xsl:text><xsl:value-of select="@type"/> + <xsl:text>-field </xsl:text> + <xsl:if test="@disabled='yes'"> + <xsl:text>disabled </xsl:text> + </xsl:if> + <xsl:if test="dri:error or parent::node()[@type='composite']/dri:error"> + <xsl:text>error </xsl:text> + </xsl:if> + <xsl:if test="dri:params/@multiple='yes'"> + <xsl:text>multiple </xsl:text> + </xsl:if> + </xsl:with-param> + </xsl:call-template> + <xsl:if test="@disabled='yes'"> + <xsl:attribute name="disabled">disabled</xsl:attribute> + </xsl:if> + <xsl:if test="@type != 'checkbox' and @type != 'radio' "> + <xsl:attribute name="name"><xsl:value-of select="@n"/></xsl:attribute> + </xsl:if> + <xsl:if test="@type != 'select' and @type != 'textarea' and @type != 'checkbox' and @type != 'radio' "> + <xsl:attribute name="type"><xsl:value-of select="@type"/></xsl:attribute> + </xsl:if> + <xsl:if test="@type= 'textarea'"> + <xsl:attribute name="onfocus">javascript:tFocus(this);</xsl:attribute> + </xsl:if> + </xsl:template> + + + <!-- Fieldset (instanced) field stuff, in the case of non-composites --> + <xsl:template match="dri:field[dri:field/dri:instance | dri:params/@operations]" priority="2"> + <xsl:apply-templates select="dri:help" mode="help"/> + <!-- Create the first field normally --> + <xsl:apply-templates select="." mode="normalField"/> + <!-- Follow it up with an ADD button if the add operation is specified. This allows + entering more than one value for this field. --> + <xsl:if test="contains(dri:params/@operations,'add')"> + <!-- Add buttons should be named "submit_[field]_add" so that we can ignore errors from required fields when simply adding new values--> + <input type="submit" value="Add" name="{concat('submit_',@n,'_add')}" class="ds-button-field ds-add-button"> + <!-- Make invisible if we have choice-lookup popup that provides its own Add. --> + <xsl:if test="dri:params/@choicesPresentation = 'lookup'"> + <xsl:attribute name="style"> + <xsl:text>display:none;</xsl:text> + </xsl:attribute> + </xsl:if> + </input> + </xsl:if> + <br/> + <xsl:apply-templates select="dri:error" mode="error"/> + <xsl:if test="dri:instance"> + <div class="ds-previous-values"> + <!-- Iterate over the dri:instance elements contained in this field. The instances contain + stored values as either "interpreted", "raw", or "default" values. --> + <xsl:call-template name="simpleFieldIterator"> + <xsl:with-param name="position">1</xsl:with-param> + </xsl:call-template> + <!-- Conclude with a DELETE button if the delete operation is specified. This allows + removing one or more values stored for this field. --> + <xsl:if test="contains(dri:params/@operations,'delete') and dri:instance"> + <!-- Delete buttons should be named "submit_[field]_delete" so that we can ignore errors from required fields when simply removing values--> + <input type="submit" value="Remove selected" name="{concat('submit_',@n,'_delete')}" class="ds-button-field ds-delete-button" /> + </xsl:if> + <!-- Behind the scenes, add hidden fields for every instance set. This is to make sure that + the form still submits the information in those instances, even though they are no + longer encoded as HTML fields. The DRI Reference should contain the exact attributes + the hidden fields should have in order for this to work properly. --> + <xsl:apply-templates select="dri:instance" mode="hiddenInterpreter"/> + </div> + </xsl:if> + </xsl:template> + + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/global-variables.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/global-variables.xsl new file mode 100644 index 0000000000000000000000000000000000000000..211f593e955262198d5853ece55814dfb7557898 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/global-variables.xsl @@ -0,0 +1,42 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Global variables accessible from other templates + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + xmlns:confman="org.dspace.core.ConfigurationManager" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc confman"> + + <xsl:output indent="yes"/> + + <!--the max thumbnail height & width from dspace.cfg, needed for item view and item list pages--> + <xsl:variable name="thumbnail.maxheight" select="confman:getIntProperty('thumbnail.maxheight', 80)"/> + <xsl:variable name="thumbnail.maxwidth" select="confman:getIntProperty('thumbnail.maxwidth', 80)"/> + <!-- item details url --> + <xsl:variable name="ds_item_view_toggle_url" select="//dri:p[contains(@rend , 'item-view-toggle') and + (preceding-sibling::dri:referenceSet[@type = 'summaryView'] or following-sibling::dri:referenceSet[@type = 'summaryView'])]/dri:xref/@target"/> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/navigation.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/navigation.xsl new file mode 100644 index 0000000000000000000000000000000000000000..6f58714bab2bab3c0024cdbab81f667d770ff764 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/navigation.xsl @@ -0,0 +1,200 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Rendering specific to the navigation (options) + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <!-- + The template to handle dri:options. Since it contains only dri:list tags (which carry the actual + information), the only things than need to be done is creating the ds-options div and applying + the templates inside it. + + In fact, the only bit of real work this template does is add the search box, which has to be + handled specially in that it is not actually included in the options div, and is instead built + from metadata available under pageMeta. + --> + <!-- TODO: figure out why i18n tags break the go button --> + <xsl:template match="dri:options"> + <div id="ds-options-wrapper"> + <div id="ds-options"> + <xsl:if test="not(contains(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI'], 'discover'))"> + <h1 id="ds-search-option-head" class="ds-option-set-head"> + <i18n:text>xmlui.dri2xhtml.structural.search</i18n:text> + </h1> + <div id="ds-search-option" class="ds-option-set"> + <!-- The form, complete with a text box and a button, all built from attributes referenced + from under pageMeta. --> + <form id="ds-search-form" method="post"> + <xsl:attribute name="action"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath']"/> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"/> + </xsl:attribute> + <fieldset> + <input class="ds-text-field " type="text"> + <xsl:attribute name="name"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='queryField']"/> + </xsl:attribute> + </input> + <input class="ds-button-field " name="submit" type="submit" i18n:attr="value" + value="xmlui.general.go"> + <xsl:attribute name="onclick"> + <xsl:text> + var radio = document.getElementById("ds-search-form-scope-container"); + if (radio != undefined && radio.checked) + { + var form = document.getElementById("ds-search-form"); + form.action= + </xsl:text> + <xsl:text>"</xsl:text> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath']"/> + <xsl:text>/handle/" + radio.value + "</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"/> + <xsl:text>" ; </xsl:text> + <xsl:text> + } + </xsl:text> + </xsl:attribute> + </input> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='focus'][@qualifier='container']"> + <label> + <input id="ds-search-form-scope-all" type="radio" name="scope" value="" + checked="checked"/> + <i18n:text>xmlui.dri2xhtml.structural.search</i18n:text> + </label> + <br/> + <label> + <input id="ds-search-form-scope-container" type="radio" name="scope"> + <xsl:attribute name="value"> + <xsl:value-of + select="substring-after(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='focus'][@qualifier='container'],':')"/> + </xsl:attribute> + </input> + <xsl:choose> + <xsl:when + test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='focus'][@qualifier='containerType']/text() = 'type:community'"> + <i18n:text>xmlui.dri2xhtml.structural.search-in-community</i18n:text> + </xsl:when> + <xsl:otherwise> + <i18n:text>xmlui.dri2xhtml.structural.search-in-collection</i18n:text> + </xsl:otherwise> + + </xsl:choose> + </label> + </xsl:if> + </fieldset> + </form> + <!--Only add if the advanced search url is different from the simple search--> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='advancedURL'] != /dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"> + <!-- The "Advanced search" link, to be perched underneath the search box --> + <a> + <xsl:attribute name="href"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='advancedURL']"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.search-advanced</i18n:text> + </a> + </xsl:if> + </div> + + </xsl:if> + <!-- Once the search box is built, the other parts of the options are added --> + <xsl:apply-templates/> + + <!-- DS-984 Add RSS Links to Options Box --> + <xsl:if test="count(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='feed']) != 0"> + <h1 id="ds-feed-option-head" class="ds-option-set-head"> + <i18n:text>xmlui.feed.header</i18n:text> + </h1> + <div id="ds-feed-option" class="ds-option-set"> + <ul> + <xsl:call-template name="addRSSLinks"/> + </ul> + </div> + </xsl:if> + + + </div> + </div> + </xsl:template> + + <!-- Add each RSS feed from meta to a list --> + <xsl:template name="addRSSLinks"> + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='feed']"> + <li> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="."/> + </xsl:attribute> + + <xsl:attribute name="style"> + <xsl:text>background: url(</xsl:text> + <xsl:value-of select="$context-path"/> + <xsl:text>/static/icons/feed.png) no-repeat</xsl:text> + </xsl:attribute> + + <xsl:choose> + <xsl:when test="contains(., 'rss_1.0')"> + <xsl:text>RSS 1.0</xsl:text> + </xsl:when> + <xsl:when test="contains(., 'rss_2.0')"> + <xsl:text>RSS 2.0</xsl:text> + </xsl:when> + <xsl:when test="contains(., 'atom_1.0')"> + <xsl:text>Atom</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="@qualifier"/> + </xsl:otherwise> + </xsl:choose> + </a> + </li> + </xsl:for-each> + </xsl:template> + + <!--give nested navigation list the class sublist--> + <xsl:template match="dri:options/dri:list/dri:list" priority="3" mode="nested"> + <li> + <xsl:apply-templates select="dri:head" mode="nested"/> + <ul class="ds-simple-list sublist"> + <xsl:apply-templates select="dri:item" mode="nested"/> + </ul> + </li> + </xsl:template> + + <!-- Quick patch to remove empty lists from options --> + <xsl:template match="dri:options//dri:list[count(child::*)=0]" priority="5" mode="nested"> + </xsl:template> + <xsl:template match="dri:options//dri:list[count(child::*)=0]" priority="5"> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl new file mode 100644 index 0000000000000000000000000000000000000000..3b0fca47cf302b09ac903a827179632d6eff4482 --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/page-structure.xsl @@ -0,0 +1,742 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + Main structure of the page, determines where + header, footer, body, navigation are structurally rendered. + Rendering of the header, footer, trail and alerts + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:confman="org.dspace.core.ConfigurationManager" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc confman"> + + <xsl:output indent="yes"/> + + <!-- + Requested Page URI. Some functions may alter behavior of processing depending if URI matches a pattern. + Specifically, adding a static page will need to override the DRI, to directly add content. + --> + <xsl:variable name="request-uri" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI']"/> + + <!-- + The starting point of any XSL processing is matching the root element. In DRI the root element is document, + which contains a version attribute and three top level elements: body, options, meta (in that order). + + This template creates the html document, giving it a head and body. A title and the CSS style reference + are placed in the html head, while the body is further split into several divs. The top-level div + directly under html body is called "ds-main". It is further subdivided into: + "ds-header" - the header div containing title, subtitle, trail and other front matter + "ds-body" - the div containing all the content of the page; built from the contents of dri:body + "ds-options" - the div with all the navigation and actions; built from the contents of dri:options + "ds-footer" - optional footer div, containing misc information + + The order in which the top level divisions appear may have some impact on the design of CSS and the + final appearance of the DSpace page. While the layout of the DRI schema does favor the above div + arrangement, nothing is preventing the designer from changing them around or adding new ones by + overriding the dri:document template. + --> + <xsl:template match="dri:document"> + <html class="no-js"> + <!-- First of all, build the HTML head element --> + <xsl:call-template name="buildHead"/> + <!-- Then proceed to the body --> + + <!--paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/--> + <xsl:text disable-output-escaping="yes"><!--[if lt IE 7 ]> <body class="ie6"> <![endif]--> + <!--[if IE 7 ]> <body class="ie7"> <![endif]--> + <!--[if IE 8 ]> <body class="ie8"> <![endif]--> + <!--[if IE 9 ]> <body class="ie9"> <![endif]--> + <!--[if (gt IE 9)|!(IE)]><!--><body><!--<![endif]--></xsl:text> + + <xsl:choose> + <xsl:when test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='framing'][@qualifier='popup']"> + <xsl:apply-templates select="dri:body/*"/> + </xsl:when> + <xsl:otherwise> + <div id="ds-main"> + <!--The header div, complete with title, subtitle and other junk--> + <xsl:call-template name="buildHeader"/> + + <!--The trail is built by applying a template over pageMeta's trail children. --> + <xsl:call-template name="buildTrail"/> + + <!--javascript-disabled warning, will be invisible if javascript is enabled--> + <div id="no-js-warning-wrapper" class="hidden"> + <div id="no-js-warning"> + <div class="notice failure"> + <xsl:text>JavaScript is disabled for your browser. Some features of this site may not work without it.</xsl:text> + </div> + </div> + </div> + + + <!--ds-content is a groups ds-body and the navigation together and used to put the clearfix on, center, etc. + ds-content-wrapper is necessary for IE6 to allow it to center the page content--> + <div id="ds-content-wrapper"> + <div id="ds-content" class="clearfix"> + <!-- + Goes over the document tag's children elements: body, options, meta. The body template + generates the ds-body div that contains all the content. The options template generates + the ds-options div that contains the navigation and action options available to the + user. The meta element is ignored since its contents are not processed directly, but + instead referenced from the different points in the document. --> + <xsl:apply-templates/> + </div> + </div> + + + <!-- + The footer div, dropping whatever extra information is needed on the page. It will + most likely be something similar in structure to the currently given example. --> + <xsl:call-template name="buildFooter"/> + + </div> + + </xsl:otherwise> + </xsl:choose> + <!-- Javascript at the bottom for fast page loading --> + <xsl:call-template name="addJavascript"/> + + <xsl:text disable-output-escaping="yes"></body></xsl:text> + </html> + </xsl:template> + + <!-- The HTML head element contains references to CSS as well as embedded JavaScript code. Most of this + information is either user-provided bits of post-processing (as in the case of the JavaScript), or + references to stylesheets pulled directly from the pageMeta element. --> + <xsl:template name="buildHead"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + + <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame --> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> + + <!-- Mobile Viewport Fix + j.mp/mobileviewport & davidbcalhoun.com/2010/viewport-metatag + device-width : Occupy full width of the screen in its current orientation + initial-scale = 1.0 retains dimensions instead of zooming out if page height > device height + maximum-scale = 1.0 retains dimensions instead of zooming in if page width < device width + --> + <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"/> + + <link rel="shortcut icon"> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/images/favicon.ico</xsl:text> + </xsl:attribute> + </link> + <link rel="apple-touch-icon"> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/images/apple-touch-icon.png</xsl:text> + </xsl:attribute> + </link> + + <meta name="Generator"> + <xsl:attribute name="content"> + <xsl:text>DSpace</xsl:text> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='dspace'][@qualifier='version']"> + <xsl:text> </xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='dspace'][@qualifier='version']"/> + </xsl:if> + </xsl:attribute> + </meta> + <!-- Add stylsheets --> + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='stylesheet']"> + <link rel="stylesheet" type="text/css"> + <xsl:attribute name="media"> + <xsl:value-of select="@qualifier"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="."/> + </xsl:attribute> + </link> + </xsl:for-each> + + <!-- Add syndication feeds --> + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='feed']"> + <link rel="alternate" type="application"> + <xsl:attribute name="type"> + <xsl:text>application/</xsl:text> + <xsl:value-of select="@qualifier"/> + </xsl:attribute> + <xsl:attribute name="href"> + <xsl:value-of select="."/> + </xsl:attribute> + </link> + </xsl:for-each> + + <!-- Add OpenSearch auto-discovery link --> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='opensearch'][@qualifier='shortName']"> + <link rel="search" type="application/opensearchdescription+xml"> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='scheme']"/> + <xsl:text>://</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='serverName']"/> + <xsl:text>:</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='serverPort']"/> + <xsl:value-of select="$context-path"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='opensearch'][@qualifier='autolink']"/> + </xsl:attribute> + <xsl:attribute name="title" > + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='opensearch'][@qualifier='shortName']"/> + </xsl:attribute> + </link> + </xsl:if> + + <!-- The following javascript removes the default text of empty text areas when they are focused on or submitted --> + <!-- There is also javascript to disable submitting a form when the 'enter' key is pressed. --> + <script type="text/javascript"> + //Clear default text of empty text areas on focus + function tFocus(element) + { + if (element.value == '<i18n:text>xmlui.dri2xhtml.default.textarea.value</i18n:text>'){element.value='';} + } + //Clear default text of empty text areas on submit + function tSubmit(form) + { + var defaultedElements = document.getElementsByTagName("textarea"); + for (var i=0; i != defaultedElements.length; i++){ + if (defaultedElements[i].value == '<i18n:text>xmlui.dri2xhtml.default.textarea.value</i18n:text>'){ + defaultedElements[i].value='';}} + } + //Disable pressing 'enter' key to submit a form (otherwise pressing 'enter' causes a submission to start over) + function disableEnterKey(e) + { + var key; + + if(window.event) + key = window.event.keyCode; //Internet Explorer + else + key = e.which; //Firefox and Netscape + + if(key == 13) //if "Enter" pressed, then disable! + return false; + else + return true; + } + + function FnArray() + { + this.funcs = new Array; + } + + FnArray.prototype.add = function(f) + { + if( typeof f!= "function" ) + { + f = new Function(f); + } + this.funcs[this.funcs.length] = f; + }; + + FnArray.prototype.execute = function() + { + for( var i=0; i <xsl:text disable-output-escaping="yes"><</xsl:text> this.funcs.length; i++ ) + { + this.funcs[i](); + } + }; + + var runAfterJSImports = new FnArray(); + </script> + + <!-- Modernizr enables HTML5 elements & feature detects --> + <script type="text/javascript"> + <xsl:attribute name="src"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/lib/js/modernizr-1.7.min.js</xsl:text> + </xsl:attribute> </script> + + <!-- Add the title in --> + <xsl:variable name="page_title" select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']" /> + <title> + <xsl:choose> + <xsl:when test="starts-with($request-uri, 'page/about')"> + <xsl:text>About This Repository</xsl:text> + </xsl:when> + <xsl:when test="not($page_title)"> + <xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of select="$page_title/node()" /> + </xsl:otherwise> + </xsl:choose> + </title> + + <!-- Head metadata in item pages --> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='xhtml_head_item']"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='xhtml_head_item']" + disable-output-escaping="yes"/> + </xsl:if> + + <!-- Add all Google Scholar Metadata values --> + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[substring(@element, 1, 9) = 'citation_']"> + <meta name="{@element}" content="{.}"></meta> + </xsl:for-each> + + </head> + </xsl:template> + + + <!-- The header (distinct from the HTML head element) contains the title, subtitle, login box and various + placeholders for header images --> + <xsl:template name="buildHeader"> + <div id="ds-header-wrapper"> + <div id="ds-header" class="clearfix"> + <a id="ds-header-logo-link"> + <xsl:attribute name="href"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/</xsl:text> + </xsl:attribute> + <span id="ds-header-logo"> </span> + <!-- <span id="ds-header-logo-text">mirage</span> --> + <span id="ds-header-logo-text"> </span> + </a> + <h1 class="pagetitle visuallyhidden"> + <xsl:choose> + <!-- protection against an empty page title --> + <xsl:when test="not(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title'])"> + <xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:copy-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='title']/node()"/> + </xsl:otherwise> + </xsl:choose> + + </h1> + <h2 class="static-pagetitle visuallyhidden"> + <i18n:text>xmlui.dri2xhtml.structural.head-subtitle</i18n:text> + </h2> + + + <xsl:choose> + <xsl:when test="/dri:document/dri:meta/dri:userMeta/@authenticated = 'yes'"> + <div id="ds-user-box"> + <p> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:userMeta/ + dri:metadata[@element='identifier' and @qualifier='url']"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.profile</i18n:text> + <xsl:value-of select="/dri:document/dri:meta/dri:userMeta/ + dri:metadata[@element='identifier' and @qualifier='firstName']"/> + <xsl:text> </xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:userMeta/ + dri:metadata[@element='identifier' and @qualifier='lastName']"/> + </a> + <xsl:text> | </xsl:text> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:userMeta/ + dri:metadata[@element='identifier' and @qualifier='logoutURL']"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.logout</i18n:text> + </a> + </p> + </div> + </xsl:when> + <xsl:otherwise> + <div id="ds-user-box"> + <p> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="/dri:document/dri:meta/dri:userMeta/ + dri:metadata[@element='identifier' and @qualifier='loginURL']"/> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.login</i18n:text> + </a> + </p> + </div> + </xsl:otherwise> + </xsl:choose> + + </div> + </div> + </xsl:template> + + + <!-- The header (distinct from the HTML head element) contains the title, subtitle, login box and various + placeholders for header images --> + <xsl:template name="buildTrail"> + <div id="ds-trail-wrapper"> + <ul id="ds-trail"> + <xsl:choose> + <xsl:when test="starts-with($request-uri, 'page/about')"> + <xsl:text>About This Repository</xsl:text> + </xsl:when> + <xsl:when test="count(/dri:document/dri:meta/dri:pageMeta/dri:trail) = 0"> + <li class="ds-trail-link first-link">-</li> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="/dri:document/dri:meta/dri:pageMeta/dri:trail"/> + </xsl:otherwise> + </xsl:choose> + </ul> + </div> + </xsl:template> + + <xsl:template match="dri:trail"> + <!--put an arrow between the parts of the trail--> + <xsl:if test="position()>1"> + <li class="ds-trail-arrow"> + <xsl:text>→</xsl:text> + </li> + </xsl:if> + <li> + <xsl:attribute name="class"> + <xsl:text>ds-trail-link </xsl:text> + <xsl:if test="position()=1"> + <xsl:text>first-link </xsl:text> + </xsl:if> + <xsl:if test="position()=last()"> + <xsl:text>last-link</xsl:text> + </xsl:if> + </xsl:attribute> + <!-- Determine whether we are dealing with a link or plain text trail link --> + <xsl:choose> + <xsl:when test="./@target"> + <a> + <xsl:attribute name="href"> + <xsl:value-of select="./@target"/> + </xsl:attribute> + <xsl:apply-templates /> + </a> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates /> + </xsl:otherwise> + </xsl:choose> + </li> + </xsl:template> + + <xsl:template name="cc-license"> + <xsl:param name="metadataURL"/> + <xsl:variable name="externalMetadataURL"> + <xsl:text>cocoon:/</xsl:text> + <xsl:value-of select="$metadataURL"/> + <xsl:text>?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL</xsl:text> + </xsl:variable> + + <xsl:variable name="ccLicenseName" + select="document($externalMetadataURL)//dim:field[@element='rights']" + /> + <xsl:variable name="ccLicenseUri" + select="document($externalMetadataURL)//dim:field[@element='rights'][@qualifier='uri']" + /> + <xsl:variable name="handleUri"> + <xsl:for-each select="document($externalMetadataURL)//dim:field[@element='identifier' and @qualifier='uri']"> + <a> + <xsl:attribute name="href"> + <xsl:copy-of select="./node()"/> + </xsl:attribute> + <xsl:copy-of select="./node()"/> + </a> + <xsl:if test="count(following-sibling::dim:field[@element='identifier' and @qualifier='uri']) != 0"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:if test="$ccLicenseName and $ccLicenseUri and contains($ccLicenseUri, 'creativecommons')"> + <div about="{$handleUri}" class="clearfix"> + <xsl:attribute name="style"> + <xsl:text>margin:0em 2em 0em 2em; padding-bottom:0em;</xsl:text> + </xsl:attribute> + <a rel="license" + href="{$ccLicenseUri}" + alt="{$ccLicenseName}" + title="{$ccLicenseName}" + > + <img> + <xsl:attribute name="src"> + <xsl:value-of select="concat($theme-path,'/images/cc-ship.gif')"/> + </xsl:attribute> + <xsl:attribute name="alt"> + <xsl:value-of select="$ccLicenseName"/> + </xsl:attribute> + <xsl:attribute name="style"> + <xsl:text>float:left; margin:0em 1em 0em 0em; border:none;</xsl:text> + </xsl:attribute> + </img> + </a> + <span> + <xsl:attribute name="style"> + <xsl:text>vertical-align:middle; text-indent:0 !important;</xsl:text> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.METS-1.0.cc-license-text</i18n:text> + <xsl:value-of select="$ccLicenseName"/> + </span> + </div> + </xsl:if> + </xsl:template> + + <!-- Like the header, the footer contains various miscellaneous text, links, and image placeholders --> + <xsl:template name="buildFooter"> + <div id="ds-footer-wrapper"> + <div id="ds-footer"> + <div> + <img id="ds-footer-banner" usemap="#banner-map"/> + <map id="banner-map" name="banner-map"> + <area shape="rect" alt="Universidade Federal do Rio de Janeiro" title="Universidade Federal do Rio de Janeiro" coords="17,40,170,83" href="http://www.ufrj.br/" target="_blank"/> + <area shape="rect" alt="Universidade Federal do Paraná" title="Universidade Federal do Paraná" coords="204,28,298,93" href="http://www.ufpr.br/" target="_blank"/> + <area shape="rect" alt="Secretaria Nacional de Juventude" title="Secretaria Nacional de Juventude" coords="417,43,544,86" href="http://www.juventude.gov.br/" target="_blank"/> + <area shape="rect" alt="Secretaria-Geral da Presidência da República" title="Secretaria-Geral da Presidência da República" coords="563,44,742,88" href="http://www.secretariageral.gov.br/" target="_blank"/> + <area shape="rect" alt="Portal Brasil" title="Portal Brasil" coords="763,28,968,98" href="http://www.brasil.gov.br/" target="_blank"/> + </map> + </div> +<!-- Original: + <div id="ds-footer-left"> + <a href="http://www.dspace.org/" target="_blank">DSpace software</a> copyright © 2002-2012  <a href="http://www.duraspace.org/" target="_blank">Duraspace</a> + </div> + <div id="ds-footer-right"> + <span class="theme-by">Theme by </span> + <a title="@mire NV" target="_blank" href="http://atmire.com" id="ds-footer-logo-link"> + <span id="ds-footer-logo"> </span> + </a> + </div> + <div id="ds-footer-links"> + <a> + <xsl:attribute name="href"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/contact</xsl:text> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.contact-link</i18n:text> + </a> + <xsl:text> | </xsl:text> + <a> + <xsl:attribute name="href"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/feedback</xsl:text> + </xsl:attribute> + <i18n:text>xmlui.dri2xhtml.structural.feedback-link</i18n:text> + </a> + </div> +--> + <!--Invisible link to HTML sitemap (for search engines) --> + <a class="hidden"> + <xsl:attribute name="href"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/htmlmap</xsl:text> + </xsl:attribute> + <xsl:text> </xsl:text> + </a> + </div> + </div> + </xsl:template> + + +<!-- + The meta, body, options elements; the three top-level elements in the schema +--> + + + + + <!-- + The template to handle the dri:body element. It simply creates the ds-body div and applies + templates of the body's child elements (which consists entirely of dri:div tags). + --> + <xsl:template match="dri:body"> + <div id="ds-body"> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='alert'][@qualifier='message']"> + <div id="ds-system-wide-alert"> + <p> + <xsl:copy-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='alert'][@qualifier='message']/node()"/> + </p> + </div> + </xsl:if> + + <!-- Check for the custom pages --> + <xsl:choose> + <xsl:when test="starts-with($request-uri, 'page/about')"> + <div> + <h1>About This Repository</h1> + <p>To add your own content to this page, edit webapps/xmlui/themes/Mirage/lib/xsl/core/page-structure.xsl and + add your own content to the title, trail, and body. If you wish to add additional pages, you + will need to create an additional xsl:when block and match the request-uri to whatever page + you are adding. Currently, static pages created through altering XSL are only available + under the URI prefix of page/.</p> + </div> + </xsl:when> + <!-- Otherwise use default handling of body --> + <xsl:otherwise> + <xsl:apply-templates /> + </xsl:otherwise> + </xsl:choose> + + </div> + </xsl:template> + + + <!-- Currently the dri:meta element is not parsed directly. Instead, parts of it are referenced from inside + other elements (like reference). The blank template below ends the execution of the meta branch --> + <xsl:template match="dri:meta"> + </xsl:template> + + <!-- Meta's children: userMeta, pageMeta, objectMeta and repositoryMeta may or may not have templates of + their own. This depends on the meta template implementation, which currently does not go this deep. + <xsl:template match="dri:userMeta" /> + <xsl:template match="dri:pageMeta" /> + <xsl:template match="dri:objectMeta" /> + <xsl:template match="dri:repositoryMeta" /> + --> + + <xsl:template name="addJavascript"> + <xsl:variable name="jqueryVersion"> + <xsl:text>1.6.2</xsl:text> + </xsl:variable> + + <xsl:variable name="protocol"> + <xsl:choose> + <xsl:when test="starts-with(confman:getProperty('dspace.baseUrl'), 'https://')"> + <xsl:text>https://</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>http://</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <script type="text/javascript" src="{concat($protocol, 'ajax.googleapis.com/ajax/libs/jquery/', $jqueryVersion ,'/jquery.min.js')}"> </script> + + <xsl:variable name="localJQuerySrc"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/static/js/jquery-</xsl:text> + <xsl:value-of select="$jqueryVersion"/> + <xsl:text>.min.js</xsl:text> + </xsl:variable> + + <script type="text/javascript"> + <xsl:text disable-output-escaping="yes">!window.jQuery && document.write('<script type="text/javascript" src="</xsl:text><xsl:value-of + select="$localJQuerySrc"/><xsl:text disable-output-escaping="yes">"> <\/script>')</xsl:text> + </script> + + + + <!-- Add theme javascipt --> + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='javascript'][@qualifier='url']"> + <script type="text/javascript"> + <xsl:attribute name="src"> + <xsl:value-of select="."/> + </xsl:attribute> </script> + </xsl:for-each> + + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='javascript'][not(@qualifier)]"> + <script type="text/javascript"> + <xsl:attribute name="src"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="."/> + </xsl:attribute> </script> + </xsl:for-each> + + <!-- add "shared" javascript from static, path is relative to webapp root --> + <xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='javascript'][@qualifier='static']"> + <!--This is a dirty way of keeping the scriptaculous stuff from choice-support + out of our theme without modifying the administrative and submission sitemaps. + This is obviously not ideal, but adding those scripts in those sitemaps is far + from ideal as well--> + <xsl:choose> + <xsl:when test="text() = 'static/js/choice-support.js'"> + <script type="text/javascript"> + <xsl:attribute name="src"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/lib/js/choice-support.js</xsl:text> + </xsl:attribute> </script> + </xsl:when> + <xsl:when test="not(starts-with(text(), 'static/js/scriptaculous'))"> + <script type="text/javascript"> + <xsl:attribute name="src"> + <xsl:value-of + select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="."/> + </xsl:attribute> </script> + </xsl:when> + </xsl:choose> + </xsl:for-each> + + <!-- add setup JS code if this is a choices lookup page --> + <xsl:if test="dri:body/dri:div[@n='lookup']"> + <xsl:call-template name="choiceLookupPopUpSetup"/> + </xsl:if> + + <!--PNG Fix for IE6--> + <xsl:text disable-output-escaping="yes"><!--[if lt IE 7 ]></xsl:text> + <script type="text/javascript"> + <xsl:attribute name="src"> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath'][not(@qualifier)]"/> + <xsl:text>/themes/</xsl:text> + <xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='theme'][@qualifier='path']"/> + <xsl:text>/lib/js/DD_belatedPNG_0.0.8a.js?v=1</xsl:text> + </xsl:attribute> </script> + <script type="text/javascript"> + <xsl:text>DD_belatedPNG.fix('#ds-header-logo');DD_belatedPNG.fix('#ds-footer-logo');$.each($('img[src$=png]'), function() {DD_belatedPNG.fixPng(this);});</xsl:text> + </script> + <xsl:text disable-output-escaping="yes" ><![endif]--></xsl:text> + + + <script type="text/javascript"> + runAfterJSImports.execute(); + </script> + + <!-- Add a google analytics script if the key is present --> + <xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='google'][@qualifier='analytics']"> + <script type="text/javascript"><xsl:text> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', '</xsl:text><xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='google'][@qualifier='analytics']"/><xsl:text>']); + _gaq.push(['_trackPageview']); + + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + </xsl:text></script> + </xsl:if> + </xsl:template> + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/utils.xsl b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/utils.xsl new file mode 100644 index 0000000000000000000000000000000000000000..97d54206e5b7af91eec2cf4fe8406164a3cb16ad --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/lib/xsl/core/utils.xsl @@ -0,0 +1,69 @@ +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<!-- + This stylesheet contains helper templates for things like i18n and standard attributes. + + Author: art.lowel at atmire.com + Author: lieven.droogmans at atmire.com + Author: ben at atmire.com + Author: Alexey Maslov + +--> + +<xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" + xmlns:dri="http://di.tamu.edu/DRI/1.0/" + xmlns:mets="http://www.loc.gov/METS/" + xmlns:xlink="http://www.w3.org/TR/xlink/" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" + xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" + xmlns:xhtml="http://www.w3.org/1999/xhtml" + xmlns:mods="http://www.loc.gov/mods/v3" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns="http://www.w3.org/1999/xhtml" + exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> + + <xsl:output indent="yes"/> + + <!--added classes to differentiate between collections, communities and items--> + <xsl:template match="dri:reference" mode="summaryList"> + <xsl:variable name="externalMetadataURL"> + <xsl:text>cocoon:/</xsl:text> + <xsl:value-of select="@url"/> + <!-- Since this is a summary only grab the descriptive metadata, and the thumbnails --> + <xsl:text>?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL</xsl:text> + <!-- An example of requesting a specific metadata standard (MODS and QDC crosswalks only work for items)-> + <xsl:if test="@type='DSpace Item'"> + <xsl:text>&dmdTypes=DC</xsl:text> + </xsl:if>--> + </xsl:variable> + <xsl:comment> External Metadata URL: <xsl:value-of select="$externalMetadataURL"/> </xsl:comment> + <li> + <xsl:attribute name="class"> + <xsl:text>ds-artifact-item </xsl:text> + <xsl:choose> + <xsl:when test="contains(@type, 'Community')"> + <xsl:text>community </xsl:text> + </xsl:when> + <xsl:when test="contains(@type, 'Collection')"> + <xsl:text>collection </xsl:text> + </xsl:when> + </xsl:choose> + <xsl:choose> + <xsl:when test="position() mod 2 = 0">even</xsl:when> + <xsl:otherwise>odd</xsl:otherwise> + </xsl:choose> + </xsl:attribute> + <xsl:apply-templates select="document($externalMetadataURL)" mode="summaryList"/> + <xsl:apply-templates /> + </li> + </xsl:template> + + +</xsl:stylesheet> diff --git a/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/sitemap.xmap b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/sitemap.xmap new file mode 100644 index 0000000000000000000000000000000000000000..4bfb9021d902c8f6187072c627dc9e9923b846de --- /dev/null +++ b/dspace/modules/xmlui/src/main/webapp/themes/Participatorio/sitemap.xmap @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + The contents of this file are subject to the license and copyright + detailed in the LICENSE and NOTICE files at the root of the source + tree and available online at + + http://www.dspace.org/license/ + +--> +<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> + + <map:components> + <map:readers> + <map:reader name="ConcatenationReader" src="org.dspace.app.xmlui.cocoon.ConcatenationReader"/> + </map:readers> + </map:components> + + <map:pipelines> + + <!-- + Define global theme variables that are used later in this + sitemap. Two variables are typically defined here, the theme's + path and name. The path is the directory name where this theme + is located, such as "Reference" for the reference theme. The + theme's name is used only for descriptive purposes to describe + the theme. + --> + <map:component-configurations> + <global-variables> + <theme-path>Participatorio</theme-path> + <theme-name>Participatorio</theme-name> + </global-variables> + </map:component-configurations> + + + <map:pipeline> + <!-- Allow the browser to cache static content for an hour --> + <map:parameter name="expires" value="access plus 1 hours"/> + + + <!-- handle static js and css --> + <map:match pattern="themes/*/**.js"> + <map:read type="ConcatenationReader" src="{2}.js"> + <map:parameter name="requestQueryString" value="{request:queryString}"/> + </map:read> + </map:match> + <map:match pattern="themes/*/**.css"> + <map:read type="ConcatenationReader" src="{2}.css"> + <map:parameter name="requestQueryString" value="{request:queryString}"/> + </map:read> + </map:match> + <map:match pattern="themes/*/**.json"> + <map:read type="ConcatenationReader" src="{2}.json"> + <map:parameter name="requestQueryString" value="{request:queryString}"/> + </map:read> + </map:match> + + <!-- Static content --> + <map:match pattern="themes/*/**"> + <map:read src="{2}"/> + </map:match> + </map:pipeline> + + <!-- + The theme's pipeline is used to process all requests handled + by the theme. It is broken up into two parts, the first part + handles all static theme content while the second part handle + all dynamic aspect generated content. The static content is + such things as stylesheets, images, or static pages. Typically + these are just stored on disk and passed directly to the + browser without any processing. + --> + <map:pipeline> + <!-- Never allow the browser to cache dynamic content --> + <map:parameter name="expires" value="now"/> + + <!-- Aspect content + + There are five steps to processing aspect content: + + 1: Generate the DRI page + + The first step is to generate a DRI page for the request; + this is handled by the aspect chain. Once it is generated + it is the beginning of a theme's pipeline, the DRI page is + ultimately transformed in the resulting XHTML that is + given to the user's browser. + + 2: Add page metadata + + The next step is to add theme specific metadata to the + DRI page. This is metadata about where the theme is + located and its name. Typically this metadata is different + depending on the users browser, this allows us to give + different stylesheets to Internet Explorer than for other + browsers. + + 3: Transform to XHTML + + The third step is the main component of a theme the XSL + transformations will turn the DRI page from the aspects + into an XHTML page useable by browsers. + + 4: Localize the page + + The second to last step is to localize the content for the + particular user, if they user is requesting a page in a + particular language then those language strings are inserted + into the resulting XHTML. + + 5: Serialize to the browser + + The last step sends the page to the user's browser. + + --> + <map:match pattern="**"> + + <!-- Step 1: Generate the DRI page --> + <map:generate type="file" src="cocoon://DRI/{1}"/> + + <!-- Step 2 Add page metadata --> + + <!--3 different IncludePageMeta transformers to ensure that the + stylesheets end up in the correct order--> + <map:transform type="IncludePageMeta"> + <map:parameter name="stylesheet.screen#1" value="lib/css/reset.css"/> + <map:parameter name="stylesheet.screen#2" value="lib/css/base.css"/> + <map:parameter name="stylesheet.screen#3" value="lib/css/helper.css"/> + <map:parameter name="stylesheet.screen#4" value="lib/css/jquery-ui-1.8.15.custom.css"/> + <map:parameter name="stylesheet.screen#5" value="lib/css/style.css"/> + <map:parameter name="stylesheet.screen#6" value="lib/css/authority-control.css"/> + </map:transform> + + <map:transform type="IncludePageMeta"> + <map:parameter name="stylesheet.handheld" value="lib/css/handheld.css"/> + <map:parameter name="stylesheet.print" value="lib/css/print.css"/> + </map:transform> + + <map:transform type="IncludePageMeta"> + <map:parameter name="stylesheet.all" value="lib/css/media.css"/> + <map:parameter name="javascript" value="lib/js/jquery-ui-1.8.15.custom.min.js"/> + <map:parameter name="theme.path" value="{global:theme-path}"/> + <map:parameter name="theme.name" value="{global:theme-name}"/> + </map:transform> + + <!-- Debuging output --> + <map:match type="request" pattern="XML"> + <map:serialize type="xml"/> + </map:match> + + <!-- Step 3: Transform to XHTML --> + <map:transform src="Participatorio.xsl"/> + + + <!-- Step 4: Localize the page --> + <map:act type="locale"> + <map:transform type="i18n"> + <map:parameter name="locale" value="{locale}"/> + </map:transform> + </map:act> + + <!-- Step 5: Serialize to the browser --> + <map:serialize type="xhtml"/> + + </map:match> + </map:pipeline> + </map:pipelines> +</map:sitemap>